-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Amazon CodeDeploy SDK.
--   
--   The types from this library are intended to be used with
--   <a>amazonka</a>, which provides mechanisms for specifying AuthN/AuthZ
--   information, sending requests, and receiving responses.
--   
--   Lenses are used for constructing and manipulating types, due to the
--   depth of nesting of AWS types and transparency regarding
--   de/serialisation into more palatable Haskell values. The provided
--   lenses should be compatible with any of the major lens libraries such
--   as <a>lens</a> or <a>lens-family-core</a>.
--   
--   See <a>Network.AWS.CodeDeploy</a> or <a>the AWS documentation</a> to
--   get started.
@package amazonka-codedeploy
@version 1.6.0


module Network.AWS.CodeDeploy.Types

-- | API version <tt>2014-10-06</tt> of the Amazon CodeDeploy SDK
--   configuration.
codeDeploy :: Service

-- | The limit for lifecycle hooks was exceeded.
_LifecycleHookLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified time range was specified in an invalid format.
_InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The computePlatform is invalid. The computePlatform should be
--   <tt>Lambda</tt> or <tt>Server</tt> .
_InvalidComputePlatformException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified tag was specified in an invalid format.
_InvalidTagException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid fileExistsBehavior option was specified to determine how
--   AWS CodeDeploy handles files or directories that already exist in a
--   deployment target location but weren't part of the previous successful
--   deployment. Valid values include <a>DISALLOW</a>, <a>OVERWRITE</a>,
--   and <a>RETAIN</a>.
_InvalidFileExistsBehaviorException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The format of the alarm configuration is invalid. Possible causes
--   include:
--   
--   <ul>
--   <li>The alarm list is null.</li>
--   <li>The alarm object is null.</li>
--   <li>The alarm name is empty or null or exceeds the 255 character
--   limit.</li>
--   <li>Two alarms with the same name have been specified.</li>
--   <li>The alarm configuration is enabled but the alarm list is
--   empty.</li>
--   </ul>
_InvalidAlarmConfigException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified on-premises instance name is already registered.
_InstanceNameAlreadyRegisteredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An IAM user ARN was not specified.
_IAMUserARNRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment group name was specified in an invalid format.
_InvalidDeploymentGroupNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid instance type was specified for instances in a blue/green
--   deployment. Valid values include <a>Blue</a> for an original
--   environment and <a>Green</a> for a replacement environment.
_InvalidInstanceTypeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request included an IAM session ARN that has already been used to
--   register a different instance.
_IAMSessionARNAlreadyRegisteredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The configuration that specifies how traffic is routed during a
--   deployment is invalid.
_InvalidTrafficRoutingConfigurationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The description is too long.
_DescriptionTooLongException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The IAM user ARN was specified in an invalid format.
_InvalidIAMUserARNException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A call was submitted that specified both OnPremisesTagFilters and
--   OnPremisesTagSet, but only one of these data types can be used in a
--   single call.
_InvalidOnPremisesTagCombinationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified deployment has not started.
_DeploymentNotStartedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment configurations limit was exceeded.
_DeploymentConfigLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The role ID was not specified.
_RoleRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid load balancer name, or no load balancer name, was
--   specified.
_InvalidLoadBalancerInfoException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The configuration for the blue/green deployment group was provided in
--   an invalid format. For information about deployment configuration
--   format, see <tt>CreateDeploymentConfig</tt> .
_InvalidBlueGreenDeploymentConfigurationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The service role ARN was specified in an invalid format. Or, if an
--   Auto Scaling group was specified, the specified service role does not
--   grant the appropriate permissions to Auto Scaling.
_InvalidRoleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A deployment configuration with the specified name already exists with
--   the applicable IAM user or AWS account.
_DeploymentConfigAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The target instance configuration is invalid. Possible causes include:
--   
--   <ul>
--   <li>Configuration data for target instances was entered for an
--   in-place deployment.</li>
--   <li>The limit of 10 tags for a tag type was exceeded.</li>
--   <li>The combined length of the tag names exceeded the limit.</li>
--   <li>A specified tag is not currently applied to any instances.</li>
--   </ul>
_InvalidTargetInstancesException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of allowed deployments was exceeded.
_DeploymentLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified IAM user ARN is already registered with an on-premises
--   instance.
_IAMUserARNAlreadyRegisteredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The IAM session ARN was specified in an invalid format.
_InvalidIAMSessionARNException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum number of allowed on-premises instances in a single call
--   was exceeded.
_InstanceLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A lifecycle event hook is invalid. Review the <tt>hooks</tt> section
--   in your AppSpec file to ensure the lifecycle events and <tt>hooks</tt>
--   functions are valid.
_InvalidLifecycleEventHookExecutionIdException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid deployment style was specified. Valid deployment types
--   include <a>IN_PLACE</a> and <a>BLUE_GREEN</a>. Valid deployment
--   options include <a>WITH_TRAFFIC_CONTROL</a> and
--   <a>WITHOUT_TRAFFIC_CONTROL</a>.
_InvalidDeploymentStyleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployed state filter was specified in an invalid format.
_InvalidDeployedStateFilterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The Auto Scaling group was specified in an invalid format or does not
--   exist.
_InvalidAutoScalingGroupException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The application name was specified in an invalid format.
_InvalidApplicationNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | No GitHub account connection exists with the named specified in the
--   call.
_GitHubAccountTokenDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The application does not exist with the applicable IAM user or AWS
--   account.
_ApplicationDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The minimum healthy instance value was specified in an invalid format.
_InvalidMinimumHealthyHostValueException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A call was submitted that is not supported for the specified
--   deployment type.
_UnsupportedActionForDeploymentTypeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource could not be validated.
_ResourceValidationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The GitHub token is not valid.
_InvalidGitHubAccountTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A call was submitted that specified both Ec2TagFilters and Ec2TagSet,
--   but only one of these data types can be used in a single call.
_InvalidEC2TagCombinationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The result of a Lambda validation function that verifies a lifecycle
--   event is invalid. It should return <tt>Succeeded</tt> or
--   <tt>Failed</tt> .
_InvalidLifecycleEventHookExecutionStatusException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum number of alarms for a deployment group (10) was exceeded.
_AlarmsLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The API used does not support the deployment.
_OperationNotSupportedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified tag filter was specified in an invalid format.
_InvalidTagFilterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The trigger was specified in an invalid format.
_InvalidTriggerConfigException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The IgnoreApplicationStopFailures value is invalid. For AWS Lambda
--   deployments, <tt>false</tt> is expected. For EC2/On-premises
--   deployments, <tt>true</tt> or <tt>false</tt> is expected.
_InvalidIgnoreApplicationStopFailuresValueException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The UpdateOutdatedInstancesOnly value is invalid. For AWS Lambda
--   deployments, <tt>false</tt> is expected. For EC2/On-premises
--   deployments, <tt>true</tt> or <tt>false</tt> is expected.
_InvalidUpdateOutdatedInstancesOnlyValueException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A tag was not specified.
_TagRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment group name was not specified.
_DeploymentGroupNameRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A bucket name is required, but was not provided.
_BucketNameFilterRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment configuration does not exist with the applicable IAM
--   user or AWS account.
_DeploymentConfigDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The bucket name either doesn't exist or was specified in an invalid
--   format.
_InvalidBucketNameFilterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A deployment group with the specified name already exists with the
--   applicable IAM user or AWS account.
_DeploymentGroupAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The column name to sort by is either not present or was specified in
--   an invalid format.
_InvalidSortByException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The named revision does not exist with the applicable IAM user or AWS
--   account.
_RevisionDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment groups limit was exceeded.
_DeploymentGroupLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The named deployment group does not exist with the applicable IAM user
--   or AWS account.
_DeploymentGroupDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An API function was called too frequently.
_ThrottlingException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment configuration name was specified in an invalid format.
_InvalidDeploymentConfigNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment configuration name was not specified.
_DeploymentConfigNameRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | At least one deployment ID must be specified.
_DeploymentIdRequiredException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidInstanceIdException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment does not have a status of Ready and can't continue yet.
_DeploymentIsNotInReadyStateException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The next token was specified in an invalid format.
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The instance ID was not specified.
_InstanceIdRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | At least one of the deployment IDs was specified in an invalid format.
_InvalidDeploymentIdException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The sort order was specified in an invalid format.
_InvalidSortOrderException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The automatic rollback configuration was specified in an invalid
--   format. For example, automatic rollback is enabled but an invalid
--   triggering event type or no event types were listed.
_InvalidAutoRollbackConfigException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment is already complete.
_DeploymentAlreadyCompletedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment does not exist with the applicable IAM user or AWS
--   account.
_DeploymentDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum number of names or IDs allowed for this request (100) was
--   exceeded.
_BatchLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The revision was specified in an invalid format.
_InvalidRevisionException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The revision ID was not specified.
_RevisionRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified instance does not exist in the deployment group.
_InstanceDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment configuration is still in use.
_DeploymentConfigInUseException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified input was specified in an invalid format.
_InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The tag was specified in an invalid format.
_InvalidEC2TagException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified on-premises instance name was specified in an invalid
--   format.
_InvalidInstanceNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An on-premises instance name was not specified.
_InstanceNameRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Both an IAM user ARN and an IAM session ARN were included in the
--   request. Use only one ARN type.
_MultipleIAMARNsProvidedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum allowed number of triggers was exceeded.
_TriggerTargetsLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified deployment status doesn't exist or cannot be determined.
_InvalidDeploymentStatusException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The registration status was specified in an invalid format.
_InvalidRegistrationStatusException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The minimum number of required application names was not specified.
_ApplicationNameRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified on-premises instance is not registered.
_InstanceNotRegisteredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An application with the specified name already exists with the
--   applicable IAM user or AWS account.
_ApplicationAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified instance status does not exist.
_InvalidInstanceStatusException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum allowed number of tags was exceeded.
_TagLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | More applications were attempted to be created than are allowed.
_ApplicationLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of tag groups included in the tag set list exceeded the
--   maximum allowed limit of 3.
_TagSetListLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid operation was detected.
_InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The call is missing a required GitHub account connection name.
_GitHubAccountTokenNameRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An instance type was specified for an in-place deployment. Instance
--   types are supported for blue/green deployments only.
_InvalidDeploymentInstanceTypeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | No IAM ARN was included in the request. You must use an IAM session
--   ARN or IAM user ARN in the request.
_IAMARNRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The format of the specified GitHub account connection name is invalid.
_InvalidGitHubAccountTokenNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An attempt to return the status of an already completed lifecycle
--   event occurred.
_LifecycleEventAlreadyCompletedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified key prefix filter was specified in an invalid format.
_InvalidKeyPrefixFilterException :: AsError a => Getting (First ServiceError) a ServiceError
data ApplicationRevisionSortBy
FirstUsedTime :: ApplicationRevisionSortBy
LastUsedTime :: ApplicationRevisionSortBy
RegisterTime :: ApplicationRevisionSortBy
data AutoRollbackEvent
AREDeploymentFailure :: AutoRollbackEvent
AREDeploymentStopOnAlarm :: AutoRollbackEvent
AREDeploymentStopOnRequest :: AutoRollbackEvent
data BundleType
JSON :: BundleType
TAR :: BundleType
TGZ :: BundleType
Yaml :: BundleType
Zip :: BundleType
data ComputePlatform
Lambda :: ComputePlatform
Server :: ComputePlatform
data DeployErrorCode
AgentIssue :: DeployErrorCode
AlarmActive :: DeployErrorCode
ApplicationMissing :: DeployErrorCode
AutoScalingConfiguration :: DeployErrorCode
AutoScalingIAMRolePermissions :: DeployErrorCode
DeploymentGroupMissing :: DeployErrorCode
ElasticLoadBalancingInvalid :: DeployErrorCode
ElbInvalidInstance :: DeployErrorCode
HealthConstraints :: DeployErrorCode
HealthConstraintsInvalid :: DeployErrorCode
HookExecutionFailure :: DeployErrorCode
IAMRoleMissing :: DeployErrorCode
IAMRolePermissions :: DeployErrorCode
InternalError :: DeployErrorCode
InvalidLambdaConfiguration :: DeployErrorCode
InvalidLambdaFunction :: DeployErrorCode
ManualStop :: DeployErrorCode
MissingBlueGreenDeploymentConfiguration :: DeployErrorCode
MissingElbInformation :: DeployErrorCode
MissingGithubToken :: DeployErrorCode
NoEC2Subscription :: DeployErrorCode
NoInstances :: DeployErrorCode
OverMaxInstances :: DeployErrorCode
RevisionMissing :: DeployErrorCode
Throttled :: DeployErrorCode
Timeout :: DeployErrorCode
data DeploymentCreator
Autoscaling :: DeploymentCreator
CodeDeployRollback :: DeploymentCreator
User :: DeploymentCreator
data DeploymentOption
WithTrafficControl :: DeploymentOption
WithoutTrafficControl :: DeploymentOption
data DeploymentReadyAction
ContinueDeployment :: DeploymentReadyAction
StopDeployment :: DeploymentReadyAction
data DeploymentStatus
Created :: DeploymentStatus
Failed :: DeploymentStatus
InProgress :: DeploymentStatus
Queued :: DeploymentStatus
Ready :: DeploymentStatus
Stopped :: DeploymentStatus
Succeeded :: DeploymentStatus
data DeploymentType
BlueGreen :: DeploymentType
InPlace :: DeploymentType
data EC2TagFilterType
KeyAndValue :: EC2TagFilterType
KeyOnly :: EC2TagFilterType
ValueOnly :: EC2TagFilterType
data FileExistsBehavior
Disallow :: FileExistsBehavior
Overwrite :: FileExistsBehavior
Retain :: FileExistsBehavior
data GreenFleetProvisioningAction
CopyAutoScalingGroup :: GreenFleetProvisioningAction
DiscoverExisting :: GreenFleetProvisioningAction
data InstanceAction
KeepAlive :: InstanceAction
Terminate :: InstanceAction
data InstanceStatus
ISFailed :: InstanceStatus
ISInProgress :: InstanceStatus
ISPending :: InstanceStatus
ISReady :: InstanceStatus
ISSkipped :: InstanceStatus
ISSucceeded :: InstanceStatus
ISUnknown :: InstanceStatus
data InstanceType
Blue :: InstanceType
Green :: InstanceType
data LifecycleErrorCode
ScriptFailed :: LifecycleErrorCode
ScriptMissing :: LifecycleErrorCode
ScriptNotExecutable :: LifecycleErrorCode
ScriptTimedOut :: LifecycleErrorCode
Success :: LifecycleErrorCode
UnknownError :: LifecycleErrorCode
data LifecycleEventStatus
LESFailed :: LifecycleEventStatus
LESInProgress :: LifecycleEventStatus
LESPending :: LifecycleEventStatus
LESSkipped :: LifecycleEventStatus
LESSucceeded :: LifecycleEventStatus
LESUnknown :: LifecycleEventStatus
data ListStateFilterAction
Exclude :: ListStateFilterAction
Ignore :: ListStateFilterAction
Include :: ListStateFilterAction
data MinimumHealthyHostsType
FleetPercent :: MinimumHealthyHostsType
HostCount :: MinimumHealthyHostsType
data RegistrationStatus
Deregistered :: RegistrationStatus
Registered :: RegistrationStatus
data RevisionLocationType
GitHub :: RevisionLocationType
S3 :: RevisionLocationType
String :: RevisionLocationType
data SortOrder
Ascending :: SortOrder
Descending :: SortOrder
data StopStatus
SSPending :: StopStatus
SSSucceeded :: StopStatus
data TagFilterType
TFTKeyAndValue :: TagFilterType
TFTKeyOnly :: TagFilterType
TFTValueOnly :: TagFilterType
data TrafficRoutingType
AllAtOnce :: TrafficRoutingType
TimeBasedCanary :: TrafficRoutingType
TimeBasedLinear :: TrafficRoutingType
data TriggerEventType
DeploymentFailure :: TriggerEventType
DeploymentReady :: TriggerEventType
DeploymentRollback :: TriggerEventType
DeploymentStart :: TriggerEventType
DeploymentStop :: TriggerEventType
DeploymentSuccess :: TriggerEventType
InstanceFailure :: TriggerEventType
InstanceReady :: TriggerEventType
InstanceStart :: TriggerEventType
InstanceSuccess :: TriggerEventType

-- | Information about an alarm.
--   
--   <i>See:</i> <a>alarm</a> smart constructor.
data Alarm

-- | Creates a value of <a>Alarm</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aName</a> - The name of the alarm. Maximum length is 255
--   characters. Each alarm name can be used only once in a list of
--   alarms.</li>
--   </ul>
alarm :: Alarm

-- | The name of the alarm. Maximum length is 255 characters. Each alarm
--   name can be used only once in a list of alarms.
aName :: Lens' Alarm (Maybe Text)

-- | Information about alarms associated with the deployment group.
--   
--   <i>See:</i> <a>alarmConfiguration</a> smart constructor.
data AlarmConfiguration

-- | Creates a value of <a>AlarmConfiguration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acIgnorePollAlarmFailure</a> - Indicates whether a deployment
--   should continue if information about the current state of alarms
--   cannot be retrieved from Amazon CloudWatch. The default value is
--   false. * true: The deployment will proceed even if alarm status
--   information can't be retrieved from Amazon CloudWatch. * false: The
--   deployment will stop if alarm status information can't be retrieved
--   from Amazon CloudWatch.</li>
--   <li><a>acEnabled</a> - Indicates whether the alarm configuration is
--   enabled.</li>
--   <li><a>acAlarms</a> - A list of alarms configured for the deployment
--   group. A maximum of 10 alarms can be added to a deployment group.</li>
--   </ul>
alarmConfiguration :: AlarmConfiguration

-- | Indicates whether a deployment should continue if information about
--   the current state of alarms cannot be retrieved from Amazon
--   CloudWatch. The default value is false. * true: The deployment will
--   proceed even if alarm status information can't be retrieved from
--   Amazon CloudWatch. * false: The deployment will stop if alarm status
--   information can't be retrieved from Amazon CloudWatch.
acIgnorePollAlarmFailure :: Lens' AlarmConfiguration (Maybe Bool)

-- | Indicates whether the alarm configuration is enabled.
acEnabled :: Lens' AlarmConfiguration (Maybe Bool)

-- | A list of alarms configured for the deployment group. A maximum of 10
--   alarms can be added to a deployment group.
acAlarms :: Lens' AlarmConfiguration [Alarm]

-- | Information about an application.
--   
--   <i>See:</i> <a>applicationInfo</a> smart constructor.
data ApplicationInfo

-- | Creates a value of <a>ApplicationInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aiLinkedToGitHub</a> - True if the user has authenticated with
--   GitHub for the specified application; otherwise, false.</li>
--   <li><a>aiComputePlatform</a> - The destination platform type for
--   deployment of the application (<tt>Lambda</tt> or <tt>Server</tt>
--   ).</li>
--   <li><a>aiApplicationId</a> - The application ID.</li>
--   <li><a>aiApplicationName</a> - The application name.</li>
--   <li><a>aiGitHubAccountName</a> - The name for a connection to a GitHub
--   account.</li>
--   <li><a>aiCreateTime</a> - The time at which the application was
--   created.</li>
--   </ul>
applicationInfo :: ApplicationInfo

-- | True if the user has authenticated with GitHub for the specified
--   application; otherwise, false.
aiLinkedToGitHub :: Lens' ApplicationInfo (Maybe Bool)

-- | The destination platform type for deployment of the application
--   (<tt>Lambda</tt> or <tt>Server</tt> ).
aiComputePlatform :: Lens' ApplicationInfo (Maybe ComputePlatform)

-- | The application ID.
aiApplicationId :: Lens' ApplicationInfo (Maybe Text)

-- | The application name.
aiApplicationName :: Lens' ApplicationInfo (Maybe Text)

-- | The name for a connection to a GitHub account.
aiGitHubAccountName :: Lens' ApplicationInfo (Maybe Text)

-- | The time at which the application was created.
aiCreateTime :: Lens' ApplicationInfo (Maybe UTCTime)

-- | Information about a configuration for automatically rolling back to a
--   previous version of an application revision when a deployment doesn't
--   complete successfully.
--   
--   <i>See:</i> <a>autoRollbackConfiguration</a> smart constructor.
data AutoRollbackConfiguration

-- | Creates a value of <a>AutoRollbackConfiguration</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arcEnabled</a> - Indicates whether a defined automatic rollback
--   configuration is currently enabled.</li>
--   <li><a>arcEvents</a> - The event type or types that trigger a
--   rollback.</li>
--   </ul>
autoRollbackConfiguration :: AutoRollbackConfiguration

-- | Indicates whether a defined automatic rollback configuration is
--   currently enabled.
arcEnabled :: Lens' AutoRollbackConfiguration (Maybe Bool)

-- | The event type or types that trigger a rollback.
arcEvents :: Lens' AutoRollbackConfiguration [AutoRollbackEvent]

-- | Information about an Auto Scaling group.
--   
--   <i>See:</i> <a>autoScalingGroup</a> smart constructor.
data AutoScalingGroup

-- | Creates a value of <a>AutoScalingGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asgHook</a> - An Auto Scaling lifecycle event hook name.</li>
--   <li><a>asgName</a> - The Auto Scaling group name.</li>
--   </ul>
autoScalingGroup :: AutoScalingGroup

-- | An Auto Scaling lifecycle event hook name.
asgHook :: Lens' AutoScalingGroup (Maybe Text)

-- | The Auto Scaling group name.
asgName :: Lens' AutoScalingGroup (Maybe Text)

-- | Information about blue/green deployment options for a deployment
--   group.
--   
--   <i>See:</i> <a>blueGreenDeploymentConfiguration</a> smart constructor.
data BlueGreenDeploymentConfiguration

-- | Creates a value of <a>BlueGreenDeploymentConfiguration</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgdcDeploymentReadyOption</a> - Information about the action to
--   take when newly provisioned instances are ready to receive traffic in
--   a blue/green deployment.</li>
--   <li><a>bgdcGreenFleetProvisioningOption</a> - Information about how
--   instances are provisioned for a replacement environment in a
--   blue/green deployment.</li>
--   <li><a>bgdcTerminateBlueInstancesOnDeploymentSuccess</a> - Information
--   about whether to terminate instances in the original fleet during a
--   blue/green deployment.</li>
--   </ul>
blueGreenDeploymentConfiguration :: BlueGreenDeploymentConfiguration

-- | Information about the action to take when newly provisioned instances
--   are ready to receive traffic in a blue/green deployment.
bgdcDeploymentReadyOption :: Lens' BlueGreenDeploymentConfiguration (Maybe DeploymentReadyOption)

-- | Information about how instances are provisioned for a replacement
--   environment in a blue/green deployment.
bgdcGreenFleetProvisioningOption :: Lens' BlueGreenDeploymentConfiguration (Maybe GreenFleetProvisioningOption)

-- | Information about whether to terminate instances in the original fleet
--   during a blue/green deployment.
bgdcTerminateBlueInstancesOnDeploymentSuccess :: Lens' BlueGreenDeploymentConfiguration (Maybe BlueInstanceTerminationOption)

-- | Information about whether instances in the original environment are
--   terminated when a blue/green deployment is successful.
--   
--   <i>See:</i> <a>blueInstanceTerminationOption</a> smart constructor.
data BlueInstanceTerminationOption

-- | Creates a value of <a>BlueInstanceTerminationOption</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bitoAction</a> - The action to take on instances in the
--   original environment after a successful blue/green deployment. *
--   TERMINATE: Instances are terminated after a specified wait time. *
--   KEEP_ALIVE: Instances are left running after they are deregistered
--   from the load balancer and removed from the deployment group.</li>
--   <li><a>bitoTerminationWaitTimeInMinutes</a> - The number of minutes to
--   wait after a successful blue/green deployment before terminating
--   instances from the original environment.</li>
--   </ul>
blueInstanceTerminationOption :: BlueInstanceTerminationOption

-- | The action to take on instances in the original environment after a
--   successful blue/green deployment. * TERMINATE: Instances are
--   terminated after a specified wait time. * KEEP_ALIVE: Instances are
--   left running after they are deregistered from the load balancer and
--   removed from the deployment group.
bitoAction :: Lens' BlueInstanceTerminationOption (Maybe InstanceAction)

-- | The number of minutes to wait after a successful blue/green deployment
--   before terminating instances from the original environment.
bitoTerminationWaitTimeInMinutes :: Lens' BlueInstanceTerminationOption (Maybe Int)

-- | Information about a deployment configuration.
--   
--   <i>See:</i> <a>deploymentConfigInfo</a> smart constructor.
data DeploymentConfigInfo

-- | Creates a value of <a>DeploymentConfigInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dciDeploymentConfigName</a> - The deployment configuration
--   name.</li>
--   <li><a>dciComputePlatform</a> - The destination platform type for the
--   deployment (<tt>Lambda</tt> or <tt>Server</tt> ).</li>
--   <li><a>dciMinimumHealthyHosts</a> - Information about the number or
--   percentage of minimum healthy instance.</li>
--   <li><a>dciTrafficRoutingConfig</a> - The configuration specifying how
--   the deployment traffic will be routed. Only deployments with a Lambda
--   compute platform can specify this.</li>
--   <li><a>dciDeploymentConfigId</a> - The deployment configuration
--   ID.</li>
--   <li><a>dciCreateTime</a> - The time at which the deployment
--   configuration was created.</li>
--   </ul>
deploymentConfigInfo :: DeploymentConfigInfo

-- | The deployment configuration name.
dciDeploymentConfigName :: Lens' DeploymentConfigInfo (Maybe Text)

-- | The destination platform type for the deployment (<tt>Lambda</tt> or
--   <tt>Server</tt> ).
dciComputePlatform :: Lens' DeploymentConfigInfo (Maybe ComputePlatform)

-- | Information about the number or percentage of minimum healthy
--   instance.
dciMinimumHealthyHosts :: Lens' DeploymentConfigInfo (Maybe MinimumHealthyHosts)

-- | The configuration specifying how the deployment traffic will be
--   routed. Only deployments with a Lambda compute platform can specify
--   this.
dciTrafficRoutingConfig :: Lens' DeploymentConfigInfo (Maybe TrafficRoutingConfig)

-- | The deployment configuration ID.
dciDeploymentConfigId :: Lens' DeploymentConfigInfo (Maybe Text)

-- | The time at which the deployment configuration was created.
dciCreateTime :: Lens' DeploymentConfigInfo (Maybe UTCTime)

-- | Information about a deployment group.
--   
--   <i>See:</i> <a>deploymentGroupInfo</a> smart constructor.
data DeploymentGroupInfo

-- | Creates a value of <a>DeploymentGroupInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dgiServiceRoleARN</a> - A service role ARN.</li>
--   <li><a>dgiEc2TagSet</a> - Information about groups of tags applied to
--   an EC2 instance. The deployment group includes only EC2 instances
--   identified by all the tag groups. Cannot be used in the same call as
--   ec2TagFilters.</li>
--   <li><a>dgiDeploymentConfigName</a> - The deployment configuration
--   name.</li>
--   <li><a>dgiLastAttemptedDeployment</a> - Information about the most
--   recent attempted deployment to the deployment group.</li>
--   <li><a>dgiOnPremisesTagSet</a> - Information about groups of tags
--   applied to an on-premises instance. The deployment group includes only
--   on-premises instances identified by all the tag groups. Cannot be used
--   in the same call as onPremisesInstanceTagFilters.</li>
--   <li><a>dgiComputePlatform</a> - The destination platform type for the
--   deployment group (<tt>Lambda</tt> or <tt>Server</tt> ).</li>
--   <li><a>dgiTargetRevision</a> - Information about the deployment
--   group's target revision, including type and location.</li>
--   <li><a>dgiEc2TagFilters</a> - The Amazon EC2 tags on which to filter.
--   The deployment group includes EC2 instances with any of the specified
--   tags.</li>
--   <li><a>dgiBlueGreenDeploymentConfiguration</a> - Information about
--   blue/green deployment options for a deployment group.</li>
--   <li><a>dgiLoadBalancerInfo</a> - Information about the load balancer
--   to use in a deployment.</li>
--   <li><a>dgiOnPremisesInstanceTagFilters</a> - The on-premises instance
--   tags on which to filter. The deployment group includes on-premises
--   instances with any of the specified tags.</li>
--   <li><a>dgiLastSuccessfulDeployment</a> - Information about the most
--   recent successful deployment to the deployment group.</li>
--   <li><a>dgiApplicationName</a> - The application name.</li>
--   <li><a>dgiAlarmConfiguration</a> - A list of alarms associated with
--   the deployment group.</li>
--   <li><a>dgiTriggerConfigurations</a> - Information about triggers
--   associated with the deployment group.</li>
--   <li><a>dgiDeploymentGroupId</a> - The deployment group ID.</li>
--   <li><a>dgiAutoScalingGroups</a> - A list of associated Auto Scaling
--   groups.</li>
--   <li><a>dgiDeploymentStyle</a> - Information about the type of
--   deployment, either in-place or blue/green, you want to run and whether
--   to route deployment traffic behind a load balancer.</li>
--   <li><a>dgiAutoRollbackConfiguration</a> - Information about the
--   automatic rollback configuration associated with the deployment
--   group.</li>
--   <li><a>dgiDeploymentGroupName</a> - The deployment group name.</li>
--   </ul>
deploymentGroupInfo :: DeploymentGroupInfo

-- | A service role ARN.
dgiServiceRoleARN :: Lens' DeploymentGroupInfo (Maybe Text)

-- | Information about groups of tags applied to an EC2 instance. The
--   deployment group includes only EC2 instances identified by all the tag
--   groups. Cannot be used in the same call as ec2TagFilters.
dgiEc2TagSet :: Lens' DeploymentGroupInfo (Maybe EC2TagSet)

-- | The deployment configuration name.
dgiDeploymentConfigName :: Lens' DeploymentGroupInfo (Maybe Text)

-- | Information about the most recent attempted deployment to the
--   deployment group.
dgiLastAttemptedDeployment :: Lens' DeploymentGroupInfo (Maybe LastDeploymentInfo)

-- | Information about groups of tags applied to an on-premises instance.
--   The deployment group includes only on-premises instances identified by
--   all the tag groups. Cannot be used in the same call as
--   onPremisesInstanceTagFilters.
dgiOnPremisesTagSet :: Lens' DeploymentGroupInfo (Maybe OnPremisesTagSet)

-- | The destination platform type for the deployment group
--   (<tt>Lambda</tt> or <tt>Server</tt> ).
dgiComputePlatform :: Lens' DeploymentGroupInfo (Maybe ComputePlatform)

-- | Information about the deployment group's target revision, including
--   type and location.
dgiTargetRevision :: Lens' DeploymentGroupInfo (Maybe RevisionLocation)

-- | The Amazon EC2 tags on which to filter. The deployment group includes
--   EC2 instances with any of the specified tags.
dgiEc2TagFilters :: Lens' DeploymentGroupInfo [EC2TagFilter]

-- | Information about blue/green deployment options for a deployment
--   group.
dgiBlueGreenDeploymentConfiguration :: Lens' DeploymentGroupInfo (Maybe BlueGreenDeploymentConfiguration)

-- | Information about the load balancer to use in a deployment.
dgiLoadBalancerInfo :: Lens' DeploymentGroupInfo (Maybe LoadBalancerInfo)

-- | The on-premises instance tags on which to filter. The deployment group
--   includes on-premises instances with any of the specified tags.
dgiOnPremisesInstanceTagFilters :: Lens' DeploymentGroupInfo [TagFilter]

-- | Information about the most recent successful deployment to the
--   deployment group.
dgiLastSuccessfulDeployment :: Lens' DeploymentGroupInfo (Maybe LastDeploymentInfo)

-- | The application name.
dgiApplicationName :: Lens' DeploymentGroupInfo (Maybe Text)

-- | A list of alarms associated with the deployment group.
dgiAlarmConfiguration :: Lens' DeploymentGroupInfo (Maybe AlarmConfiguration)

-- | Information about triggers associated with the deployment group.
dgiTriggerConfigurations :: Lens' DeploymentGroupInfo [TriggerConfig]

-- | The deployment group ID.
dgiDeploymentGroupId :: Lens' DeploymentGroupInfo (Maybe Text)

-- | A list of associated Auto Scaling groups.
dgiAutoScalingGroups :: Lens' DeploymentGroupInfo [AutoScalingGroup]

-- | Information about the type of deployment, either in-place or
--   blue/green, you want to run and whether to route deployment traffic
--   behind a load balancer.
dgiDeploymentStyle :: Lens' DeploymentGroupInfo (Maybe DeploymentStyle)

-- | Information about the automatic rollback configuration associated with
--   the deployment group.
dgiAutoRollbackConfiguration :: Lens' DeploymentGroupInfo (Maybe AutoRollbackConfiguration)

-- | The deployment group name.
dgiDeploymentGroupName :: Lens' DeploymentGroupInfo (Maybe Text)

-- | Information about a deployment.
--   
--   <i>See:</i> <a>deploymentInfo</a> smart constructor.
data DeploymentInfo

-- | Creates a value of <a>DeploymentInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diCreator</a> - The means by which the deployment was created:
--   * user: A user created the deployment. * autoscaling: Auto Scaling
--   created the deployment. * codeDeployRollback: A rollback process
--   created the deployment.</li>
--   <li><a>diStatus</a> - The current state of the deployment as a
--   whole.</li>
--   <li><a>diDeploymentId</a> - The deployment ID.</li>
--   <li><a>diDeploymentConfigName</a> - The deployment configuration
--   name.</li>
--   <li><a>diComputePlatform</a> - The destination platform type for the
--   deployment (<tt>Lambda</tt> or <tt>Server</tt> ).</li>
--   <li><a>diPreviousRevision</a> - Information about the application
--   revision that was deployed to the deployment group before the most
--   recent successful deployment.</li>
--   <li><a>diInstanceTerminationWaitTimeStarted</a> - Indicates whether
--   the wait period set for the termination of instances in the original
--   environment has started. Status is <tt>false</tt> if the KEEP_ALIVE
--   option is specified; otherwise, <tt>true</tt> as soon as the
--   termination wait period starts.</li>
--   <li><a>diDeploymentStatusMessages</a> - Messages that contain
--   information about the status of a deployment.</li>
--   <li><a>diStartTime</a> - A timestamp indicating when the deployment
--   was deployed to the deployment group. In some cases, the reported
--   value of the start time may be later than the complete time. This is
--   due to differences in the clock settings of back-end servers that
--   participate in the deployment process.</li>
--   <li><a>diCompleteTime</a> - A timestamp indicating when the deployment
--   was complete.</li>
--   <li><a>diBlueGreenDeploymentConfiguration</a> - Information about
--   blue/green deployment options for this deployment.</li>
--   <li><a>diErrorInformation</a> - Information about any error associated
--   with this deployment.</li>
--   <li><a>diLoadBalancerInfo</a> - Information about the load balancer
--   used in the deployment.</li>
--   <li><a>diAdditionalDeploymentStatusInfo</a> - Provides information
--   about the results of a deployment, such as whether instances in the
--   original environment in a blue/green deployment were not
--   terminated.</li>
--   <li><a>diDeploymentOverview</a> - A summary of the deployment status
--   of the instances in the deployment.</li>
--   <li><a>diFileExistsBehavior</a> - Information about how AWS CodeDeploy
--   handles files that already exist in a deployment target location but
--   weren't part of the previous successful deployment. * DISALLOW: The
--   deployment fails. This is also the default behavior if no option is
--   specified. * OVERWRITE: The version of the file from the application
--   revision currently being deployed replaces the version already on the
--   instance. * RETAIN: The version of the file already on the instance is
--   kept and used as part of the new deployment.</li>
--   <li><a>diApplicationName</a> - The application name.</li>
--   <li><a>diRollbackInfo</a> - Information about a deployment
--   rollback.</li>
--   <li><a>diTargetInstances</a> - Information about the instances that
--   belong to the replacement environment in a blue/green deployment.</li>
--   <li><a>diRevision</a> - Information about the location of stored
--   application artifacts and the service from which to retrieve
--   them.</li>
--   <li><a>diDescription</a> - A comment about the deployment.</li>
--   <li><a>diDeploymentStyle</a> - Information about the type of
--   deployment, either in-place or blue/green, you want to run and whether
--   to route deployment traffic behind a load balancer.</li>
--   <li><a>diCreateTime</a> - A timestamp indicating when the deployment
--   was created.</li>
--   <li><a>diAutoRollbackConfiguration</a> - Information about the
--   automatic rollback configuration associated with the deployment.</li>
--   <li><a>diUpdateOutdatedInstancesOnly</a> - Indicates whether only
--   instances that are not running the latest application revision are to
--   be deployed to.</li>
--   <li><a>diDeploymentGroupName</a> - The deployment group name.</li>
--   <li><a>diIgnoreApplicationStopFailures</a> - If true, then if the
--   deployment causes the ApplicationStop deployment lifecycle event to an
--   instance to fail, the deployment to that instance will not be
--   considered to have failed at that point and will continue on to the
--   BeforeInstall deployment lifecycle event. If false or not specified,
--   then if the deployment causes the ApplicationStop deployment lifecycle
--   event to an instance to fail, the deployment to that instance will
--   stop, and the deployment to that instance will be considered to have
--   failed.</li>
--   </ul>
deploymentInfo :: DeploymentInfo

-- | The means by which the deployment was created: * user: A user created
--   the deployment. * autoscaling: Auto Scaling created the deployment. *
--   codeDeployRollback: A rollback process created the deployment.
diCreator :: Lens' DeploymentInfo (Maybe DeploymentCreator)

-- | The current state of the deployment as a whole.
diStatus :: Lens' DeploymentInfo (Maybe DeploymentStatus)

-- | The deployment ID.
diDeploymentId :: Lens' DeploymentInfo (Maybe Text)

-- | The deployment configuration name.
diDeploymentConfigName :: Lens' DeploymentInfo (Maybe Text)

-- | The destination platform type for the deployment (<tt>Lambda</tt> or
--   <tt>Server</tt> ).
diComputePlatform :: Lens' DeploymentInfo (Maybe ComputePlatform)

-- | Information about the application revision that was deployed to the
--   deployment group before the most recent successful deployment.
diPreviousRevision :: Lens' DeploymentInfo (Maybe RevisionLocation)

-- | Indicates whether the wait period set for the termination of instances
--   in the original environment has started. Status is <tt>false</tt> if
--   the KEEP_ALIVE option is specified; otherwise, <tt>true</tt> as soon
--   as the termination wait period starts.
diInstanceTerminationWaitTimeStarted :: Lens' DeploymentInfo (Maybe Bool)

-- | Messages that contain information about the status of a deployment.
diDeploymentStatusMessages :: Lens' DeploymentInfo [Text]

-- | A timestamp indicating when the deployment was deployed to the
--   deployment group. In some cases, the reported value of the start time
--   may be later than the complete time. This is due to differences in the
--   clock settings of back-end servers that participate in the deployment
--   process.
diStartTime :: Lens' DeploymentInfo (Maybe UTCTime)

-- | A timestamp indicating when the deployment was complete.
diCompleteTime :: Lens' DeploymentInfo (Maybe UTCTime)

-- | Information about blue/green deployment options for this deployment.
diBlueGreenDeploymentConfiguration :: Lens' DeploymentInfo (Maybe BlueGreenDeploymentConfiguration)

-- | Information about any error associated with this deployment.
diErrorInformation :: Lens' DeploymentInfo (Maybe ErrorInformation)

-- | Information about the load balancer used in the deployment.
diLoadBalancerInfo :: Lens' DeploymentInfo (Maybe LoadBalancerInfo)

-- | Provides information about the results of a deployment, such as
--   whether instances in the original environment in a blue/green
--   deployment were not terminated.
diAdditionalDeploymentStatusInfo :: Lens' DeploymentInfo (Maybe Text)

-- | A summary of the deployment status of the instances in the deployment.
diDeploymentOverview :: Lens' DeploymentInfo (Maybe DeploymentOverview)

-- | Information about how AWS CodeDeploy handles files that already exist
--   in a deployment target location but weren't part of the previous
--   successful deployment. * DISALLOW: The deployment fails. This is also
--   the default behavior if no option is specified. * OVERWRITE: The
--   version of the file from the application revision currently being
--   deployed replaces the version already on the instance. * RETAIN: The
--   version of the file already on the instance is kept and used as part
--   of the new deployment.
diFileExistsBehavior :: Lens' DeploymentInfo (Maybe FileExistsBehavior)

-- | The application name.
diApplicationName :: Lens' DeploymentInfo (Maybe Text)

-- | Information about a deployment rollback.
diRollbackInfo :: Lens' DeploymentInfo (Maybe RollbackInfo)

-- | Information about the instances that belong to the replacement
--   environment in a blue/green deployment.
diTargetInstances :: Lens' DeploymentInfo (Maybe TargetInstances)

-- | Information about the location of stored application artifacts and the
--   service from which to retrieve them.
diRevision :: Lens' DeploymentInfo (Maybe RevisionLocation)

-- | A comment about the deployment.
diDescription :: Lens' DeploymentInfo (Maybe Text)

-- | Information about the type of deployment, either in-place or
--   blue/green, you want to run and whether to route deployment traffic
--   behind a load balancer.
diDeploymentStyle :: Lens' DeploymentInfo (Maybe DeploymentStyle)

-- | A timestamp indicating when the deployment was created.
diCreateTime :: Lens' DeploymentInfo (Maybe UTCTime)

-- | Information about the automatic rollback configuration associated with
--   the deployment.
diAutoRollbackConfiguration :: Lens' DeploymentInfo (Maybe AutoRollbackConfiguration)

-- | Indicates whether only instances that are not running the latest
--   application revision are to be deployed to.
diUpdateOutdatedInstancesOnly :: Lens' DeploymentInfo (Maybe Bool)

-- | The deployment group name.
diDeploymentGroupName :: Lens' DeploymentInfo (Maybe Text)

-- | If true, then if the deployment causes the ApplicationStop deployment
--   lifecycle event to an instance to fail, the deployment to that
--   instance will not be considered to have failed at that point and will
--   continue on to the BeforeInstall deployment lifecycle event. If false
--   or not specified, then if the deployment causes the ApplicationStop
--   deployment lifecycle event to an instance to fail, the deployment to
--   that instance will stop, and the deployment to that instance will be
--   considered to have failed.
diIgnoreApplicationStopFailures :: Lens' DeploymentInfo (Maybe Bool)

-- | Information about the deployment status of the instances in the
--   deployment.
--   
--   <i>See:</i> <a>deploymentOverview</a> smart constructor.
data DeploymentOverview

-- | Creates a value of <a>DeploymentOverview</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>doPending</a> - The number of instances in the deployment in a
--   pending state.</li>
--   <li><a>doSkipped</a> - The number of instances in the deployment in a
--   skipped state.</li>
--   <li><a>doInProgress</a> - The number of instances in which the
--   deployment is in progress.</li>
--   <li><a>doSucceeded</a> - The number of instances in the deployment to
--   which revisions have been successfully deployed.</li>
--   <li><a>doReady</a> - The number of instances in a replacement
--   environment ready to receive traffic in a blue/green deployment.</li>
--   <li><a>doFailed</a> - The number of instances in the deployment in a
--   failed state.</li>
--   </ul>
deploymentOverview :: DeploymentOverview

-- | The number of instances in the deployment in a pending state.
doPending :: Lens' DeploymentOverview (Maybe Integer)

-- | The number of instances in the deployment in a skipped state.
doSkipped :: Lens' DeploymentOverview (Maybe Integer)

-- | The number of instances in which the deployment is in progress.
doInProgress :: Lens' DeploymentOverview (Maybe Integer)

-- | The number of instances in the deployment to which revisions have been
--   successfully deployed.
doSucceeded :: Lens' DeploymentOverview (Maybe Integer)

-- | The number of instances in a replacement environment ready to receive
--   traffic in a blue/green deployment.
doReady :: Lens' DeploymentOverview (Maybe Integer)

-- | The number of instances in the deployment in a failed state.
doFailed :: Lens' DeploymentOverview (Maybe Integer)

-- | Information about how traffic is rerouted to instances in a
--   replacement environment in a blue/green deployment.
--   
--   <i>See:</i> <a>deploymentReadyOption</a> smart constructor.
data DeploymentReadyOption

-- | Creates a value of <a>DeploymentReadyOption</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>droActionOnTimeout</a> - Information about when to reroute
--   traffic from an original environment to a replacement environment in a
--   blue/green deployment. * CONTINUE_DEPLOYMENT: Register new instances
--   with the load balancer immediately after the new application revision
--   is installed on the instances in the replacement environment. *
--   STOP_DEPLOYMENT: Do not register new instances with a load balancer
--   unless traffic rerouting is started using <a>ContinueDeployment</a> .
--   If traffic rerouting is not started before the end of the specified
--   wait period, the deployment status is changed to Stopped.</li>
--   <li><a>droWaitTimeInMinutes</a> - The number of minutes to wait before
--   the status of a blue/green deployment changed to Stopped if rerouting
--   is not started manually. Applies only to the STOP_DEPLOYMENT option
--   for actionOnTimeout</li>
--   </ul>
deploymentReadyOption :: DeploymentReadyOption

-- | Information about when to reroute traffic from an original environment
--   to a replacement environment in a blue/green deployment. *
--   CONTINUE_DEPLOYMENT: Register new instances with the load balancer
--   immediately after the new application revision is installed on the
--   instances in the replacement environment. * STOP_DEPLOYMENT: Do not
--   register new instances with a load balancer unless traffic rerouting
--   is started using <a>ContinueDeployment</a> . If traffic rerouting is
--   not started before the end of the specified wait period, the
--   deployment status is changed to Stopped.
droActionOnTimeout :: Lens' DeploymentReadyOption (Maybe DeploymentReadyAction)

-- | The number of minutes to wait before the status of a blue/green
--   deployment changed to Stopped if rerouting is not started manually.
--   Applies only to the STOP_DEPLOYMENT option for actionOnTimeout
droWaitTimeInMinutes :: Lens' DeploymentReadyOption (Maybe Int)

-- | Information about the type of deployment, either in-place or
--   blue/green, you want to run and whether to route deployment traffic
--   behind a load balancer.
--   
--   <i>See:</i> <a>deploymentStyle</a> smart constructor.
data DeploymentStyle

-- | Creates a value of <a>DeploymentStyle</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsDeploymentOption</a> - Indicates whether to route deployment
--   traffic behind a load balancer.</li>
--   <li><a>dsDeploymentType</a> - Indicates whether to run an in-place
--   deployment or a blue/green deployment.</li>
--   </ul>
deploymentStyle :: DeploymentStyle

-- | Indicates whether to route deployment traffic behind a load balancer.
dsDeploymentOption :: Lens' DeploymentStyle (Maybe DeploymentOption)

-- | Indicates whether to run an in-place deployment or a blue/green
--   deployment.
dsDeploymentType :: Lens' DeploymentStyle (Maybe DeploymentType)

-- | Diagnostic information about executable scripts that are part of a
--   deployment.
--   
--   <i>See:</i> <a>diagnostics</a> smart constructor.
data Diagnostics

-- | Creates a value of <a>Diagnostics</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dLogTail</a> - The last portion of the diagnostic log. If
--   available, AWS CodeDeploy returns up to the last 4 KB of the
--   diagnostic log.</li>
--   <li><a>dErrorCode</a> - The associated error code: * Success: The
--   specified script ran. * ScriptMissing: The specified script was not
--   found in the specified location. * ScriptNotExecutable: The specified
--   script is not a recognized executable file type. * ScriptTimedOut: The
--   specified script did not finish running in the specified time period.
--   * ScriptFailed: The specified script failed to run as expected. *
--   UnknownError: The specified script did not run for an unknown
--   reason.</li>
--   <li><a>dScriptName</a> - The name of the script.</li>
--   <li><a>dMessage</a> - The message associated with the error.</li>
--   </ul>
diagnostics :: Diagnostics

-- | The last portion of the diagnostic log. If available, AWS CodeDeploy
--   returns up to the last 4 KB of the diagnostic log.
dLogTail :: Lens' Diagnostics (Maybe Text)

-- | The associated error code: * Success: The specified script ran. *
--   ScriptMissing: The specified script was not found in the specified
--   location. * ScriptNotExecutable: The specified script is not a
--   recognized executable file type. * ScriptTimedOut: The specified
--   script did not finish running in the specified time period. *
--   ScriptFailed: The specified script failed to run as expected. *
--   UnknownError: The specified script did not run for an unknown reason.
dErrorCode :: Lens' Diagnostics (Maybe LifecycleErrorCode)

-- | The name of the script.
dScriptName :: Lens' Diagnostics (Maybe Text)

-- | The message associated with the error.
dMessage :: Lens' Diagnostics (Maybe Text)

-- | Information about an EC2 tag filter.
--   
--   <i>See:</i> <a>ec2TagFilter</a> smart constructor.
data EC2TagFilter

-- | Creates a value of <a>EC2TagFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etfValue</a> - The tag filter value.</li>
--   <li><a>etfKey</a> - The tag filter key.</li>
--   <li><a>etfType</a> - The tag filter type: * KEY_ONLY: Key only. *
--   VALUE_ONLY: Value only. * KEY_AND_VALUE: Key and value.</li>
--   </ul>
ec2TagFilter :: EC2TagFilter

-- | The tag filter value.
etfValue :: Lens' EC2TagFilter (Maybe Text)

-- | The tag filter key.
etfKey :: Lens' EC2TagFilter (Maybe Text)

-- | The tag filter type: * KEY_ONLY: Key only. * VALUE_ONLY: Value only. *
--   KEY_AND_VALUE: Key and value.
etfType :: Lens' EC2TagFilter (Maybe EC2TagFilterType)

-- | Information about groups of EC2 instance tags.
--   
--   <i>See:</i> <a>ec2TagSet</a> smart constructor.
data EC2TagSet

-- | Creates a value of <a>EC2TagSet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etsEc2TagSetList</a> - A list containing other lists of EC2
--   instance tag groups. In order for an instance to be included in the
--   deployment group, it must be identified by all the tag groups in the
--   list.</li>
--   </ul>
ec2TagSet :: EC2TagSet

-- | A list containing other lists of EC2 instance tag groups. In order for
--   an instance to be included in the deployment group, it must be
--   identified by all the tag groups in the list.
etsEc2TagSetList :: Lens' EC2TagSet [[EC2TagFilter]]

-- | Information about a load balancer in Elastic Load Balancing to use in
--   a deployment. Instances are registered directly with a load balancer,
--   and traffic is routed to the load balancer.
--   
--   <i>See:</i> <a>eLBInfo</a> smart constructor.
data ELBInfo

-- | Creates a value of <a>ELBInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>elbiName</a> - For blue<i>green deployments, the name of the
--   load balancer that will be used to route traffic from original
--   instances to replacement instances in a blue</i>green deployment. For
--   in-place deployments, the name of the load balancer that instances are
--   deregistered from so they are not serving traffic during a deployment,
--   and then re-registered with after the deployment completes.</li>
--   </ul>
eLBInfo :: ELBInfo

-- | For blue<i>green deployments, the name of the load balancer that will
--   be used to route traffic from original instances to replacement
--   instances in a blue</i>green deployment. For in-place deployments, the
--   name of the load balancer that instances are deregistered from so they
--   are not serving traffic during a deployment, and then re-registered
--   with after the deployment completes.
elbiName :: Lens' ELBInfo (Maybe Text)

-- | Information about a deployment error.
--   
--   <i>See:</i> <a>errorInformation</a> smart constructor.
data ErrorInformation

-- | Creates a value of <a>ErrorInformation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eiCode</a> - For information about additional error codes, see
--   <a>Error Codes for AWS CodeDeploy</a> in the <a>AWS CodeDeploy User
--   Guide</a> . The error code: * APPLICATION_MISSING: The application was
--   missing. This error code will most likely be raised if the application
--   is deleted after the deployment is created but before it is started. *
--   DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error
--   code will most likely be raised if the deployment group is deleted
--   after the deployment is created but before it is started. *
--   HEALTH_CONSTRAINTS: The deployment failed on too many instances to be
--   successfully deployed within the instance health constraints
--   specified. * HEALTH_CONSTRAINTS_INVALID: The revision cannot be
--   successfully deployed within the instance health constraints
--   specified. * IAM_ROLE_MISSING: The service role cannot be accessed. *
--   IAM_ROLE_PERMISSIONS: The service role does not have the correct
--   permissions. * INTERNAL_ERROR: There was an internal error. *
--   NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the
--   Amazon EC2 service. * NO_INSTANCES: No instance were specified, or no
--   instance can be found. * OVER_MAX_INSTANCES: The maximum number of
--   instance was exceeded. * THROTTLED: The operation was throttled
--   because the calling account exceeded the throttling limits of one or
--   more AWS services. * TIMEOUT: The deployment has timed out. *
--   REVISION_MISSING: The revision ID was missing. This error code will
--   most likely be raised if the revision is deleted after the deployment
--   is created but before it is started.</li>
--   <li><a>eiMessage</a> - An accompanying error message.</li>
--   </ul>
errorInformation :: ErrorInformation

-- | For information about additional error codes, see <a>Error Codes for
--   AWS CodeDeploy</a> in the <a>AWS CodeDeploy User Guide</a> . The error
--   code: * APPLICATION_MISSING: The application was missing. This error
--   code will most likely be raised if the application is deleted after
--   the deployment is created but before it is started. *
--   DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error
--   code will most likely be raised if the deployment group is deleted
--   after the deployment is created but before it is started. *
--   HEALTH_CONSTRAINTS: The deployment failed on too many instances to be
--   successfully deployed within the instance health constraints
--   specified. * HEALTH_CONSTRAINTS_INVALID: The revision cannot be
--   successfully deployed within the instance health constraints
--   specified. * IAM_ROLE_MISSING: The service role cannot be accessed. *
--   IAM_ROLE_PERMISSIONS: The service role does not have the correct
--   permissions. * INTERNAL_ERROR: There was an internal error. *
--   NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the
--   Amazon EC2 service. * NO_INSTANCES: No instance were specified, or no
--   instance can be found. * OVER_MAX_INSTANCES: The maximum number of
--   instance was exceeded. * THROTTLED: The operation was throttled
--   because the calling account exceeded the throttling limits of one or
--   more AWS services. * TIMEOUT: The deployment has timed out. *
--   REVISION_MISSING: The revision ID was missing. This error code will
--   most likely be raised if the revision is deleted after the deployment
--   is created but before it is started.
eiCode :: Lens' ErrorInformation (Maybe DeployErrorCode)

-- | An accompanying error message.
eiMessage :: Lens' ErrorInformation (Maybe Text)

-- | Information about an application revision.
--   
--   <i>See:</i> <a>genericRevisionInfo</a> smart constructor.
data GenericRevisionInfo

-- | Creates a value of <a>GenericRevisionInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>griRegisterTime</a> - When the revision was registered with AWS
--   CodeDeploy.</li>
--   <li><a>griFirstUsedTime</a> - When the revision was first used by AWS
--   CodeDeploy.</li>
--   <li><a>griDeploymentGroups</a> - The deployment groups for which this
--   is the current target revision.</li>
--   <li><a>griLastUsedTime</a> - When the revision was last used by AWS
--   CodeDeploy.</li>
--   <li><a>griDescription</a> - A comment about the revision.</li>
--   </ul>
genericRevisionInfo :: GenericRevisionInfo

-- | When the revision was registered with AWS CodeDeploy.
griRegisterTime :: Lens' GenericRevisionInfo (Maybe UTCTime)

-- | When the revision was first used by AWS CodeDeploy.
griFirstUsedTime :: Lens' GenericRevisionInfo (Maybe UTCTime)

-- | The deployment groups for which this is the current target revision.
griDeploymentGroups :: Lens' GenericRevisionInfo [Text]

-- | When the revision was last used by AWS CodeDeploy.
griLastUsedTime :: Lens' GenericRevisionInfo (Maybe UTCTime)

-- | A comment about the revision.
griDescription :: Lens' GenericRevisionInfo (Maybe Text)

-- | Information about the location of application artifacts stored in
--   GitHub.
--   
--   <i>See:</i> <a>gitHubLocation</a> smart constructor.
data GitHubLocation

-- | Creates a value of <a>GitHubLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ghlCommitId</a> - The SHA1 commit ID of the GitHub commit that
--   represents the bundled artifacts for the application revision.</li>
--   <li><a>ghlRepository</a> - The GitHub account and repository pair that
--   stores a reference to the commit that represents the bundled artifacts
--   for the application revision. Specified as account/repository.</li>
--   </ul>
gitHubLocation :: GitHubLocation

-- | The SHA1 commit ID of the GitHub commit that represents the bundled
--   artifacts for the application revision.
ghlCommitId :: Lens' GitHubLocation (Maybe Text)

-- | The GitHub account and repository pair that stores a reference to the
--   commit that represents the bundled artifacts for the application
--   revision. Specified as account/repository.
ghlRepository :: Lens' GitHubLocation (Maybe Text)

-- | Information about the instances that belong to the replacement
--   environment in a blue/green deployment.
--   
--   <i>See:</i> <a>greenFleetProvisioningOption</a> smart constructor.
data GreenFleetProvisioningOption

-- | Creates a value of <a>GreenFleetProvisioningOption</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gfpoAction</a> - The method used to add instances to a
--   replacement environment. * DISCOVER_EXISTING: Use instances that
--   already exist or will be created manually. * COPY_AUTO_SCALING_GROUP:
--   Use settings from a specified Auto Scaling group to define and create
--   instances in a new Auto Scaling group.</li>
--   </ul>
greenFleetProvisioningOption :: GreenFleetProvisioningOption

-- | The method used to add instances to a replacement environment. *
--   DISCOVER_EXISTING: Use instances that already exist or will be created
--   manually. * COPY_AUTO_SCALING_GROUP: Use settings from a specified
--   Auto Scaling group to define and create instances in a new Auto
--   Scaling group.
gfpoAction :: Lens' GreenFleetProvisioningOption (Maybe GreenFleetProvisioningAction)

-- | Information about an on-premises instance.
--   
--   <i>See:</i> <a>instanceInfo</a> smart constructor.
data InstanceInfo

-- | Creates a value of <a>InstanceInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiRegisterTime</a> - The time at which the on-premises instance
--   was registered.</li>
--   <li><a>iiInstanceARN</a> - The ARN of the on-premises instance.</li>
--   <li><a>iiDeregisterTime</a> - If the on-premises instance was
--   deregistered, the time at which the on-premises instance was
--   deregistered.</li>
--   <li><a>iiIamUserARN</a> - The IAM user ARN associated with the
--   on-premises instance.</li>
--   <li><a>iiInstanceName</a> - The name of the on-premises instance.</li>
--   <li><a>iiIamSessionARN</a> - The ARN of the IAM session associated
--   with the on-premises instance.</li>
--   <li><a>iiTags</a> - The tags currently associated with the on-premises
--   instance.</li>
--   </ul>
instanceInfo :: InstanceInfo

-- | The time at which the on-premises instance was registered.
iiRegisterTime :: Lens' InstanceInfo (Maybe UTCTime)

-- | The ARN of the on-premises instance.
iiInstanceARN :: Lens' InstanceInfo (Maybe Text)

-- | If the on-premises instance was deregistered, the time at which the
--   on-premises instance was deregistered.
iiDeregisterTime :: Lens' InstanceInfo (Maybe UTCTime)

-- | The IAM user ARN associated with the on-premises instance.
iiIamUserARN :: Lens' InstanceInfo (Maybe Text)

-- | The name of the on-premises instance.
iiInstanceName :: Lens' InstanceInfo (Maybe Text)

-- | The ARN of the IAM session associated with the on-premises instance.
iiIamSessionARN :: Lens' InstanceInfo (Maybe Text)

-- | The tags currently associated with the on-premises instance.
iiTags :: Lens' InstanceInfo [Tag]

-- | Information about an instance in a deployment.
--   
--   <i>See:</i> <a>instanceSummary</a> smart constructor.
data InstanceSummary

-- | Creates a value of <a>InstanceSummary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>isInstanceId</a> - The instance ID.</li>
--   <li><a>isStatus</a> - The deployment status for this instance: *
--   Pending: The deployment is pending for this instance. * In Progress:
--   The deployment is in progress for this instance. * Succeeded: The
--   deployment has succeeded for this instance. * Failed: The deployment
--   has failed for this instance. * Skipped: The deployment has been
--   skipped for this instance. * Unknown: The deployment status is unknown
--   for this instance.</li>
--   <li><a>isDeploymentId</a> - The deployment ID.</li>
--   <li><a>isLastUpdatedAt</a> - A timestamp indicating when the instance
--   information was last updated.</li>
--   <li><a>isLifecycleEvents</a> - A list of lifecycle events for this
--   instance.</li>
--   <li><a>isInstanceType</a> - Information about which environment an
--   instance belongs to in a blue/green deployment. * BLUE: The instance
--   is part of the original environment. * GREEN: The instance is part of
--   the replacement environment.</li>
--   </ul>
instanceSummary :: InstanceSummary

-- | The instance ID.
isInstanceId :: Lens' InstanceSummary (Maybe Text)

-- | The deployment status for this instance: * Pending: The deployment is
--   pending for this instance. * In Progress: The deployment is in
--   progress for this instance. * Succeeded: The deployment has succeeded
--   for this instance. * Failed: The deployment has failed for this
--   instance. * Skipped: The deployment has been skipped for this
--   instance. * Unknown: The deployment status is unknown for this
--   instance.
isStatus :: Lens' InstanceSummary (Maybe InstanceStatus)

-- | The deployment ID.
isDeploymentId :: Lens' InstanceSummary (Maybe Text)

-- | A timestamp indicating when the instance information was last updated.
isLastUpdatedAt :: Lens' InstanceSummary (Maybe UTCTime)

-- | A list of lifecycle events for this instance.
isLifecycleEvents :: Lens' InstanceSummary [LifecycleEvent]

-- | Information about which environment an instance belongs to in a
--   blue/green deployment. * BLUE: The instance is part of the original
--   environment. * GREEN: The instance is part of the replacement
--   environment.
isInstanceType :: Lens' InstanceSummary (Maybe InstanceType)

-- | Information about the most recent attempted or successful deployment
--   to a deployment group.
--   
--   <i>See:</i> <a>lastDeploymentInfo</a> smart constructor.
data LastDeploymentInfo

-- | Creates a value of <a>LastDeploymentInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldiStatus</a> - The status of the most recent deployment.</li>
--   <li><a>ldiDeploymentId</a> - The deployment ID.</li>
--   <li><a>ldiEndTime</a> - A timestamp indicating when the most recent
--   deployment to the deployment group completed.</li>
--   <li><a>ldiCreateTime</a> - A timestamp indicating when the most recent
--   deployment to the deployment group started.</li>
--   </ul>
lastDeploymentInfo :: LastDeploymentInfo

-- | The status of the most recent deployment.
ldiStatus :: Lens' LastDeploymentInfo (Maybe DeploymentStatus)

-- | The deployment ID.
ldiDeploymentId :: Lens' LastDeploymentInfo (Maybe Text)

-- | A timestamp indicating when the most recent deployment to the
--   deployment group completed.
ldiEndTime :: Lens' LastDeploymentInfo (Maybe UTCTime)

-- | A timestamp indicating when the most recent deployment to the
--   deployment group started.
ldiCreateTime :: Lens' LastDeploymentInfo (Maybe UTCTime)

-- | Information about a deployment lifecycle event.
--   
--   <i>See:</i> <a>lifecycleEvent</a> smart constructor.
data LifecycleEvent

-- | Creates a value of <a>LifecycleEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>leStatus</a> - The deployment lifecycle event status: *
--   Pending: The deployment lifecycle event is pending. * InProgress: The
--   deployment lifecycle event is in progress. * Succeeded: The deployment
--   lifecycle event ran successfully. * Failed: The deployment lifecycle
--   event has failed. * Skipped: The deployment lifecycle event has been
--   skipped. * Unknown: The deployment lifecycle event is unknown.</li>
--   <li><a>leLifecycleEventName</a> - The deployment lifecycle event name,
--   such as ApplicationStop, BeforeInstall, AfterInstall,
--   ApplicationStart, or ValidateService.</li>
--   <li><a>leStartTime</a> - A timestamp indicating when the deployment
--   lifecycle event started.</li>
--   <li><a>leDiagnostics</a> - Diagnostic information about the deployment
--   lifecycle event.</li>
--   <li><a>leEndTime</a> - A timestamp indicating when the deployment
--   lifecycle event ended.</li>
--   </ul>
lifecycleEvent :: LifecycleEvent

-- | The deployment lifecycle event status: * Pending: The deployment
--   lifecycle event is pending. * InProgress: The deployment lifecycle
--   event is in progress. * Succeeded: The deployment lifecycle event ran
--   successfully. * Failed: The deployment lifecycle event has failed. *
--   Skipped: The deployment lifecycle event has been skipped. * Unknown:
--   The deployment lifecycle event is unknown.
leStatus :: Lens' LifecycleEvent (Maybe LifecycleEventStatus)

-- | The deployment lifecycle event name, such as ApplicationStop,
--   BeforeInstall, AfterInstall, ApplicationStart, or ValidateService.
leLifecycleEventName :: Lens' LifecycleEvent (Maybe Text)

-- | A timestamp indicating when the deployment lifecycle event started.
leStartTime :: Lens' LifecycleEvent (Maybe UTCTime)

-- | Diagnostic information about the deployment lifecycle event.
leDiagnostics :: Lens' LifecycleEvent (Maybe Diagnostics)

-- | A timestamp indicating when the deployment lifecycle event ended.
leEndTime :: Lens' LifecycleEvent (Maybe UTCTime)

-- | Information about the Elastic Load Balancing load balancer or target
--   group used in a deployment.
--   
--   <i>See:</i> <a>loadBalancerInfo</a> smart constructor.
data LoadBalancerInfo

-- | Creates a value of <a>LoadBalancerInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lbiElbInfoList</a> - An array containing information about the
--   load balancer to use for load balancing in a deployment. In Elastic
--   Load Balancing, load balancers are used with Classic Load
--   Balancers.</li>
--   <li><a>lbiTargetGroupInfoList</a> - An array containing information
--   about the target group to use for load balancing in a deployment. In
--   Elastic Load Balancing, target groups are used with Application Load
--   Balancers.</li>
--   </ul>
loadBalancerInfo :: LoadBalancerInfo

-- | An array containing information about the load balancer to use for
--   load balancing in a deployment. In Elastic Load Balancing, load
--   balancers are used with Classic Load Balancers.
lbiElbInfoList :: Lens' LoadBalancerInfo [ELBInfo]

-- | An array containing information about the target group to use for load
--   balancing in a deployment. In Elastic Load Balancing, target groups
--   are used with Application Load Balancers.
lbiTargetGroupInfoList :: Lens' LoadBalancerInfo [TargetGroupInfo]

-- | Information about minimum healthy instance.
--   
--   <i>See:</i> <a>minimumHealthyHosts</a> smart constructor.
data MinimumHealthyHosts

-- | Creates a value of <a>MinimumHealthyHosts</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mhhValue</a> - The minimum healthy instance value.</li>
--   <li><a>mhhType</a> - The minimum healthy instance type: * HOST_COUNT:
--   The minimum number of healthy instance as an absolute value. *
--   FLEET_PERCENT: The minimum number of healthy instance as a percentage
--   of the total number of instance in the deployment. In an example of
--   nine instance, if a HOST_COUNT of six is specified, deploy to up to
--   three instances at a time. The deployment will be successful if six or
--   more instances are deployed to successfully; otherwise, the deployment
--   fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five
--   instance at a time. The deployment will be successful if four or more
--   instance are deployed to successfully; otherwise, the deployment
--   fails. For more information, see <a>AWS CodeDeploy Instance Health</a>
--   in the <i>AWS CodeDeploy User Guide</i> .</li>
--   </ul>
minimumHealthyHosts :: MinimumHealthyHosts

-- | The minimum healthy instance value.
mhhValue :: Lens' MinimumHealthyHosts (Maybe Int)

-- | The minimum healthy instance type: * HOST_COUNT: The minimum number of
--   healthy instance as an absolute value. * FLEET_PERCENT: The minimum
--   number of healthy instance as a percentage of the total number of
--   instance in the deployment. In an example of nine instance, if a
--   HOST_COUNT of six is specified, deploy to up to three instances at a
--   time. The deployment will be successful if six or more instances are
--   deployed to successfully; otherwise, the deployment fails. If a
--   FLEET_PERCENT of 40 is specified, deploy to up to five instance at a
--   time. The deployment will be successful if four or more instance are
--   deployed to successfully; otherwise, the deployment fails. For more
--   information, see <a>AWS CodeDeploy Instance Health</a> in the <i>AWS
--   CodeDeploy User Guide</i> .
mhhType :: Lens' MinimumHealthyHosts (Maybe MinimumHealthyHostsType)

-- | Information about groups of on-premises instance tags.
--   
--   <i>See:</i> <a>onPremisesTagSet</a> smart constructor.
data OnPremisesTagSet

-- | Creates a value of <a>OnPremisesTagSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>optsOnPremisesTagSetList</a> - A list containing other lists of
--   on-premises instance tag groups. In order for an instance to be
--   included in the deployment group, it must be identified by all the tag
--   groups in the list.</li>
--   </ul>
onPremisesTagSet :: OnPremisesTagSet

-- | A list containing other lists of on-premises instance tag groups. In
--   order for an instance to be included in the deployment group, it must
--   be identified by all the tag groups in the list.
optsOnPremisesTagSetList :: Lens' OnPremisesTagSet [[TagFilter]]

-- | A revision for an AWS Lambda deployment that is a YAML-formatted or
--   JSON-formatted string. For AWS Lambda deployments, the revision is the
--   same as the AppSpec file.
--   
--   <i>See:</i> <a>rawString</a> smart constructor.
data RawString

-- | Creates a value of <a>RawString</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsContent</a> - The YAML-formatted or JSON-formatted revision
--   string. It includes information about which Lambda function to update
--   and optional Lambda functions that validate deployment lifecycle
--   events.</li>
--   <li><a>rsSha256</a> - The SHA256 hash value of the revision that is
--   specified as a RawString.</li>
--   </ul>
rawString :: RawString

-- | The YAML-formatted or JSON-formatted revision string. It includes
--   information about which Lambda function to update and optional Lambda
--   functions that validate deployment lifecycle events.
rsContent :: Lens' RawString (Maybe Text)

-- | The SHA256 hash value of the revision that is specified as a
--   RawString.
rsSha256 :: Lens' RawString (Maybe Text)

-- | Information about an application revision.
--   
--   <i>See:</i> <a>revisionInfo</a> smart constructor.
data RevisionInfo

-- | Creates a value of <a>RevisionInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riGenericRevisionInfo</a> - Information about an application
--   revision, including usage details and associated deployment
--   groups.</li>
--   <li><a>riRevisionLocation</a> - Information about the location and
--   type of an application revision.</li>
--   </ul>
revisionInfo :: RevisionInfo

-- | Information about an application revision, including usage details and
--   associated deployment groups.
riGenericRevisionInfo :: Lens' RevisionInfo (Maybe GenericRevisionInfo)

-- | Information about the location and type of an application revision.
riRevisionLocation :: Lens' RevisionInfo (Maybe RevisionLocation)

-- | Information about the location of an application revision.
--   
--   <i>See:</i> <a>revisionLocation</a> smart constructor.
data RevisionLocation

-- | Creates a value of <a>RevisionLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlString</a> - Information about the location of an AWS Lambda
--   deployment revision stored as a RawString.</li>
--   <li><a>rlRevisionType</a> - The type of application revision: * S3: An
--   application revision stored in Amazon S3. * GitHub: An application
--   revision stored in GitHub (EC2/On-premises deployments only) * String:
--   A YAML-formatted or JSON-formatted string (AWS Lambda deployments
--   only)</li>
--   <li><a>rlS3Location</a> - Information about the location of a revision
--   stored in Amazon S3.</li>
--   <li><a>rlGitHubLocation</a> - Information about the location of
--   application artifacts stored in GitHub.</li>
--   </ul>
revisionLocation :: RevisionLocation

-- | Information about the location of an AWS Lambda deployment revision
--   stored as a RawString.
rlString :: Lens' RevisionLocation (Maybe RawString)

-- | The type of application revision: * S3: An application revision stored
--   in Amazon S3. * GitHub: An application revision stored in GitHub
--   (EC2/On-premises deployments only) * String: A YAML-formatted or
--   JSON-formatted string (AWS Lambda deployments only)
rlRevisionType :: Lens' RevisionLocation (Maybe RevisionLocationType)

-- | Information about the location of a revision stored in Amazon S3.
rlS3Location :: Lens' RevisionLocation (Maybe S3Location)

-- | Information about the location of application artifacts stored in
--   GitHub.
rlGitHubLocation :: Lens' RevisionLocation (Maybe GitHubLocation)

-- | Information about a deployment rollback.
--   
--   <i>See:</i> <a>rollbackInfo</a> smart constructor.
data RollbackInfo

-- | Creates a value of <a>RollbackInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riRollbackTriggeringDeploymentId</a> - The deployment ID of the
--   deployment that was underway and triggered a rollback deployment
--   because it failed or was stopped.</li>
--   <li><a>riRollbackMessage</a> - Information describing the status of a
--   deployment rollback; for example, whether the deployment can't be
--   rolled back, is in progress, failed, or succeeded.</li>
--   <li><a>riRollbackDeploymentId</a> - The ID of the deployment
--   rollback.</li>
--   </ul>
rollbackInfo :: RollbackInfo

-- | The deployment ID of the deployment that was underway and triggered a
--   rollback deployment because it failed or was stopped.
riRollbackTriggeringDeploymentId :: Lens' RollbackInfo (Maybe Text)

-- | Information describing the status of a deployment rollback; for
--   example, whether the deployment can't be rolled back, is in progress,
--   failed, or succeeded.
riRollbackMessage :: Lens' RollbackInfo (Maybe Text)

-- | The ID of the deployment rollback.
riRollbackDeploymentId :: Lens' RollbackInfo (Maybe Text)

-- | Information about the location of application artifacts stored in
--   Amazon S3.
--   
--   <i>See:</i> <a>s3Location</a> smart constructor.
data S3Location

-- | Creates a value of <a>S3Location</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slBundleType</a> - The file type of the application revision.
--   Must be one of the following: * tar: A tar archive file. * tgz: A
--   compressed tar archive file. * zip: A zip archive file.</li>
--   <li><a>slETag</a> - The ETag of the Amazon S3 object that represents
--   the bundled artifacts for the application revision. If the ETag is not
--   specified as an input parameter, ETag validation of the object will be
--   skipped.</li>
--   <li><a>slBucket</a> - The name of the Amazon S3 bucket where the
--   application revision is stored.</li>
--   <li><a>slKey</a> - The name of the Amazon S3 object that represents
--   the bundled artifacts for the application revision.</li>
--   <li><a>slVersion</a> - A specific version of the Amazon S3 object that
--   represents the bundled artifacts for the application revision. If the
--   version is not specified, the system will use the most recent version
--   by default.</li>
--   </ul>
s3Location :: S3Location

-- | The file type of the application revision. Must be one of the
--   following: * tar: A tar archive file. * tgz: A compressed tar archive
--   file. * zip: A zip archive file.
slBundleType :: Lens' S3Location (Maybe BundleType)

-- | The ETag of the Amazon S3 object that represents the bundled artifacts
--   for the application revision. If the ETag is not specified as an input
--   parameter, ETag validation of the object will be skipped.
slETag :: Lens' S3Location (Maybe Text)

-- | The name of the Amazon S3 bucket where the application revision is
--   stored.
slBucket :: Lens' S3Location (Maybe Text)

-- | The name of the Amazon S3 object that represents the bundled artifacts
--   for the application revision.
slKey :: Lens' S3Location (Maybe Text)

-- | A specific version of the Amazon S3 object that represents the bundled
--   artifacts for the application revision. If the version is not
--   specified, the system will use the most recent version by default.
slVersion :: Lens' S3Location (Maybe Text)

-- | Information about a tag.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagValue</a> - The tag's value.</li>
--   <li><a>tagKey</a> - The tag's key.</li>
--   </ul>
tag :: Tag

-- | The tag's value.
tagValue :: Lens' Tag (Maybe Text)

-- | The tag's key.
tagKey :: Lens' Tag (Maybe Text)

-- | Information about an on-premises instance tag filter.
--   
--   <i>See:</i> <a>tagFilter</a> smart constructor.
data TagFilter

-- | Creates a value of <a>TagFilter</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tfValue</a> - The on-premises instance tag filter value.</li>
--   <li><a>tfKey</a> - The on-premises instance tag filter key.</li>
--   <li><a>tfType</a> - The on-premises instance tag filter type: *
--   KEY_ONLY: Key only. * VALUE_ONLY: Value only. * KEY_AND_VALUE: Key and
--   value.</li>
--   </ul>
tagFilter :: TagFilter

-- | The on-premises instance tag filter value.
tfValue :: Lens' TagFilter (Maybe Text)

-- | The on-premises instance tag filter key.
tfKey :: Lens' TagFilter (Maybe Text)

-- | The on-premises instance tag filter type: * KEY_ONLY: Key only. *
--   VALUE_ONLY: Value only. * KEY_AND_VALUE: Key and value.
tfType :: Lens' TagFilter (Maybe TagFilterType)

-- | Information about a target group in Elastic Load Balancing to use in a
--   deployment. Instances are registered as targets in a target group, and
--   traffic is routed to the target group.
--   
--   <i>See:</i> <a>targetGroupInfo</a> smart constructor.
data TargetGroupInfo

-- | Creates a value of <a>TargetGroupInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tgiName</a> - For blue/green deployments, the name of the
--   target group that instances in the original environment are
--   deregistered from, and instances in the replacement environment
--   registered with. For in-place deployments, the name of the target
--   group that instances are deregistered from, so they are not serving
--   traffic during a deployment, and then re-registered with after the
--   deployment completes.</li>
--   </ul>
targetGroupInfo :: TargetGroupInfo

-- | For blue/green deployments, the name of the target group that
--   instances in the original environment are deregistered from, and
--   instances in the replacement environment registered with. For in-place
--   deployments, the name of the target group that instances are
--   deregistered from, so they are not serving traffic during a
--   deployment, and then re-registered with after the deployment
--   completes.
tgiName :: Lens' TargetGroupInfo (Maybe Text)

-- | Information about the instances to be used in the replacement
--   environment in a blue/green deployment.
--   
--   <i>See:</i> <a>targetInstances</a> smart constructor.
data TargetInstances

-- | Creates a value of <a>TargetInstances</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tiEc2TagSet</a> - Information about the groups of EC2 instance
--   tags that an instance must be identified by in order for it to be
--   included in the replacement environment for a blue/green deployment.
--   Cannot be used in the same call as tagFilters.</li>
--   <li><a>tiTagFilters</a> - The tag filter key, type, and value used to
--   identify Amazon EC2 instances in a replacement environment for a
--   blue/green deployment. Cannot be used in the same call as
--   ec2TagSet.</li>
--   <li><a>tiAutoScalingGroups</a> - The names of one or more Auto Scaling
--   groups to identify a replacement environment for a blue/green
--   deployment.</li>
--   </ul>
targetInstances :: TargetInstances

-- | Information about the groups of EC2 instance tags that an instance
--   must be identified by in order for it to be included in the
--   replacement environment for a blue/green deployment. Cannot be used in
--   the same call as tagFilters.
tiEc2TagSet :: Lens' TargetInstances (Maybe EC2TagSet)

-- | The tag filter key, type, and value used to identify Amazon EC2
--   instances in a replacement environment for a blue/green deployment.
--   Cannot be used in the same call as ec2TagSet.
tiTagFilters :: Lens' TargetInstances [EC2TagFilter]

-- | The names of one or more Auto Scaling groups to identify a replacement
--   environment for a blue/green deployment.
tiAutoScalingGroups :: Lens' TargetInstances [Text]

-- | A configuration that shifts traffic from one version of a Lambda
--   function to another in two increments. The original and target Lambda
--   function versions are specified in the deployment's AppSpec file.
--   
--   <i>See:</i> <a>timeBasedCanary</a> smart constructor.
data TimeBasedCanary

-- | Creates a value of <a>TimeBasedCanary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tbcCanaryInterval</a> - The number of minutes between the first
--   and second traffic shifts of a <tt>TimeBasedCanary</tt>
--   deployment.</li>
--   <li><a>tbcCanaryPercentage</a> - The percentage of traffic to shift in
--   the first increment of a <tt>TimeBasedCanary</tt> deployment.</li>
--   </ul>
timeBasedCanary :: TimeBasedCanary

-- | The number of minutes between the first and second traffic shifts of a
--   <tt>TimeBasedCanary</tt> deployment.
tbcCanaryInterval :: Lens' TimeBasedCanary (Maybe Int)

-- | The percentage of traffic to shift in the first increment of a
--   <tt>TimeBasedCanary</tt> deployment.
tbcCanaryPercentage :: Lens' TimeBasedCanary (Maybe Int)

-- | A configuration that shifts traffic from one version of a Lambda
--   function to another in equal increments, with an equal number of
--   minutes between each increment. The original and target Lambda
--   function versions are specified in the deployment's AppSpec file.
--   
--   <i>See:</i> <a>timeBasedLinear</a> smart constructor.
data TimeBasedLinear

-- | Creates a value of <a>TimeBasedLinear</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tblLinearInterval</a> - The number of minutes between each
--   incremental traffic shift of a <tt>TimeBasedLinear</tt>
--   deployment.</li>
--   <li><a>tblLinearPercentage</a> - The percentage of traffic that is
--   shifted at the start of each increment of a <tt>TimeBasedLinear</tt>
--   deployment.</li>
--   </ul>
timeBasedLinear :: TimeBasedLinear

-- | The number of minutes between each incremental traffic shift of a
--   <tt>TimeBasedLinear</tt> deployment.
tblLinearInterval :: Lens' TimeBasedLinear (Maybe Int)

-- | The percentage of traffic that is shifted at the start of each
--   increment of a <tt>TimeBasedLinear</tt> deployment.
tblLinearPercentage :: Lens' TimeBasedLinear (Maybe Int)

-- | Information about a time range.
--   
--   <i>See:</i> <a>timeRange</a> smart constructor.
data TimeRange

-- | Creates a value of <a>TimeRange</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trStart</a> - The start time of the time range.</li>
--   <li><a>trEnd</a> - The end time of the time range.</li>
--   </ul>
timeRange :: TimeRange

-- | The start time of the time range.
trStart :: Lens' TimeRange (Maybe UTCTime)

-- | The end time of the time range.
trEnd :: Lens' TimeRange (Maybe UTCTime)

-- | The configuration that specifies how traffic is shifted from one
--   version of a Lambda function to another version during an AWS Lambda
--   deployment.
--   
--   <i>See:</i> <a>trafficRoutingConfig</a> smart constructor.
data TrafficRoutingConfig

-- | Creates a value of <a>TrafficRoutingConfig</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trcTimeBasedCanary</a> - A configuration that shifts traffic
--   from one version of a Lambda function to another in two increments.
--   The original and target Lambda function versions are specified in the
--   deployment's AppSpec file.</li>
--   <li><a>trcTimeBasedLinear</a> - A configuration that shifts traffic
--   from one version of a Lambda function to another in equal increments,
--   with an equal number of minutes between each increment. The original
--   and target Lambda function versions are specified in the deployment's
--   AppSpec file.</li>
--   <li><a>trcType</a> - The type of traffic shifting
--   (<tt>TimeBasedCanary</tt> or <tt>TimeBasedLinear</tt> ) used by a
--   deployment configuration .</li>
--   </ul>
trafficRoutingConfig :: TrafficRoutingConfig

-- | A configuration that shifts traffic from one version of a Lambda
--   function to another in two increments. The original and target Lambda
--   function versions are specified in the deployment's AppSpec file.
trcTimeBasedCanary :: Lens' TrafficRoutingConfig (Maybe TimeBasedCanary)

-- | A configuration that shifts traffic from one version of a Lambda
--   function to another in equal increments, with an equal number of
--   minutes between each increment. The original and target Lambda
--   function versions are specified in the deployment's AppSpec file.
trcTimeBasedLinear :: Lens' TrafficRoutingConfig (Maybe TimeBasedLinear)

-- | The type of traffic shifting (<tt>TimeBasedCanary</tt> or
--   <tt>TimeBasedLinear</tt> ) used by a deployment configuration .
trcType :: Lens' TrafficRoutingConfig (Maybe TrafficRoutingType)

-- | Information about notification triggers for the deployment group.
--   
--   <i>See:</i> <a>triggerConfig</a> smart constructor.
data TriggerConfig

-- | Creates a value of <a>TriggerConfig</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tcTriggerName</a> - The name of the notification trigger.</li>
--   <li><a>tcTriggerEvents</a> - The event type or types for which
--   notifications are triggered.</li>
--   <li><a>tcTriggerTargetARN</a> - The ARN of the Amazon Simple
--   Notification Service topic through which notifications about
--   deployment or instance events are sent.</li>
--   </ul>
triggerConfig :: TriggerConfig

-- | The name of the notification trigger.
tcTriggerName :: Lens' TriggerConfig (Maybe Text)

-- | The event type or types for which notifications are triggered.
tcTriggerEvents :: Lens' TriggerConfig [TriggerEventType]

-- | The ARN of the Amazon Simple Notification Service topic through which
--   notifications about deployment or instance events are sent.
tcTriggerTargetARN :: Lens' TriggerConfig (Maybe Text)


-- | Attempts to stop an ongoing deployment.
module Network.AWS.CodeDeploy.StopDeployment

-- | Creates a value of <a>StopDeployment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdAutoRollbackEnabled</a> - Indicates, when a deployment is
--   stopped, whether instances that have been updated should be rolled
--   back to the previous version of the application revision.</li>
--   <li><a>sdDeploymentId</a> - The unique ID of a deployment.</li>
--   </ul>
stopDeployment :: Text -> StopDeployment

-- | Represents the input of a StopDeployment operation.
--   
--   <i>See:</i> <a>stopDeployment</a> smart constructor.
data StopDeployment

-- | Indicates, when a deployment is stopped, whether instances that have
--   been updated should be rolled back to the previous version of the
--   application revision.
sdAutoRollbackEnabled :: Lens' StopDeployment (Maybe Bool)

-- | The unique ID of a deployment.
sdDeploymentId :: Lens' StopDeployment Text

-- | Creates a value of <a>StopDeploymentResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>sdrsStatus</a> - The status of the stop deployment operation: *
--   Pending: The stop operation is pending. * Succeeded: The stop
--   operation was successful.</li>
--   <li><a>sdrsStatusMessage</a> - An accompanying status message.</li>
--   <li><a>sdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
stopDeploymentResponse :: Int -> StopDeploymentResponse

-- | Represents the output of a StopDeployment operation.
--   
--   <i>See:</i> <a>stopDeploymentResponse</a> smart constructor.
data StopDeploymentResponse

-- | The status of the stop deployment operation: * Pending: The stop
--   operation is pending. * Succeeded: The stop operation was successful.
sdrsStatus :: Lens' StopDeploymentResponse (Maybe StopStatus)

-- | An accompanying status message.
sdrsStatusMessage :: Lens' StopDeploymentResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
sdrsResponseStatus :: Lens' StopDeploymentResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.StopDeployment.StopDeploymentResponse
instance Data.Data.Data Network.AWS.CodeDeploy.StopDeployment.StopDeploymentResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.StopDeployment.StopDeploymentResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.StopDeployment.StopDeploymentResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.StopDeployment.StopDeploymentResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance Data.Data.Data Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance GHC.Show.Show Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance GHC.Read.Read Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance GHC.Classes.Eq Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.StopDeployment.StopDeploymentResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.StopDeployment.StopDeployment
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.StopDeployment.StopDeployment


-- | In a blue/green deployment, overrides any specified wait time and
--   starts terminating instances immediately after the traffic routing is
--   completed.
module Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination

-- | Creates a value of <a>SkipWaitTimeForInstanceTermination</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>swtfitDeploymentId</a> - The ID of the blue/green deployment
--   for which you want to skip the instance termination wait time.</li>
--   </ul>
skipWaitTimeForInstanceTermination :: SkipWaitTimeForInstanceTermination

-- | <i>See:</i> <a>skipWaitTimeForInstanceTermination</a> smart
--   constructor.
data SkipWaitTimeForInstanceTermination

-- | The ID of the blue/green deployment for which you want to skip the
--   instance termination wait time.
swtfitDeploymentId :: Lens' SkipWaitTimeForInstanceTermination (Maybe Text)

-- | Creates a value of <a>SkipWaitTimeForInstanceTerminationResponse</a>
--   with the minimum fields required to make a request.
skipWaitTimeForInstanceTerminationResponse :: SkipWaitTimeForInstanceTerminationResponse

-- | <i>See:</i> <a>skipWaitTimeForInstanceTerminationResponse</a> smart
--   constructor.
data SkipWaitTimeForInstanceTerminationResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTerminationResponse
instance Data.Data.Data Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTerminationResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTerminationResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTerminationResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTerminationResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance Data.Data.Data Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance GHC.Show.Show Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance GHC.Read.Read Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance GHC.Classes.Eq Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTerminationResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.SkipWaitTimeForInstanceTermination.SkipWaitTimeForInstanceTermination


-- | Removes one or more tags from one or more on-premises instances.
module Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances

-- | Creates a value of <a>RemoveTagsFromOnPremisesInstances</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rtfopiTags</a> - The tag key-value pairs to remove from the
--   on-premises instances.</li>
--   <li><a>rtfopiInstanceNames</a> - The names of the on-premises
--   instances from which to remove tags.</li>
--   </ul>
removeTagsFromOnPremisesInstances :: RemoveTagsFromOnPremisesInstances

-- | Represents the input of a RemoveTagsFromOnPremisesInstances operation.
--   
--   <i>See:</i> <a>removeTagsFromOnPremisesInstances</a> smart
--   constructor.
data RemoveTagsFromOnPremisesInstances

-- | The tag key-value pairs to remove from the on-premises instances.
rtfopiTags :: Lens' RemoveTagsFromOnPremisesInstances [Tag]

-- | The names of the on-premises instances from which to remove tags.
rtfopiInstanceNames :: Lens' RemoveTagsFromOnPremisesInstances [Text]

-- | Creates a value of <a>RemoveTagsFromOnPremisesInstancesResponse</a>
--   with the minimum fields required to make a request.
removeTagsFromOnPremisesInstancesResponse :: RemoveTagsFromOnPremisesInstancesResponse

-- | <i>See:</i> <a>removeTagsFromOnPremisesInstancesResponse</a> smart
--   constructor.
data RemoveTagsFromOnPremisesInstancesResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstancesResponse
instance Data.Data.Data Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstancesResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstancesResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstancesResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstancesResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance Data.Data.Data Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance GHC.Show.Show Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance GHC.Read.Read Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance GHC.Classes.Eq Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstancesResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.RemoveTagsFromOnPremisesInstances.RemoveTagsFromOnPremisesInstances


-- | Registers an on-premises instance.
module Network.AWS.CodeDeploy.RegisterOnPremisesInstance

-- | Creates a value of <a>RegisterOnPremisesInstance</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ropiIamUserARN</a> - The ARN of the IAM user to associate with
--   the on-premises instance.</li>
--   <li><a>ropiIamSessionARN</a> - The ARN of the IAM session to associate
--   with the on-premises instance.</li>
--   <li><a>ropiInstanceName</a> - The name of the on-premises instance to
--   register.</li>
--   </ul>
registerOnPremisesInstance :: Text -> RegisterOnPremisesInstance

-- | Represents the input of the register on-premises instance operation.
--   
--   <i>See:</i> <a>registerOnPremisesInstance</a> smart constructor.
data RegisterOnPremisesInstance

-- | The ARN of the IAM user to associate with the on-premises instance.
ropiIamUserARN :: Lens' RegisterOnPremisesInstance (Maybe Text)

-- | The ARN of the IAM session to associate with the on-premises instance.
ropiIamSessionARN :: Lens' RegisterOnPremisesInstance (Maybe Text)

-- | The name of the on-premises instance to register.
ropiInstanceName :: Lens' RegisterOnPremisesInstance Text

-- | Creates a value of <a>RegisterOnPremisesInstanceResponse</a> with the
--   minimum fields required to make a request.
registerOnPremisesInstanceResponse :: RegisterOnPremisesInstanceResponse

-- | <i>See:</i> <a>registerOnPremisesInstanceResponse</a> smart
--   constructor.
data RegisterOnPremisesInstanceResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstanceResponse
instance Data.Data.Data Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstanceResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstanceResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstanceResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstanceResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance Data.Data.Data Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance GHC.Show.Show Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance GHC.Read.Read Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance GHC.Classes.Eq Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstanceResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.RegisterOnPremisesInstance.RegisterOnPremisesInstance


-- | Registers with AWS CodeDeploy a revision for the specified
--   application.
module Network.AWS.CodeDeploy.RegisterApplicationRevision

-- | Creates a value of <a>RegisterApplicationRevision</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rarDescription</a> - A comment about the revision.</li>
--   <li><a>rarApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   <li><a>rarRevision</a> - Information about the application revision to
--   register, including type and location.</li>
--   </ul>
registerApplicationRevision :: Text -> RevisionLocation -> RegisterApplicationRevision

-- | Represents the input of a RegisterApplicationRevision operation.
--   
--   <i>See:</i> <a>registerApplicationRevision</a> smart constructor.
data RegisterApplicationRevision

-- | A comment about the revision.
rarDescription :: Lens' RegisterApplicationRevision (Maybe Text)

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
rarApplicationName :: Lens' RegisterApplicationRevision Text

-- | Information about the application revision to register, including type
--   and location.
rarRevision :: Lens' RegisterApplicationRevision RevisionLocation

-- | Creates a value of <a>RegisterApplicationRevisionResponse</a> with the
--   minimum fields required to make a request.
registerApplicationRevisionResponse :: RegisterApplicationRevisionResponse

-- | <i>See:</i> <a>registerApplicationRevisionResponse</a> smart
--   constructor.
data RegisterApplicationRevisionResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevisionResponse
instance Data.Data.Data Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevisionResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevisionResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevisionResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevisionResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance Data.Data.Data Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance GHC.Show.Show Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance GHC.Read.Read Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance GHC.Classes.Eq Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevisionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.RegisterApplicationRevision.RegisterApplicationRevision


-- | Sets the result of a Lambda validation function. The function
--   validates one or both lifecycle events (<tt>BeforeAllowTraffic</tt>
--   and <tt>AfterAllowTraffic</tt> ) and returns <tt>Succeeded</tt> or
--   <tt>Failed</tt> .
module Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus

-- | Creates a value of <a>PutLifecycleEventHookExecutionStatus</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plehesStatus</a> - The result of a Lambda function that
--   validates a deployment lifecycle event (<tt>Succeeded</tt> or
--   <tt>Failed</tt> ).</li>
--   <li><a>plehesDeploymentId</a> - The ID of the deployment. Pass this ID
--   to a Lambda function that validates a deployment lifecycle event.</li>
--   <li><a>plehesLifecycleEventHookExecutionId</a> - The execution ID of a
--   deployment's lifecycle hook. A deployment lifecycle hook is specified
--   in the <tt>hooks</tt> section of the AppSpec file.</li>
--   </ul>
putLifecycleEventHookExecutionStatus :: PutLifecycleEventHookExecutionStatus

-- | <i>See:</i> <a>putLifecycleEventHookExecutionStatus</a> smart
--   constructor.
data PutLifecycleEventHookExecutionStatus

-- | The result of a Lambda function that validates a deployment lifecycle
--   event (<tt>Succeeded</tt> or <tt>Failed</tt> ).
plehesStatus :: Lens' PutLifecycleEventHookExecutionStatus (Maybe LifecycleEventStatus)

-- | The ID of the deployment. Pass this ID to a Lambda function that
--   validates a deployment lifecycle event.
plehesDeploymentId :: Lens' PutLifecycleEventHookExecutionStatus (Maybe Text)

-- | The execution ID of a deployment's lifecycle hook. A deployment
--   lifecycle hook is specified in the <tt>hooks</tt> section of the
--   AppSpec file.
plehesLifecycleEventHookExecutionId :: Lens' PutLifecycleEventHookExecutionStatus (Maybe Text)

-- | Creates a value of <a>PutLifecycleEventHookExecutionStatusResponse</a>
--   with the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>plehesrsLifecycleEventHookExecutionId</a> - The execution ID of
--   the lifecycle event hook. A hook is specified in the <tt>hooks</tt>
--   section of the deployment's AppSpec file.</li>
--   <li><a>plehesrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
putLifecycleEventHookExecutionStatusResponse :: Int -> PutLifecycleEventHookExecutionStatusResponse

-- | <i>See:</i> <a>putLifecycleEventHookExecutionStatusResponse</a> smart
--   constructor.
data PutLifecycleEventHookExecutionStatusResponse

-- | The execution ID of the lifecycle event hook. A hook is specified in
--   the <tt>hooks</tt> section of the deployment's AppSpec file.
plehesrsLifecycleEventHookExecutionId :: Lens' PutLifecycleEventHookExecutionStatusResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
plehesrsResponseStatus :: Lens' PutLifecycleEventHookExecutionStatusResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatusResponse
instance Data.Data.Data Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatusResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatusResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatusResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatusResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance Data.Data.Data Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance GHC.Show.Show Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance GHC.Read.Read Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance GHC.Classes.Eq Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatusResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.PutLifecycleEventHookExecutionStatus.PutLifecycleEventHookExecutionStatus


-- | Gets a list of names for one or more on-premises instances.
--   
--   Unless otherwise specified, both registered and deregistered
--   on-premises instance names will be listed. To list only registered or
--   deregistered on-premises instance names, use the registration status
--   parameter.
module Network.AWS.CodeDeploy.ListOnPremisesInstances

-- | Creates a value of <a>ListOnPremisesInstances</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lopiTagFilters</a> - The on-premises instance tags that will be
--   used to restrict the corresponding on-premises instance names
--   returned.</li>
--   <li><a>lopiNextToken</a> - An identifier returned from the previous
--   list on-premises instances call. It can be used to return the next set
--   of on-premises instances in the list.</li>
--   <li><a>lopiRegistrationStatus</a> - The registration status of the
--   on-premises instances: * Deregistered: Include deregistered
--   on-premises instances in the resulting list. * Registered: Include
--   registered on-premises instances in the resulting list.</li>
--   </ul>
listOnPremisesInstances :: ListOnPremisesInstances

-- | Represents the input of a ListOnPremisesInstances operation.
--   
--   <i>See:</i> <a>listOnPremisesInstances</a> smart constructor.
data ListOnPremisesInstances

-- | The on-premises instance tags that will be used to restrict the
--   corresponding on-premises instance names returned.
lopiTagFilters :: Lens' ListOnPremisesInstances [TagFilter]

-- | An identifier returned from the previous list on-premises instances
--   call. It can be used to return the next set of on-premises instances
--   in the list.
lopiNextToken :: Lens' ListOnPremisesInstances (Maybe Text)

-- | The registration status of the on-premises instances: * Deregistered:
--   Include deregistered on-premises instances in the resulting list. *
--   Registered: Include registered on-premises instances in the resulting
--   list.
lopiRegistrationStatus :: Lens' ListOnPremisesInstances (Maybe RegistrationStatus)

-- | Creates a value of <a>ListOnPremisesInstancesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lopirsNextToken</a> - If a large amount of information is
--   returned, an identifier is also returned. It can be used in a
--   subsequent list on-premises instances call to return the next set of
--   on-premises instances in the list.</li>
--   <li><a>lopirsInstanceNames</a> - The list of matching on-premises
--   instance names.</li>
--   <li><a>lopirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listOnPremisesInstancesResponse :: Int -> ListOnPremisesInstancesResponse

-- | Represents the output of list on-premises instances operation.
--   
--   <i>See:</i> <a>listOnPremisesInstancesResponse</a> smart constructor.
data ListOnPremisesInstancesResponse

-- | If a large amount of information is returned, an identifier is also
--   returned. It can be used in a subsequent list on-premises instances
--   call to return the next set of on-premises instances in the list.
lopirsNextToken :: Lens' ListOnPremisesInstancesResponse (Maybe Text)

-- | The list of matching on-premises instance names.
lopirsInstanceNames :: Lens' ListOnPremisesInstancesResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lopirsResponseStatus :: Lens' ListOnPremisesInstancesResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstancesResponse
instance Data.Data.Data Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstancesResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstancesResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstancesResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstancesResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance Data.Data.Data Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance GHC.Show.Show Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance GHC.Read.Read Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstancesResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.ListOnPremisesInstances.ListOnPremisesInstances


-- | Lists the names of stored connections to GitHub accounts.
module Network.AWS.CodeDeploy.ListGitHubAccountTokenNames

-- | Creates a value of <a>ListGitHubAccountTokenNames</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lghatnNextToken</a> - An identifier returned from the previous
--   ListGitHubAccountTokenNames call. It can be used to return the next
--   set of names in the list.</li>
--   </ul>
listGitHubAccountTokenNames :: ListGitHubAccountTokenNames

-- | Represents the input of a ListGitHubAccountTokenNames operation.
--   
--   <i>See:</i> <a>listGitHubAccountTokenNames</a> smart constructor.
data ListGitHubAccountTokenNames

-- | An identifier returned from the previous ListGitHubAccountTokenNames
--   call. It can be used to return the next set of names in the list.
lghatnNextToken :: Lens' ListGitHubAccountTokenNames (Maybe Text)

-- | Creates a value of <a>ListGitHubAccountTokenNamesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lghatnrsTokenNameList</a> - A list of names of connections to
--   GitHub accounts.</li>
--   <li><a>lghatnrsNextToken</a> - If a large amount of information is
--   returned, an identifier is also returned. It can be used in a
--   subsequent ListGitHubAccountTokenNames call to return the next set of
--   names in the list.</li>
--   <li><a>lghatnrsResponseStatus</a> - -- | The response status
--   code.</li>
--   </ul>
listGitHubAccountTokenNamesResponse :: Int -> ListGitHubAccountTokenNamesResponse

-- | Represents the output of a ListGitHubAccountTokenNames operation.
--   
--   <i>See:</i> <a>listGitHubAccountTokenNamesResponse</a> smart
--   constructor.
data ListGitHubAccountTokenNamesResponse

-- | A list of names of connections to GitHub accounts.
lghatnrsTokenNameList :: Lens' ListGitHubAccountTokenNamesResponse [Text]

-- | If a large amount of information is returned, an identifier is also
--   returned. It can be used in a subsequent ListGitHubAccountTokenNames
--   call to return the next set of names in the list.
lghatnrsNextToken :: Lens' ListGitHubAccountTokenNamesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
lghatnrsResponseStatus :: Lens' ListGitHubAccountTokenNamesResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNamesResponse
instance Data.Data.Data Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNamesResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNamesResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNamesResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNamesResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance Data.Data.Data Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance GHC.Show.Show Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance GHC.Read.Read Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNamesResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.ListGitHubAccountTokenNames.ListGitHubAccountTokenNames


-- | Lists the deployments in a deployment group for an application
--   registered with the applicable IAM user or AWS account.
--   
--   This operation returns paginated results.
module Network.AWS.CodeDeploy.ListDeployments

-- | Creates a value of <a>ListDeployments</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldCreateTimeRange</a> - A time range (start and end) for
--   returning a subset of the list of deployments.</li>
--   <li><a>ldNextToken</a> - An identifier returned from the previous list
--   deployments call. It can be used to return the next set of deployments
--   in the list.</li>
--   <li><a>ldIncludeOnlyStatuses</a> - A subset of deployments to list by
--   status: * Created: Include created deployments in the resulting list.
--   * Queued: Include queued deployments in the resulting list. * In
--   Progress: Include in-progress deployments in the resulting list. *
--   Succeeded: Include successful deployments in the resulting list. *
--   Failed: Include failed deployments in the resulting list. * Stopped:
--   Include stopped deployments in the resulting list.</li>
--   <li><a>ldApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   <li><a>ldDeploymentGroupName</a> - The name of an existing deployment
--   group for the specified application.</li>
--   </ul>
listDeployments :: ListDeployments

-- | Represents the input of a ListDeployments operation.
--   
--   <i>See:</i> <a>listDeployments</a> smart constructor.
data ListDeployments

-- | A time range (start and end) for returning a subset of the list of
--   deployments.
ldCreateTimeRange :: Lens' ListDeployments (Maybe TimeRange)

-- | An identifier returned from the previous list deployments call. It can
--   be used to return the next set of deployments in the list.
ldNextToken :: Lens' ListDeployments (Maybe Text)

-- | A subset of deployments to list by status: * Created: Include created
--   deployments in the resulting list. * Queued: Include queued
--   deployments in the resulting list. * In Progress: Include in-progress
--   deployments in the resulting list. * Succeeded: Include successful
--   deployments in the resulting list. * Failed: Include failed
--   deployments in the resulting list. * Stopped: Include stopped
--   deployments in the resulting list.
ldIncludeOnlyStatuses :: Lens' ListDeployments [DeploymentStatus]

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
ldApplicationName :: Lens' ListDeployments (Maybe Text)

-- | The name of an existing deployment group for the specified
--   application.
ldDeploymentGroupName :: Lens' ListDeployments (Maybe Text)

-- | Creates a value of <a>ListDeploymentsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldrsNextToken</a> - If a large amount of information is
--   returned, an identifier is also returned. It can be used in a
--   subsequent list deployments call to return the next set of deployments
--   in the list.</li>
--   <li><a>ldrsDeployments</a> - A list of deployment IDs.</li>
--   <li><a>ldrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDeploymentsResponse :: Int -> ListDeploymentsResponse

-- | Represents the output of a ListDeployments operation.
--   
--   <i>See:</i> <a>listDeploymentsResponse</a> smart constructor.
data ListDeploymentsResponse

-- | If a large amount of information is returned, an identifier is also
--   returned. It can be used in a subsequent list deployments call to
--   return the next set of deployments in the list.
ldrsNextToken :: Lens' ListDeploymentsResponse (Maybe Text)

-- | A list of deployment IDs.
ldrsDeployments :: Lens' ListDeploymentsResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldrsResponseStatus :: Lens' ListDeploymentsResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListDeployments.ListDeploymentsResponse
instance Data.Data.Data Network.AWS.CodeDeploy.ListDeployments.ListDeploymentsResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.ListDeployments.ListDeploymentsResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.ListDeployments.ListDeploymentsResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListDeployments.ListDeploymentsResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance Data.Data.Data Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance GHC.Show.Show Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance GHC.Read.Read Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListDeployments.ListDeploymentsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.ListDeployments.ListDeployments
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.ListDeployments.ListDeployments


-- | Lists the instance for a deployment associated with the applicable IAM
--   user or AWS account.
--   
--   This operation returns paginated results.
module Network.AWS.CodeDeploy.ListDeploymentInstances

-- | Creates a value of <a>ListDeploymentInstances</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lInstanceStatusFilter</a> - A subset of instances to list by
--   status: * Pending: Include those instance with pending deployments. *
--   InProgress: Include those instance where deployments are still in
--   progress. * Succeeded: Include those instances with successful
--   deployments. * Failed: Include those instance with failed deployments.
--   * Skipped: Include those instance with skipped deployments. * Unknown:
--   Include those instance with deployments in an unknown state.</li>
--   <li><a>lNextToken</a> - An identifier returned from the previous list
--   deployment instances call. It can be used to return the next set of
--   deployment instances in the list.</li>
--   <li><a>lInstanceTypeFilter</a> - The set of instances in a blue/green
--   deployment, either those in the original environment (<a>BLUE</a>) or
--   those in the replacement environment (<a>GREEN</a>), for which you
--   want to view instance information.</li>
--   <li><a>lDeploymentId</a> - The unique ID of a deployment.</li>
--   </ul>
listDeploymentInstances :: Text -> ListDeploymentInstances

-- | Represents the input of a ListDeploymentInstances operation.
--   
--   <i>See:</i> <a>listDeploymentInstances</a> smart constructor.
data ListDeploymentInstances

-- | A subset of instances to list by status: * Pending: Include those
--   instance with pending deployments. * InProgress: Include those
--   instance where deployments are still in progress. * Succeeded: Include
--   those instances with successful deployments. * Failed: Include those
--   instance with failed deployments. * Skipped: Include those instance
--   with skipped deployments. * Unknown: Include those instance with
--   deployments in an unknown state.
lInstanceStatusFilter :: Lens' ListDeploymentInstances [InstanceStatus]

-- | An identifier returned from the previous list deployment instances
--   call. It can be used to return the next set of deployment instances in
--   the list.
lNextToken :: Lens' ListDeploymentInstances (Maybe Text)

-- | The set of instances in a blue/green deployment, either those in the
--   original environment (<a>BLUE</a>) or those in the replacement
--   environment (<a>GREEN</a>), for which you want to view instance
--   information.
lInstanceTypeFilter :: Lens' ListDeploymentInstances [InstanceType]

-- | The unique ID of a deployment.
lDeploymentId :: Lens' ListDeploymentInstances Text

-- | Creates a value of <a>ListDeploymentInstancesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldirsNextToken</a> - If a large amount of information is
--   returned, an identifier is also returned. It can be used in a
--   subsequent list deployment instances call to return the next set of
--   deployment instances in the list.</li>
--   <li><a>ldirsInstancesList</a> - A list of instance IDs.</li>
--   <li><a>ldirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDeploymentInstancesResponse :: Int -> ListDeploymentInstancesResponse

-- | Represents the output of a ListDeploymentInstances operation.
--   
--   <i>See:</i> <a>listDeploymentInstancesResponse</a> smart constructor.
data ListDeploymentInstancesResponse

-- | If a large amount of information is returned, an identifier is also
--   returned. It can be used in a subsequent list deployment instances
--   call to return the next set of deployment instances in the list.
ldirsNextToken :: Lens' ListDeploymentInstancesResponse (Maybe Text)

-- | A list of instance IDs.
ldirsInstancesList :: Lens' ListDeploymentInstancesResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldirsResponseStatus :: Lens' ListDeploymentInstancesResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstancesResponse
instance Data.Data.Data Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstancesResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstancesResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstancesResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstancesResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance Data.Data.Data Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance GHC.Show.Show Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance GHC.Read.Read Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstancesResponse
instance Network.AWS.Pager.AWSPager Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.ListDeploymentInstances.ListDeploymentInstances


-- | Lists the deployment groups for an application registered with the
--   applicable IAM user or AWS account.
--   
--   This operation returns paginated results.
module Network.AWS.CodeDeploy.ListDeploymentGroups

-- | Creates a value of <a>ListDeploymentGroups</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldgNextToken</a> - An identifier returned from the previous
--   list deployment groups call. It can be used to return the next set of
--   deployment groups in the list.</li>
--   <li><a>ldgApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   </ul>
listDeploymentGroups :: Text -> ListDeploymentGroups

-- | Represents the input of a ListDeploymentGroups operation.
--   
--   <i>See:</i> <a>listDeploymentGroups</a> smart constructor.
data ListDeploymentGroups

-- | An identifier returned from the previous list deployment groups call.
--   It can be used to return the next set of deployment groups in the
--   list.
ldgNextToken :: Lens' ListDeploymentGroups (Maybe Text)

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
ldgApplicationName :: Lens' ListDeploymentGroups Text

-- | Creates a value of <a>ListDeploymentGroupsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldgrsNextToken</a> - If a large amount of information is
--   returned, an identifier is also returned. It can be used in a
--   subsequent list deployment groups call to return the next set of
--   deployment groups in the list.</li>
--   <li><a>ldgrsApplicationName</a> - The application name.</li>
--   <li><a>ldgrsDeploymentGroups</a> - A list of corresponding deployment
--   group names.</li>
--   <li><a>ldgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDeploymentGroupsResponse :: Int -> ListDeploymentGroupsResponse

-- | Represents the output of a ListDeploymentGroups operation.
--   
--   <i>See:</i> <a>listDeploymentGroupsResponse</a> smart constructor.
data ListDeploymentGroupsResponse

-- | If a large amount of information is returned, an identifier is also
--   returned. It can be used in a subsequent list deployment groups call
--   to return the next set of deployment groups in the list.
ldgrsNextToken :: Lens' ListDeploymentGroupsResponse (Maybe Text)

-- | The application name.
ldgrsApplicationName :: Lens' ListDeploymentGroupsResponse (Maybe Text)

-- | A list of corresponding deployment group names.
ldgrsDeploymentGroups :: Lens' ListDeploymentGroupsResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldgrsResponseStatus :: Lens' ListDeploymentGroupsResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroupsResponse
instance Data.Data.Data Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroupsResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroupsResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroupsResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroupsResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance Data.Data.Data Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance GHC.Show.Show Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance GHC.Read.Read Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroupsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.ListDeploymentGroups.ListDeploymentGroups


-- | Lists the deployment configurations with the applicable IAM user or
--   AWS account.
--   
--   This operation returns paginated results.
module Network.AWS.CodeDeploy.ListDeploymentConfigs

-- | Creates a value of <a>ListDeploymentConfigs</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldcNextToken</a> - An identifier returned from the previous
--   list deployment configurations call. It can be used to return the next
--   set of deployment configurations in the list.</li>
--   </ul>
listDeploymentConfigs :: ListDeploymentConfigs

-- | Represents the input of a ListDeploymentConfigs operation.
--   
--   <i>See:</i> <a>listDeploymentConfigs</a> smart constructor.
data ListDeploymentConfigs

-- | An identifier returned from the previous list deployment
--   configurations call. It can be used to return the next set of
--   deployment configurations in the list.
ldcNextToken :: Lens' ListDeploymentConfigs (Maybe Text)

-- | Creates a value of <a>ListDeploymentConfigsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldcrsNextToken</a> - If a large amount of information is
--   returned, an identifier is also returned. It can be used in a
--   subsequent list deployment configurations call to return the next set
--   of deployment configurations in the list.</li>
--   <li><a>ldcrsDeploymentConfigsList</a> - A list of deployment
--   configurations, including built-in configurations such as
--   CodeDeployDefault.OneAtATime.</li>
--   <li><a>ldcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listDeploymentConfigsResponse :: Int -> ListDeploymentConfigsResponse

-- | Represents the output of a ListDeploymentConfigs operation.
--   
--   <i>See:</i> <a>listDeploymentConfigsResponse</a> smart constructor.
data ListDeploymentConfigsResponse

-- | If a large amount of information is returned, an identifier is also
--   returned. It can be used in a subsequent list deployment
--   configurations call to return the next set of deployment
--   configurations in the list.
ldcrsNextToken :: Lens' ListDeploymentConfigsResponse (Maybe Text)

-- | A list of deployment configurations, including built-in configurations
--   such as CodeDeployDefault.OneAtATime.
ldcrsDeploymentConfigsList :: Lens' ListDeploymentConfigsResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ldcrsResponseStatus :: Lens' ListDeploymentConfigsResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigsResponse
instance Data.Data.Data Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigsResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigsResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigsResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigsResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance Data.Data.Data Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance GHC.Show.Show Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance GHC.Read.Read Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.ListDeploymentConfigs.ListDeploymentConfigs


-- | Lists the applications registered with the applicable IAM user or AWS
--   account.
--   
--   This operation returns paginated results.
module Network.AWS.CodeDeploy.ListApplications

-- | Creates a value of <a>ListApplications</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>laNextToken</a> - An identifier returned from the previous list
--   applications call. It can be used to return the next set of
--   applications in the list.</li>
--   </ul>
listApplications :: ListApplications

-- | Represents the input of a ListApplications operation.
--   
--   <i>See:</i> <a>listApplications</a> smart constructor.
data ListApplications

-- | An identifier returned from the previous list applications call. It
--   can be used to return the next set of applications in the list.
laNextToken :: Lens' ListApplications (Maybe Text)

-- | Creates a value of <a>ListApplicationsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>larsNextToken</a> - If a large amount of information is
--   returned, an identifier is also returned. It can be used in a
--   subsequent list applications call to return the next set of
--   applications, will also be returned. in the list.</li>
--   <li><a>larsApplications</a> - A list of application names.</li>
--   <li><a>larsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listApplicationsResponse :: Int -> ListApplicationsResponse

-- | Represents the output of a ListApplications operation.
--   
--   <i>See:</i> <a>listApplicationsResponse</a> smart constructor.
data ListApplicationsResponse

-- | If a large amount of information is returned, an identifier is also
--   returned. It can be used in a subsequent list applications call to
--   return the next set of applications, will also be returned. in the
--   list.
larsNextToken :: Lens' ListApplicationsResponse (Maybe Text)

-- | A list of application names.
larsApplications :: Lens' ListApplicationsResponse [Text]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
larsResponseStatus :: Lens' ListApplicationsResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListApplications.ListApplicationsResponse
instance Data.Data.Data Network.AWS.CodeDeploy.ListApplications.ListApplicationsResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.ListApplications.ListApplicationsResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.ListApplications.ListApplicationsResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListApplications.ListApplicationsResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListApplications.ListApplications
instance Data.Data.Data Network.AWS.CodeDeploy.ListApplications.ListApplications
instance GHC.Show.Show Network.AWS.CodeDeploy.ListApplications.ListApplications
instance GHC.Read.Read Network.AWS.CodeDeploy.ListApplications.ListApplications
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListApplications.ListApplications
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.ListApplications.ListApplications
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListApplications.ListApplicationsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.CodeDeploy.ListApplications.ListApplications
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.ListApplications.ListApplications
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListApplications.ListApplications
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.ListApplications.ListApplications
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.ListApplications.ListApplications
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.ListApplications.ListApplications
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.ListApplications.ListApplications


-- | Lists information about revisions for an application.
--   
--   This operation returns paginated results.
module Network.AWS.CodeDeploy.ListApplicationRevisions

-- | Creates a value of <a>ListApplicationRevisions</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>larS3KeyPrefix</a> - A key prefix for the set of Amazon S3
--   objects to limit the search for revisions.</li>
--   <li><a>larDeployed</a> - Whether to list revisions based on whether
--   the revision is the target revision of an deployment group: * include:
--   List revisions that are target revisions of a deployment group. *
--   exclude: Do not list revisions that are target revisions of a
--   deployment group. * ignore: List all revisions.</li>
--   <li><a>larSortOrder</a> - The order in which to sort the list results:
--   * ascending: ascending order. * descending: descending order. If not
--   specified, the results will be sorted in ascending order. If set to
--   null, the results will be sorted in an arbitrary order.</li>
--   <li><a>larNextToken</a> - An identifier returned from the previous
--   list application revisions call. It can be used to return the next set
--   of applications in the list.</li>
--   <li><a>larS3Bucket</a> - An Amazon S3 bucket name to limit the search
--   for revisions. If set to null, all of the user's buckets will be
--   searched.</li>
--   <li><a>larSortBy</a> - The column name to use to sort the list
--   results: * registerTime: Sort by the time the revisions were
--   registered with AWS CodeDeploy. * firstUsedTime: Sort by the time the
--   revisions were first used in a deployment. * lastUsedTime: Sort by the
--   time the revisions were last used in a deployment. If not specified or
--   set to null, the results will be returned in an arbitrary order.</li>
--   <li><a>larApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   </ul>
listApplicationRevisions :: Text -> ListApplicationRevisions

-- | Represents the input of a ListApplicationRevisions operation.
--   
--   <i>See:</i> <a>listApplicationRevisions</a> smart constructor.
data ListApplicationRevisions

-- | A key prefix for the set of Amazon S3 objects to limit the search for
--   revisions.
larS3KeyPrefix :: Lens' ListApplicationRevisions (Maybe Text)

-- | Whether to list revisions based on whether the revision is the target
--   revision of an deployment group: * include: List revisions that are
--   target revisions of a deployment group. * exclude: Do not list
--   revisions that are target revisions of a deployment group. * ignore:
--   List all revisions.
larDeployed :: Lens' ListApplicationRevisions (Maybe ListStateFilterAction)

-- | The order in which to sort the list results: * ascending: ascending
--   order. * descending: descending order. If not specified, the results
--   will be sorted in ascending order. If set to null, the results will be
--   sorted in an arbitrary order.
larSortOrder :: Lens' ListApplicationRevisions (Maybe SortOrder)

-- | An identifier returned from the previous list application revisions
--   call. It can be used to return the next set of applications in the
--   list.
larNextToken :: Lens' ListApplicationRevisions (Maybe Text)

-- | An Amazon S3 bucket name to limit the search for revisions. If set to
--   null, all of the user's buckets will be searched.
larS3Bucket :: Lens' ListApplicationRevisions (Maybe Text)

-- | The column name to use to sort the list results: * registerTime: Sort
--   by the time the revisions were registered with AWS CodeDeploy. *
--   firstUsedTime: Sort by the time the revisions were first used in a
--   deployment. * lastUsedTime: Sort by the time the revisions were last
--   used in a deployment. If not specified or set to null, the results
--   will be returned in an arbitrary order.
larSortBy :: Lens' ListApplicationRevisions (Maybe ApplicationRevisionSortBy)

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
larApplicationName :: Lens' ListApplicationRevisions Text

-- | Creates a value of <a>ListApplicationRevisionsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>larrsNextToken</a> - If a large amount of information is
--   returned, an identifier will also be returned. It can be used in a
--   subsequent list application revisions call to return the next set of
--   application revisions in the list.</li>
--   <li><a>larrsRevisions</a> - A list of locations that contain the
--   matching revisions.</li>
--   <li><a>larrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
listApplicationRevisionsResponse :: Int -> ListApplicationRevisionsResponse

-- | Represents the output of a ListApplicationRevisions operation.
--   
--   <i>See:</i> <a>listApplicationRevisionsResponse</a> smart constructor.
data ListApplicationRevisionsResponse

-- | If a large amount of information is returned, an identifier will also
--   be returned. It can be used in a subsequent list application revisions
--   call to return the next set of application revisions in the list.
larrsNextToken :: Lens' ListApplicationRevisionsResponse (Maybe Text)

-- | A list of locations that contain the matching revisions.
larrsRevisions :: Lens' ListApplicationRevisionsResponse [RevisionLocation]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
larrsResponseStatus :: Lens' ListApplicationRevisionsResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisionsResponse
instance Data.Data.Data Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisionsResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisionsResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisionsResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisionsResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance Data.Data.Data Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance GHC.Show.Show Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance GHC.Read.Read Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisionsResponse
instance Network.AWS.Pager.AWSPager Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.ListApplicationRevisions.ListApplicationRevisions


-- | Gets information about an on-premises instance.
module Network.AWS.CodeDeploy.GetOnPremisesInstance

-- | Creates a value of <a>GetOnPremisesInstance</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gopiInstanceName</a> - The name of the on-premises instance
--   about which to get information.</li>
--   </ul>
getOnPremisesInstance :: Text -> GetOnPremisesInstance

-- | Represents the input of a GetOnPremisesInstance operation.
--   
--   <i>See:</i> <a>getOnPremisesInstance</a> smart constructor.
data GetOnPremisesInstance

-- | The name of the on-premises instance about which to get information.
gopiInstanceName :: Lens' GetOnPremisesInstance Text

-- | Creates a value of <a>GetOnPremisesInstanceResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gopirsInstanceInfo</a> - Information about the on-premises
--   instance.</li>
--   <li><a>gopirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getOnPremisesInstanceResponse :: Int -> GetOnPremisesInstanceResponse

-- | Represents the output of a GetOnPremisesInstance operation.
--   
--   <i>See:</i> <a>getOnPremisesInstanceResponse</a> smart constructor.
data GetOnPremisesInstanceResponse

-- | Information about the on-premises instance.
gopirsInstanceInfo :: Lens' GetOnPremisesInstanceResponse (Maybe InstanceInfo)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gopirsResponseStatus :: Lens' GetOnPremisesInstanceResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstanceResponse
instance Data.Data.Data Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstanceResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstanceResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstanceResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstanceResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance Data.Data.Data Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance GHC.Show.Show Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance GHC.Read.Read Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstanceResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.GetOnPremisesInstance.GetOnPremisesInstance


-- | Gets information about an instance as part of a deployment.
module Network.AWS.CodeDeploy.GetDeploymentInstance

-- | Creates a value of <a>GetDeploymentInstance</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdiDeploymentId</a> - The unique ID of a deployment.</li>
--   <li><a>gdiInstanceId</a> - The unique ID of an instance in the
--   deployment group.</li>
--   </ul>
getDeploymentInstance :: Text -> Text -> GetDeploymentInstance

-- | Represents the input of a GetDeploymentInstance operation.
--   
--   <i>See:</i> <a>getDeploymentInstance</a> smart constructor.
data GetDeploymentInstance

-- | The unique ID of a deployment.
gdiDeploymentId :: Lens' GetDeploymentInstance Text

-- | The unique ID of an instance in the deployment group.
gdiInstanceId :: Lens' GetDeploymentInstance Text

-- | Creates a value of <a>GetDeploymentInstanceResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdirsInstanceSummary</a> - Information about the instance.</li>
--   <li><a>gdirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDeploymentInstanceResponse :: Int -> GetDeploymentInstanceResponse

-- | Represents the output of a GetDeploymentInstance operation.
--   
--   <i>See:</i> <a>getDeploymentInstanceResponse</a> smart constructor.
data GetDeploymentInstanceResponse

-- | Information about the instance.
gdirsInstanceSummary :: Lens' GetDeploymentInstanceResponse (Maybe InstanceSummary)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdirsResponseStatus :: Lens' GetDeploymentInstanceResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstanceResponse
instance Data.Data.Data Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstanceResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstanceResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstanceResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstanceResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance Data.Data.Data Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance GHC.Show.Show Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance GHC.Read.Read Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstanceResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.GetDeploymentInstance.GetDeploymentInstance


-- | Gets information about a deployment group.
module Network.AWS.CodeDeploy.GetDeploymentGroup

-- | Creates a value of <a>GetDeploymentGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdgApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   <li><a>gdgDeploymentGroupName</a> - The name of an existing deployment
--   group for the specified application.</li>
--   </ul>
getDeploymentGroup :: Text -> Text -> GetDeploymentGroup

-- | Represents the input of a GetDeploymentGroup operation.
--   
--   <i>See:</i> <a>getDeploymentGroup</a> smart constructor.
data GetDeploymentGroup

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
gdgApplicationName :: Lens' GetDeploymentGroup Text

-- | The name of an existing deployment group for the specified
--   application.
gdgDeploymentGroupName :: Lens' GetDeploymentGroup Text

-- | Creates a value of <a>GetDeploymentGroupResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdgrsDeploymentGroupInfo</a> - Information about the deployment
--   group.</li>
--   <li><a>gdgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDeploymentGroupResponse :: Int -> GetDeploymentGroupResponse

-- | Represents the output of a GetDeploymentGroup operation.
--   
--   <i>See:</i> <a>getDeploymentGroupResponse</a> smart constructor.
data GetDeploymentGroupResponse

-- | Information about the deployment group.
gdgrsDeploymentGroupInfo :: Lens' GetDeploymentGroupResponse (Maybe DeploymentGroupInfo)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdgrsResponseStatus :: Lens' GetDeploymentGroupResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroupResponse
instance Data.Data.Data Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroupResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroupResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroupResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroupResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance Data.Data.Data Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance GHC.Show.Show Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance GHC.Read.Read Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.GetDeploymentGroup.GetDeploymentGroup


-- | Gets information about a deployment configuration.
module Network.AWS.CodeDeploy.GetDeploymentConfig

-- | Creates a value of <a>GetDeploymentConfig</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdcDeploymentConfigName</a> - The name of a deployment
--   configuration associated with the applicable IAM user or AWS
--   account.</li>
--   </ul>
getDeploymentConfig :: Text -> GetDeploymentConfig

-- | Represents the input of a GetDeploymentConfig operation.
--   
--   <i>See:</i> <a>getDeploymentConfig</a> smart constructor.
data GetDeploymentConfig

-- | The name of a deployment configuration associated with the applicable
--   IAM user or AWS account.
gdcDeploymentConfigName :: Lens' GetDeploymentConfig Text

-- | Creates a value of <a>GetDeploymentConfigResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdcrsDeploymentConfigInfo</a> - Information about the
--   deployment configuration.</li>
--   <li><a>gdcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDeploymentConfigResponse :: Int -> GetDeploymentConfigResponse

-- | Represents the output of a GetDeploymentConfig operation.
--   
--   <i>See:</i> <a>getDeploymentConfigResponse</a> smart constructor.
data GetDeploymentConfigResponse

-- | Information about the deployment configuration.
gdcrsDeploymentConfigInfo :: Lens' GetDeploymentConfigResponse (Maybe DeploymentConfigInfo)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdcrsResponseStatus :: Lens' GetDeploymentConfigResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfigResponse
instance Data.Data.Data Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfigResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfigResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfigResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfigResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance Data.Data.Data Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance GHC.Show.Show Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance GHC.Read.Read Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.GetDeploymentConfig.GetDeploymentConfig


-- | Gets information about a deployment.
module Network.AWS.CodeDeploy.GetDeployment

-- | Creates a value of <a>GetDeployment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdDeploymentId</a> - A deployment ID associated with the
--   applicable IAM user or AWS account.</li>
--   </ul>
getDeployment :: Text -> GetDeployment

-- | Represents the input of a GetDeployment operation.
--   
--   <i>See:</i> <a>getDeployment</a> smart constructor.
data GetDeployment

-- | A deployment ID associated with the applicable IAM user or AWS
--   account.
gdDeploymentId :: Lens' GetDeployment Text

-- | Creates a value of <a>GetDeploymentResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gdrsDeploymentInfo</a> - Information about the deployment.</li>
--   <li><a>gdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getDeploymentResponse :: Int -> GetDeploymentResponse

-- | Represents the output of a GetDeployment operation.
--   
--   <i>See:</i> <a>getDeploymentResponse</a> smart constructor.
data GetDeploymentResponse

-- | Information about the deployment.
gdrsDeploymentInfo :: Lens' GetDeploymentResponse (Maybe DeploymentInfo)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
gdrsResponseStatus :: Lens' GetDeploymentResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetDeployment.GetDeploymentResponse
instance Data.Data.Data Network.AWS.CodeDeploy.GetDeployment.GetDeploymentResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.GetDeployment.GetDeploymentResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.GetDeployment.GetDeploymentResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetDeployment.GetDeploymentResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance Data.Data.Data Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance GHC.Show.Show Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance GHC.Read.Read Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetDeployment.GetDeploymentResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.GetDeployment.GetDeployment
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.GetDeployment.GetDeployment


-- | Gets information about an application revision.
module Network.AWS.CodeDeploy.GetApplicationRevision

-- | Creates a value of <a>GetApplicationRevision</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>garApplicationName</a> - The name of the application that
--   corresponds to the revision.</li>
--   <li><a>garRevision</a> - Information about the application revision to
--   get, including type and location.</li>
--   </ul>
getApplicationRevision :: Text -> RevisionLocation -> GetApplicationRevision

-- | Represents the input of a GetApplicationRevision operation.
--   
--   <i>See:</i> <a>getApplicationRevision</a> smart constructor.
data GetApplicationRevision

-- | The name of the application that corresponds to the revision.
garApplicationName :: Lens' GetApplicationRevision Text

-- | Information about the application revision to get, including type and
--   location.
garRevision :: Lens' GetApplicationRevision RevisionLocation

-- | Creates a value of <a>GetApplicationRevisionResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>garrsApplicationName</a> - The name of the application that
--   corresponds to the revision.</li>
--   <li><a>garrsRevisionInfo</a> - General information about the
--   revision.</li>
--   <li><a>garrsRevision</a> - Additional information about the revision,
--   including type and location.</li>
--   <li><a>garrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getApplicationRevisionResponse :: Int -> GetApplicationRevisionResponse

-- | Represents the output of a GetApplicationRevision operation.
--   
--   <i>See:</i> <a>getApplicationRevisionResponse</a> smart constructor.
data GetApplicationRevisionResponse

-- | The name of the application that corresponds to the revision.
garrsApplicationName :: Lens' GetApplicationRevisionResponse (Maybe Text)

-- | General information about the revision.
garrsRevisionInfo :: Lens' GetApplicationRevisionResponse (Maybe GenericRevisionInfo)

-- | Additional information about the revision, including type and
--   location.
garrsRevision :: Lens' GetApplicationRevisionResponse (Maybe RevisionLocation)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
garrsResponseStatus :: Lens' GetApplicationRevisionResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevisionResponse
instance Data.Data.Data Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevisionResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevisionResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevisionResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevisionResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance Data.Data.Data Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance GHC.Show.Show Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance GHC.Read.Read Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevisionResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.GetApplicationRevision.GetApplicationRevision


-- | Gets information about an application.
module Network.AWS.CodeDeploy.GetApplication

-- | Creates a value of <a>GetApplication</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gaApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   </ul>
getApplication :: Text -> GetApplication

-- | Represents the input of a GetApplication operation.
--   
--   <i>See:</i> <a>getApplication</a> smart constructor.
data GetApplication

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
gaApplicationName :: Lens' GetApplication Text

-- | Creates a value of <a>GetApplicationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>garsApplication</a> - Information about the application.</li>
--   <li><a>garsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
getApplicationResponse :: Int -> GetApplicationResponse

-- | Represents the output of a GetApplication operation.
--   
--   <i>See:</i> <a>getApplicationResponse</a> smart constructor.
data GetApplicationResponse

-- | Information about the application.
garsApplication :: Lens' GetApplicationResponse (Maybe ApplicationInfo)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
garsResponseStatus :: Lens' GetApplicationResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetApplication.GetApplicationResponse
instance Data.Data.Data Network.AWS.CodeDeploy.GetApplication.GetApplicationResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.GetApplication.GetApplicationResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.GetApplication.GetApplicationResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetApplication.GetApplicationResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.GetApplication.GetApplication
instance Data.Data.Data Network.AWS.CodeDeploy.GetApplication.GetApplication
instance GHC.Show.Show Network.AWS.CodeDeploy.GetApplication.GetApplication
instance GHC.Read.Read Network.AWS.CodeDeploy.GetApplication.GetApplication
instance GHC.Classes.Eq Network.AWS.CodeDeploy.GetApplication.GetApplication
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.GetApplication.GetApplication
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetApplication.GetApplicationResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.GetApplication.GetApplication
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.GetApplication.GetApplication
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.GetApplication.GetApplication
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.GetApplication.GetApplication
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.GetApplication.GetApplication
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.GetApplication.GetApplication


-- | Deregisters an on-premises instance.
module Network.AWS.CodeDeploy.DeregisterOnPremisesInstance

-- | Creates a value of <a>DeregisterOnPremisesInstance</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dopiInstanceName</a> - The name of the on-premises instance to
--   deregister.</li>
--   </ul>
deregisterOnPremisesInstance :: Text -> DeregisterOnPremisesInstance

-- | Represents the input of a DeregisterOnPremisesInstance operation.
--   
--   <i>See:</i> <a>deregisterOnPremisesInstance</a> smart constructor.
data DeregisterOnPremisesInstance

-- | The name of the on-premises instance to deregister.
dopiInstanceName :: Lens' DeregisterOnPremisesInstance Text

-- | Creates a value of <a>DeregisterOnPremisesInstanceResponse</a> with
--   the minimum fields required to make a request.
deregisterOnPremisesInstanceResponse :: DeregisterOnPremisesInstanceResponse

-- | <i>See:</i> <a>deregisterOnPremisesInstanceResponse</a> smart
--   constructor.
data DeregisterOnPremisesInstanceResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstanceResponse
instance Data.Data.Data Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstanceResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstanceResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstanceResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstanceResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance Data.Data.Data Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance GHC.Show.Show Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance GHC.Read.Read Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance GHC.Classes.Eq Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstanceResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.DeregisterOnPremisesInstance.DeregisterOnPremisesInstance


-- | Deletes a GitHub account connection.
module Network.AWS.CodeDeploy.DeleteGitHubAccountToken

-- | Creates a value of <a>DeleteGitHubAccountToken</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dghatTokenName</a> - The name of the GitHub account connection
--   to delete.</li>
--   </ul>
deleteGitHubAccountToken :: DeleteGitHubAccountToken

-- | Represents the input of a DeleteGitHubAccount operation.
--   
--   <i>See:</i> <a>deleteGitHubAccountToken</a> smart constructor.
data DeleteGitHubAccountToken

-- | The name of the GitHub account connection to delete.
dghatTokenName :: Lens' DeleteGitHubAccountToken (Maybe Text)

-- | Creates a value of <a>DeleteGitHubAccountTokenResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dghatrsTokenName</a> - The name of the GitHub account
--   connection that was deleted.</li>
--   <li><a>dghatrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteGitHubAccountTokenResponse :: Int -> DeleteGitHubAccountTokenResponse

-- | Represents the output of a DeleteGitHubAccountToken operation.
--   
--   <i>See:</i> <a>deleteGitHubAccountTokenResponse</a> smart constructor.
data DeleteGitHubAccountTokenResponse

-- | The name of the GitHub account connection that was deleted.
dghatrsTokenName :: Lens' DeleteGitHubAccountTokenResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
dghatrsResponseStatus :: Lens' DeleteGitHubAccountTokenResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountTokenResponse
instance Data.Data.Data Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountTokenResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountTokenResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountTokenResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountTokenResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance Data.Data.Data Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance GHC.Show.Show Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance GHC.Read.Read Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance GHC.Classes.Eq Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountTokenResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.DeleteGitHubAccountToken.DeleteGitHubAccountToken


-- | Deletes a deployment group.
module Network.AWS.CodeDeploy.DeleteDeploymentGroup

-- | Creates a value of <a>DeleteDeploymentGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddgApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   <li><a>ddgDeploymentGroupName</a> - The name of an existing deployment
--   group for the specified application.</li>
--   </ul>
deleteDeploymentGroup :: Text -> Text -> DeleteDeploymentGroup

-- | Represents the input of a DeleteDeploymentGroup operation.
--   
--   <i>See:</i> <a>deleteDeploymentGroup</a> smart constructor.
data DeleteDeploymentGroup

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
ddgApplicationName :: Lens' DeleteDeploymentGroup Text

-- | The name of an existing deployment group for the specified
--   application.
ddgDeploymentGroupName :: Lens' DeleteDeploymentGroup Text

-- | Creates a value of <a>DeleteDeploymentGroupResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddgrsHooksNotCleanedUp</a> - If the output contains no data,
--   and the corresponding deployment group contained at least one Auto
--   Scaling group, AWS CodeDeploy successfully removed all corresponding
--   Auto Scaling lifecycle event hooks from the Amazon EC2 instances in
--   the Auto Scaling group. If the output contains data, AWS CodeDeploy
--   could not remove some Auto Scaling lifecycle event hooks from the
--   Amazon EC2 instances in the Auto Scaling group.</li>
--   <li><a>ddgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
deleteDeploymentGroupResponse :: Int -> DeleteDeploymentGroupResponse

-- | Represents the output of a DeleteDeploymentGroup operation.
--   
--   <i>See:</i> <a>deleteDeploymentGroupResponse</a> smart constructor.
data DeleteDeploymentGroupResponse

-- | If the output contains no data, and the corresponding deployment group
--   contained at least one Auto Scaling group, AWS CodeDeploy successfully
--   removed all corresponding Auto Scaling lifecycle event hooks from the
--   Amazon EC2 instances in the Auto Scaling group. If the output contains
--   data, AWS CodeDeploy could not remove some Auto Scaling lifecycle
--   event hooks from the Amazon EC2 instances in the Auto Scaling group.
ddgrsHooksNotCleanedUp :: Lens' DeleteDeploymentGroupResponse [AutoScalingGroup]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
ddgrsResponseStatus :: Lens' DeleteDeploymentGroupResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroupResponse
instance Data.Data.Data Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroupResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroupResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroupResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroupResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance Data.Data.Data Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance GHC.Show.Show Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance GHC.Read.Read Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance GHC.Classes.Eq Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.DeleteDeploymentGroup.DeleteDeploymentGroup


-- | Deletes a deployment configuration.
module Network.AWS.CodeDeploy.DeleteDeploymentConfig

-- | Creates a value of <a>DeleteDeploymentConfig</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ddcDeploymentConfigName</a> - The name of a deployment
--   configuration associated with the applicable IAM user or AWS
--   account.</li>
--   </ul>
deleteDeploymentConfig :: Text -> DeleteDeploymentConfig

-- | Represents the input of a DeleteDeploymentConfig operation.
--   
--   <i>See:</i> <a>deleteDeploymentConfig</a> smart constructor.
data DeleteDeploymentConfig

-- | The name of a deployment configuration associated with the applicable
--   IAM user or AWS account.
ddcDeploymentConfigName :: Lens' DeleteDeploymentConfig Text

-- | Creates a value of <a>DeleteDeploymentConfigResponse</a> with the
--   minimum fields required to make a request.
deleteDeploymentConfigResponse :: DeleteDeploymentConfigResponse

-- | <i>See:</i> <a>deleteDeploymentConfigResponse</a> smart constructor.
data DeleteDeploymentConfigResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfigResponse
instance Data.Data.Data Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfigResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfigResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfigResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfigResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance Data.Data.Data Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance GHC.Show.Show Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance GHC.Read.Read Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance GHC.Classes.Eq Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.DeleteDeploymentConfig.DeleteDeploymentConfig


-- | Deletes an application.
module Network.AWS.CodeDeploy.DeleteApplication

-- | Creates a value of <a>DeleteApplication</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>daApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   </ul>
deleteApplication :: Text -> DeleteApplication

-- | Represents the input of a DeleteApplication operation.
--   
--   <i>See:</i> <a>deleteApplication</a> smart constructor.
data DeleteApplication

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
daApplicationName :: Lens' DeleteApplication Text

-- | Creates a value of <a>DeleteApplicationResponse</a> with the minimum
--   fields required to make a request.
deleteApplicationResponse :: DeleteApplicationResponse

-- | <i>See:</i> <a>deleteApplicationResponse</a> smart constructor.
data DeleteApplicationResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.DeleteApplication.DeleteApplicationResponse
instance Data.Data.Data Network.AWS.CodeDeploy.DeleteApplication.DeleteApplicationResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.DeleteApplication.DeleteApplicationResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.DeleteApplication.DeleteApplicationResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.DeleteApplication.DeleteApplicationResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance Data.Data.Data Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance GHC.Show.Show Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance GHC.Read.Read Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance GHC.Classes.Eq Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.DeleteApplication.DeleteApplicationResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.DeleteApplication.DeleteApplication


-- | Creates a deployment group to which application revisions will be
--   deployed.
module Network.AWS.CodeDeploy.CreateDeploymentGroup

-- | Creates a value of <a>CreateDeploymentGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdgEc2TagSet</a> - Information about groups of tags applied to
--   EC2 instances. The deployment group will include only EC2 instances
--   identified by all the tag groups. Cannot be used in the same call as
--   ec2TagFilters.</li>
--   <li><a>cdgDeploymentConfigName</a> - If specified, the deployment
--   configuration name can be either one of the predefined configurations
--   provided with AWS CodeDeploy or a custom deployment configuration that
--   you create by calling the create deployment configuration operation.
--   CodeDeployDefault.OneAtATime is the default deployment configuration.
--   It is used if a configuration isn't specified for the deployment or
--   the deployment group. For more information about the predefined
--   deployment configurations in AWS CodeDeploy, see <a>Working with
--   Deployment Groups in AWS CodeDeploy</a> in the AWS CodeDeploy User
--   Guide.</li>
--   <li><a>cdgOnPremisesTagSet</a> - Information about groups of tags
--   applied to on-premises instances. The deployment group will include
--   only on-premises instances identified by all the tag groups. Cannot be
--   used in the same call as onPremisesInstanceTagFilters.</li>
--   <li><a>cdgEc2TagFilters</a> - The Amazon EC2 tags on which to filter.
--   The deployment group will include EC2 instances with any of the
--   specified tags. Cannot be used in the same call as ec2TagSet.</li>
--   <li><a>cdgBlueGreenDeploymentConfiguration</a> - Information about
--   blue/green deployment options for a deployment group.</li>
--   <li><a>cdgLoadBalancerInfo</a> - Information about the load balancer
--   used in a deployment.</li>
--   <li><a>cdgOnPremisesInstanceTagFilters</a> - The on-premises instance
--   tags on which to filter. The deployment group will include on-premises
--   instances with any of the specified tags. Cannot be used in the same
--   call as OnPremisesTagSet.</li>
--   <li><a>cdgAlarmConfiguration</a> - Information to add about Amazon
--   CloudWatch alarms when the deployment group is created.</li>
--   <li><a>cdgTriggerConfigurations</a> - Information about triggers to
--   create when the deployment group is created. For examples, see
--   <a>Create a Trigger for an AWS CodeDeploy Event</a> in the AWS
--   CodeDeploy User Guide.</li>
--   <li><a>cdgAutoScalingGroups</a> - A list of associated Auto Scaling
--   groups.</li>
--   <li><a>cdgDeploymentStyle</a> - Information about the type of
--   deployment, in-place or blue/green, that you want to run and whether
--   to route deployment traffic behind a load balancer.</li>
--   <li><a>cdgAutoRollbackConfiguration</a> - Configuration information
--   for an automatic rollback that is added when a deployment group is
--   created.</li>
--   <li><a>cdgApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   <li><a>cdgDeploymentGroupName</a> - The name of a new deployment group
--   for the specified application.</li>
--   <li><a>cdgServiceRoleARN</a> - A service role ARN that allows AWS
--   CodeDeploy to act on the user's behalf when interacting with AWS
--   services.</li>
--   </ul>
createDeploymentGroup :: Text -> Text -> Text -> CreateDeploymentGroup

-- | Represents the input of a CreateDeploymentGroup operation.
--   
--   <i>See:</i> <a>createDeploymentGroup</a> smart constructor.
data CreateDeploymentGroup

-- | Information about groups of tags applied to EC2 instances. The
--   deployment group will include only EC2 instances identified by all the
--   tag groups. Cannot be used in the same call as ec2TagFilters.
cdgEc2TagSet :: Lens' CreateDeploymentGroup (Maybe EC2TagSet)

-- | If specified, the deployment configuration name can be either one of
--   the predefined configurations provided with AWS CodeDeploy or a custom
--   deployment configuration that you create by calling the create
--   deployment configuration operation. CodeDeployDefault.OneAtATime is
--   the default deployment configuration. It is used if a configuration
--   isn't specified for the deployment or the deployment group. For more
--   information about the predefined deployment configurations in AWS
--   CodeDeploy, see <a>Working with Deployment Groups in AWS
--   CodeDeploy</a> in the AWS CodeDeploy User Guide.
cdgDeploymentConfigName :: Lens' CreateDeploymentGroup (Maybe Text)

-- | Information about groups of tags applied to on-premises instances. The
--   deployment group will include only on-premises instances identified by
--   all the tag groups. Cannot be used in the same call as
--   onPremisesInstanceTagFilters.
cdgOnPremisesTagSet :: Lens' CreateDeploymentGroup (Maybe OnPremisesTagSet)

-- | The Amazon EC2 tags on which to filter. The deployment group will
--   include EC2 instances with any of the specified tags. Cannot be used
--   in the same call as ec2TagSet.
cdgEc2TagFilters :: Lens' CreateDeploymentGroup [EC2TagFilter]

-- | Information about blue/green deployment options for a deployment
--   group.
cdgBlueGreenDeploymentConfiguration :: Lens' CreateDeploymentGroup (Maybe BlueGreenDeploymentConfiguration)

-- | Information about the load balancer used in a deployment.
cdgLoadBalancerInfo :: Lens' CreateDeploymentGroup (Maybe LoadBalancerInfo)

-- | The on-premises instance tags on which to filter. The deployment group
--   will include on-premises instances with any of the specified tags.
--   Cannot be used in the same call as OnPremisesTagSet.
cdgOnPremisesInstanceTagFilters :: Lens' CreateDeploymentGroup [TagFilter]

-- | Information to add about Amazon CloudWatch alarms when the deployment
--   group is created.
cdgAlarmConfiguration :: Lens' CreateDeploymentGroup (Maybe AlarmConfiguration)

-- | Information about triggers to create when the deployment group is
--   created. For examples, see <a>Create a Trigger for an AWS CodeDeploy
--   Event</a> in the AWS CodeDeploy User Guide.
cdgTriggerConfigurations :: Lens' CreateDeploymentGroup [TriggerConfig]

-- | A list of associated Auto Scaling groups.
cdgAutoScalingGroups :: Lens' CreateDeploymentGroup [Text]

-- | Information about the type of deployment, in-place or blue/green, that
--   you want to run and whether to route deployment traffic behind a load
--   balancer.
cdgDeploymentStyle :: Lens' CreateDeploymentGroup (Maybe DeploymentStyle)

-- | Configuration information for an automatic rollback that is added when
--   a deployment group is created.
cdgAutoRollbackConfiguration :: Lens' CreateDeploymentGroup (Maybe AutoRollbackConfiguration)

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
cdgApplicationName :: Lens' CreateDeploymentGroup Text

-- | The name of a new deployment group for the specified application.
cdgDeploymentGroupName :: Lens' CreateDeploymentGroup Text

-- | A service role ARN that allows AWS CodeDeploy to act on the user's
--   behalf when interacting with AWS services.
cdgServiceRoleARN :: Lens' CreateDeploymentGroup Text

-- | Creates a value of <a>CreateDeploymentGroupResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdgrsDeploymentGroupId</a> - A unique deployment group ID.</li>
--   <li><a>cdgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDeploymentGroupResponse :: Int -> CreateDeploymentGroupResponse

-- | Represents the output of a CreateDeploymentGroup operation.
--   
--   <i>See:</i> <a>createDeploymentGroupResponse</a> smart constructor.
data CreateDeploymentGroupResponse

-- | A unique deployment group ID.
cdgrsDeploymentGroupId :: Lens' CreateDeploymentGroupResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdgrsResponseStatus :: Lens' CreateDeploymentGroupResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroupResponse
instance Data.Data.Data Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroupResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroupResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroupResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroupResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance Data.Data.Data Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance GHC.Show.Show Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance GHC.Read.Read Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance GHC.Classes.Eq Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.CreateDeploymentGroup.CreateDeploymentGroup


-- | Creates a deployment configuration.
module Network.AWS.CodeDeploy.CreateDeploymentConfig

-- | Creates a value of <a>CreateDeploymentConfig</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcComputePlatform</a> - The destination platform type for the
--   deployment (<tt>Lambda</tt> or <tt>Server</tt> &gt;).</li>
--   <li><a>cdcMinimumHealthyHosts</a> - The minimum number of healthy
--   instances that should be available at any time during the deployment.
--   There are two parameters expected in the input: type and value. The
--   type parameter takes either of the following values: * HOST_COUNT: The
--   value parameter represents the minimum number of healthy instances as
--   an absolute value. * FLEET_PERCENT: The value parameter represents the
--   minimum number of healthy instances as a percentage of the total
--   number of instances in the deployment. If you specify FLEET_PERCENT,
--   at the start of the deployment, AWS CodeDeploy converts the percentage
--   to the equivalent number of instance and rounds up fractional
--   instances. The value parameter takes an integer. For example, to set a
--   minimum of 95% healthy instance, specify a type of FLEET_PERCENT and a
--   value of 95.</li>
--   <li><a>cdcTrafficRoutingConfig</a> - The configuration that specifies
--   how the deployment traffic will be routed.</li>
--   <li><a>cdcDeploymentConfigName</a> - The name of the deployment
--   configuration to create.</li>
--   </ul>
createDeploymentConfig :: Text -> CreateDeploymentConfig

-- | Represents the input of a CreateDeploymentConfig operation.
--   
--   <i>See:</i> <a>createDeploymentConfig</a> smart constructor.
data CreateDeploymentConfig

-- | The destination platform type for the deployment (<tt>Lambda</tt> or
--   <tt>Server</tt> &gt;).
cdcComputePlatform :: Lens' CreateDeploymentConfig (Maybe ComputePlatform)

-- | The minimum number of healthy instances that should be available at
--   any time during the deployment. There are two parameters expected in
--   the input: type and value. The type parameter takes either of the
--   following values: * HOST_COUNT: The value parameter represents the
--   minimum number of healthy instances as an absolute value. *
--   FLEET_PERCENT: The value parameter represents the minimum number of
--   healthy instances as a percentage of the total number of instances in
--   the deployment. If you specify FLEET_PERCENT, at the start of the
--   deployment, AWS CodeDeploy converts the percentage to the equivalent
--   number of instance and rounds up fractional instances. The value
--   parameter takes an integer. For example, to set a minimum of 95%
--   healthy instance, specify a type of FLEET_PERCENT and a value of 95.
cdcMinimumHealthyHosts :: Lens' CreateDeploymentConfig (Maybe MinimumHealthyHosts)

-- | The configuration that specifies how the deployment traffic will be
--   routed.
cdcTrafficRoutingConfig :: Lens' CreateDeploymentConfig (Maybe TrafficRoutingConfig)

-- | The name of the deployment configuration to create.
cdcDeploymentConfigName :: Lens' CreateDeploymentConfig Text

-- | Creates a value of <a>CreateDeploymentConfigResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdcrsDeploymentConfigId</a> - A unique deployment configuration
--   ID.</li>
--   <li><a>cdcrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDeploymentConfigResponse :: Int -> CreateDeploymentConfigResponse

-- | Represents the output of a CreateDeploymentConfig operation.
--   
--   <i>See:</i> <a>createDeploymentConfigResponse</a> smart constructor.
data CreateDeploymentConfigResponse

-- | A unique deployment configuration ID.
cdcrsDeploymentConfigId :: Lens' CreateDeploymentConfigResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdcrsResponseStatus :: Lens' CreateDeploymentConfigResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfigResponse
instance Data.Data.Data Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfigResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfigResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfigResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfigResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance Data.Data.Data Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance GHC.Show.Show Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance GHC.Read.Read Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance GHC.Classes.Eq Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfigResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.CreateDeploymentConfig.CreateDeploymentConfig


-- | Deploys an application revision through the specified deployment
--   group.
module Network.AWS.CodeDeploy.CreateDeployment

-- | Creates a value of <a>CreateDeployment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdDeploymentConfigName</a> - The name of a deployment
--   configuration associated with the applicable IAM user or AWS account.
--   If not specified, the value configured in the deployment group will be
--   used as the default. If the deployment group does not have a
--   deployment configuration associated with it, then
--   CodeDeployDefault.OneAtATime will be used by default.</li>
--   <li><a>cdFileExistsBehavior</a> - Information about how AWS CodeDeploy
--   handles files that already exist in a deployment target location but
--   weren't part of the previous successful deployment. The
--   fileExistsBehavior parameter takes any of the following values: *
--   DISALLOW: The deployment fails. This is also the default behavior if
--   no option is specified. * OVERWRITE: The version of the file from the
--   application revision currently being deployed replaces the version
--   already on the instance. * RETAIN: The version of the file already on
--   the instance is kept and used as part of the new deployment.</li>
--   <li><a>cdTargetInstances</a> - Information about the instances that
--   will belong to the replacement environment in a blue/green
--   deployment.</li>
--   <li><a>cdRevision</a> - The type and location of the revision to
--   deploy.</li>
--   <li><a>cdDescription</a> - A comment about the deployment.</li>
--   <li><a>cdAutoRollbackConfiguration</a> - Configuration information for
--   an automatic rollback that is added when a deployment is created.</li>
--   <li><a>cdUpdateOutdatedInstancesOnly</a> - Indicates whether to deploy
--   to all instances or only to instances that are not running the latest
--   application revision.</li>
--   <li><a>cdDeploymentGroupName</a> - The name of the deployment
--   group.</li>
--   <li><a>cdIgnoreApplicationStopFailures</a> - If set to true, then if
--   the deployment causes the ApplicationStop deployment lifecycle event
--   to an instance to fail, the deployment to that instance will not be
--   considered to have failed at that point and will continue on to the
--   BeforeInstall deployment lifecycle event. If set to false or not
--   specified, then if the deployment causes the ApplicationStop
--   deployment lifecycle event to fail to an instance, the deployment to
--   that instance will stop, and the deployment to that instance will be
--   considered to have failed.</li>
--   <li><a>cdApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   </ul>
createDeployment :: Text -> CreateDeployment

-- | Represents the input of a CreateDeployment operation.
--   
--   <i>See:</i> <a>createDeployment</a> smart constructor.
data CreateDeployment

-- | The name of a deployment configuration associated with the applicable
--   IAM user or AWS account. If not specified, the value configured in the
--   deployment group will be used as the default. If the deployment group
--   does not have a deployment configuration associated with it, then
--   CodeDeployDefault.OneAtATime will be used by default.
cdDeploymentConfigName :: Lens' CreateDeployment (Maybe Text)

-- | Information about how AWS CodeDeploy handles files that already exist
--   in a deployment target location but weren't part of the previous
--   successful deployment. The fileExistsBehavior parameter takes any of
--   the following values: * DISALLOW: The deployment fails. This is also
--   the default behavior if no option is specified. * OVERWRITE: The
--   version of the file from the application revision currently being
--   deployed replaces the version already on the instance. * RETAIN: The
--   version of the file already on the instance is kept and used as part
--   of the new deployment.
cdFileExistsBehavior :: Lens' CreateDeployment (Maybe FileExistsBehavior)

-- | Information about the instances that will belong to the replacement
--   environment in a blue/green deployment.
cdTargetInstances :: Lens' CreateDeployment (Maybe TargetInstances)

-- | The type and location of the revision to deploy.
cdRevision :: Lens' CreateDeployment (Maybe RevisionLocation)

-- | A comment about the deployment.
cdDescription :: Lens' CreateDeployment (Maybe Text)

-- | Configuration information for an automatic rollback that is added when
--   a deployment is created.
cdAutoRollbackConfiguration :: Lens' CreateDeployment (Maybe AutoRollbackConfiguration)

-- | Indicates whether to deploy to all instances or only to instances that
--   are not running the latest application revision.
cdUpdateOutdatedInstancesOnly :: Lens' CreateDeployment (Maybe Bool)

-- | The name of the deployment group.
cdDeploymentGroupName :: Lens' CreateDeployment (Maybe Text)

-- | If set to true, then if the deployment causes the ApplicationStop
--   deployment lifecycle event to an instance to fail, the deployment to
--   that instance will not be considered to have failed at that point and
--   will continue on to the BeforeInstall deployment lifecycle event. If
--   set to false or not specified, then if the deployment causes the
--   ApplicationStop deployment lifecycle event to fail to an instance, the
--   deployment to that instance will stop, and the deployment to that
--   instance will be considered to have failed.
cdIgnoreApplicationStopFailures :: Lens' CreateDeployment (Maybe Bool)

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
cdApplicationName :: Lens' CreateDeployment Text

-- | Creates a value of <a>CreateDeploymentResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdrsDeploymentId</a> - A unique deployment ID.</li>
--   <li><a>cdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createDeploymentResponse :: Int -> CreateDeploymentResponse

-- | Represents the output of a CreateDeployment operation.
--   
--   <i>See:</i> <a>createDeploymentResponse</a> smart constructor.
data CreateDeploymentResponse

-- | A unique deployment ID.
cdrsDeploymentId :: Lens' CreateDeploymentResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
cdrsResponseStatus :: Lens' CreateDeploymentResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.CreateDeployment.CreateDeploymentResponse
instance Data.Data.Data Network.AWS.CodeDeploy.CreateDeployment.CreateDeploymentResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.CreateDeployment.CreateDeploymentResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.CreateDeployment.CreateDeploymentResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.CreateDeployment.CreateDeploymentResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance Data.Data.Data Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance GHC.Show.Show Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance GHC.Read.Read Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance GHC.Classes.Eq Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.CreateDeployment.CreateDeploymentResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.CreateDeployment.CreateDeployment


-- | Creates an application.
module Network.AWS.CodeDeploy.CreateApplication

-- | Creates a value of <a>CreateApplication</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>caComputePlatform</a> - The destination platform type for the
--   deployment (<tt>Lambda</tt> or <tt>Server</tt> ).</li>
--   <li><a>caApplicationName</a> - The name of the application. This name
--   must be unique with the applicable IAM user or AWS account.</li>
--   </ul>
createApplication :: Text -> CreateApplication

-- | Represents the input of a CreateApplication operation.
--   
--   <i>See:</i> <a>createApplication</a> smart constructor.
data CreateApplication

-- | The destination platform type for the deployment (<tt>Lambda</tt> or
--   <tt>Server</tt> ).
caComputePlatform :: Lens' CreateApplication (Maybe ComputePlatform)

-- | The name of the application. This name must be unique with the
--   applicable IAM user or AWS account.
caApplicationName :: Lens' CreateApplication Text

-- | Creates a value of <a>CreateApplicationResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>carsApplicationId</a> - A unique application ID.</li>
--   <li><a>carsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
createApplicationResponse :: Int -> CreateApplicationResponse

-- | Represents the output of a CreateApplication operation.
--   
--   <i>See:</i> <a>createApplicationResponse</a> smart constructor.
data CreateApplicationResponse

-- | A unique application ID.
carsApplicationId :: Lens' CreateApplicationResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
carsResponseStatus :: Lens' CreateApplicationResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.CreateApplication.CreateApplicationResponse
instance Data.Data.Data Network.AWS.CodeDeploy.CreateApplication.CreateApplicationResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.CreateApplication.CreateApplicationResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.CreateApplication.CreateApplicationResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.CreateApplication.CreateApplicationResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance Data.Data.Data Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance GHC.Show.Show Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance GHC.Read.Read Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance GHC.Classes.Eq Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.CreateApplication.CreateApplicationResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.CreateApplication.CreateApplication
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.CreateApplication.CreateApplication


-- | For a blue/green deployment, starts the process of rerouting traffic
--   from instances in the original environment to instances in the
--   replacement environment without waiting for a specified wait time to
--   elapse. (Traffic rerouting, which is achieved by registering instances
--   in the replacement environment with the load balancer, can start as
--   soon as all instances have a status of Ready.)
module Network.AWS.CodeDeploy.ContinueDeployment

-- | Creates a value of <a>ContinueDeployment</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>cdDeploymentId</a> - The deployment ID of the blue/green
--   deployment for which you want to start rerouting traffic to the
--   replacement environment.</li>
--   </ul>
continueDeployment :: ContinueDeployment

-- | <i>See:</i> <a>continueDeployment</a> smart constructor.
data ContinueDeployment

-- | The deployment ID of the blue/green deployment for which you want to
--   start rerouting traffic to the replacement environment.
cdDeploymentId :: Lens' ContinueDeployment (Maybe Text)

-- | Creates a value of <a>ContinueDeploymentResponse</a> with the minimum
--   fields required to make a request.
continueDeploymentResponse :: ContinueDeploymentResponse

-- | <i>See:</i> <a>continueDeploymentResponse</a> smart constructor.
data ContinueDeploymentResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeploymentResponse
instance Data.Data.Data Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeploymentResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeploymentResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeploymentResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeploymentResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance Data.Data.Data Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance GHC.Show.Show Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance GHC.Read.Read Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance GHC.Classes.Eq Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeploymentResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.ContinueDeployment.ContinueDeployment


-- | Gets information about one or more on-premises instances.
module Network.AWS.CodeDeploy.BatchGetOnPremisesInstances

-- | Creates a value of <a>BatchGetOnPremisesInstances</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgopiInstanceNames</a> - The names of the on-premises instances
--   about which to get information.</li>
--   </ul>
batchGetOnPremisesInstances :: BatchGetOnPremisesInstances

-- | Represents the input of a BatchGetOnPremisesInstances operation.
--   
--   <i>See:</i> <a>batchGetOnPremisesInstances</a> smart constructor.
data BatchGetOnPremisesInstances

-- | The names of the on-premises instances about which to get information.
bgopiInstanceNames :: Lens' BatchGetOnPremisesInstances [Text]

-- | Creates a value of <a>BatchGetOnPremisesInstancesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgopirsInstanceInfos</a> - Information about the on-premises
--   instances.</li>
--   <li><a>bgopirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
batchGetOnPremisesInstancesResponse :: Int -> BatchGetOnPremisesInstancesResponse

-- | Represents the output of a BatchGetOnPremisesInstances operation.
--   
--   <i>See:</i> <a>batchGetOnPremisesInstancesResponse</a> smart
--   constructor.
data BatchGetOnPremisesInstancesResponse

-- | Information about the on-premises instances.
bgopirsInstanceInfos :: Lens' BatchGetOnPremisesInstancesResponse [InstanceInfo]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
bgopirsResponseStatus :: Lens' BatchGetOnPremisesInstancesResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstancesResponse
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstancesResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstancesResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstancesResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstancesResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstancesResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.BatchGetOnPremisesInstances.BatchGetOnPremisesInstances


-- | Gets information about one or more deployments.
module Network.AWS.CodeDeploy.BatchGetDeployments

-- | Creates a value of <a>BatchGetDeployments</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgdDeploymentIds</a> - A list of deployment IDs, separated by
--   spaces.</li>
--   </ul>
batchGetDeployments :: BatchGetDeployments

-- | Represents the input of a BatchGetDeployments operation.
--   
--   <i>See:</i> <a>batchGetDeployments</a> smart constructor.
data BatchGetDeployments

-- | A list of deployment IDs, separated by spaces.
bgdDeploymentIds :: Lens' BatchGetDeployments [Text]

-- | Creates a value of <a>BatchGetDeploymentsResponse</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgdrsDeploymentsInfo</a> - Information about the
--   deployments.</li>
--   <li><a>bgdrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
batchGetDeploymentsResponse :: Int -> BatchGetDeploymentsResponse

-- | Represents the output of a BatchGetDeployments operation.
--   
--   <i>See:</i> <a>batchGetDeploymentsResponse</a> smart constructor.
data BatchGetDeploymentsResponse

-- | Information about the deployments.
bgdrsDeploymentsInfo :: Lens' BatchGetDeploymentsResponse [DeploymentInfo]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
bgdrsResponseStatus :: Lens' BatchGetDeploymentsResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeploymentsResponse
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeploymentsResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeploymentsResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeploymentsResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeploymentsResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeploymentsResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.BatchGetDeployments.BatchGetDeployments


-- | Gets information about one or more instance that are part of a
--   deployment group.
module Network.AWS.CodeDeploy.BatchGetDeploymentInstances

-- | Creates a value of <a>BatchGetDeploymentInstances</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgdiDeploymentId</a> - The unique ID of a deployment.</li>
--   <li><a>bgdiInstanceIds</a> - The unique IDs of instances in the
--   deployment group.</li>
--   </ul>
batchGetDeploymentInstances :: Text -> BatchGetDeploymentInstances

-- | Represents the input of a BatchGetDeploymentInstances operation.
--   
--   <i>See:</i> <a>batchGetDeploymentInstances</a> smart constructor.
data BatchGetDeploymentInstances

-- | The unique ID of a deployment.
bgdiDeploymentId :: Lens' BatchGetDeploymentInstances Text

-- | The unique IDs of instances in the deployment group.
bgdiInstanceIds :: Lens' BatchGetDeploymentInstances [Text]

-- | Creates a value of <a>BatchGetDeploymentInstancesResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgdirsInstancesSummary</a> - Information about the
--   instance.</li>
--   <li><a>bgdirsErrorMessage</a> - Information about errors that may have
--   occurred during the API call.</li>
--   <li><a>bgdirsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
batchGetDeploymentInstancesResponse :: Int -> BatchGetDeploymentInstancesResponse

-- | Represents the output of a BatchGetDeploymentInstances operation.
--   
--   <i>See:</i> <a>batchGetDeploymentInstancesResponse</a> smart
--   constructor.
data BatchGetDeploymentInstancesResponse

-- | Information about the instance.
bgdirsInstancesSummary :: Lens' BatchGetDeploymentInstancesResponse [InstanceSummary]

-- | Information about errors that may have occurred during the API call.
bgdirsErrorMessage :: Lens' BatchGetDeploymentInstancesResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
bgdirsResponseStatus :: Lens' BatchGetDeploymentInstancesResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstancesResponse
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstancesResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstancesResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstancesResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstancesResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstancesResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.BatchGetDeploymentInstances.BatchGetDeploymentInstances


-- | Gets information about one or more deployment groups.
module Network.AWS.CodeDeploy.BatchGetDeploymentGroups

-- | Creates a value of <a>BatchGetDeploymentGroups</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgdgApplicationName</a> - The name of an AWS CodeDeploy
--   application associated with the applicable IAM user or AWS
--   account.</li>
--   <li><a>bgdgDeploymentGroupNames</a> - The deployment groups'
--   names.</li>
--   </ul>
batchGetDeploymentGroups :: Text -> BatchGetDeploymentGroups

-- | Represents the input of a BatchGetDeploymentGroups operation.
--   
--   <i>See:</i> <a>batchGetDeploymentGroups</a> smart constructor.
data BatchGetDeploymentGroups

-- | The name of an AWS CodeDeploy application associated with the
--   applicable IAM user or AWS account.
bgdgApplicationName :: Lens' BatchGetDeploymentGroups Text

-- | The deployment groups' names.
bgdgDeploymentGroupNames :: Lens' BatchGetDeploymentGroups [Text]

-- | Creates a value of <a>BatchGetDeploymentGroupsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgdgrsDeploymentGroupsInfo</a> - Information about the
--   deployment groups.</li>
--   <li><a>bgdgrsErrorMessage</a> - Information about errors that may have
--   occurred during the API call.</li>
--   <li><a>bgdgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
batchGetDeploymentGroupsResponse :: Int -> BatchGetDeploymentGroupsResponse

-- | Represents the output of a BatchGetDeploymentGroups operation.
--   
--   <i>See:</i> <a>batchGetDeploymentGroupsResponse</a> smart constructor.
data BatchGetDeploymentGroupsResponse

-- | Information about the deployment groups.
bgdgrsDeploymentGroupsInfo :: Lens' BatchGetDeploymentGroupsResponse [DeploymentGroupInfo]

-- | Information about errors that may have occurred during the API call.
bgdgrsErrorMessage :: Lens' BatchGetDeploymentGroupsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
bgdgrsResponseStatus :: Lens' BatchGetDeploymentGroupsResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroupsResponse
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroupsResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroupsResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroupsResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroupsResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroupsResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.BatchGetDeploymentGroups.BatchGetDeploymentGroups


-- | Gets information about one or more applications.
module Network.AWS.CodeDeploy.BatchGetApplications

-- | Creates a value of <a>BatchGetApplications</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgaApplicationNames</a> - A list of application names separated
--   by spaces.</li>
--   </ul>
batchGetApplications :: BatchGetApplications

-- | Represents the input of a BatchGetApplications operation.
--   
--   <i>See:</i> <a>batchGetApplications</a> smart constructor.
data BatchGetApplications

-- | A list of application names separated by spaces.
bgaApplicationNames :: Lens' BatchGetApplications [Text]

-- | Creates a value of <a>BatchGetApplicationsResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgarsApplicationsInfo</a> - Information about the
--   applications.</li>
--   <li><a>bgarsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
batchGetApplicationsResponse :: Int -> BatchGetApplicationsResponse

-- | Represents the output of a BatchGetApplications operation.
--   
--   <i>See:</i> <a>batchGetApplicationsResponse</a> smart constructor.
data BatchGetApplicationsResponse

-- | Information about the applications.
bgarsApplicationsInfo :: Lens' BatchGetApplicationsResponse [ApplicationInfo]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
bgarsResponseStatus :: Lens' BatchGetApplicationsResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplicationsResponse
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplicationsResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplicationsResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplicationsResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplicationsResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplicationsResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.BatchGetApplications.BatchGetApplications


-- | Gets information about one or more application revisions.
module Network.AWS.CodeDeploy.BatchGetApplicationRevisions

-- | Creates a value of <a>BatchGetApplicationRevisions</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgarApplicationName</a> - The name of an AWS CodeDeploy
--   application about which to get revision information.</li>
--   <li><a>bgarRevisions</a> - Information to get about the application
--   revisions, including type and location.</li>
--   </ul>
batchGetApplicationRevisions :: Text -> BatchGetApplicationRevisions

-- | Represents the input of a BatchGetApplicationRevisions operation.
--   
--   <i>See:</i> <a>batchGetApplicationRevisions</a> smart constructor.
data BatchGetApplicationRevisions

-- | The name of an AWS CodeDeploy application about which to get revision
--   information.
bgarApplicationName :: Lens' BatchGetApplicationRevisions Text

-- | Information to get about the application revisions, including type and
--   location.
bgarRevisions :: Lens' BatchGetApplicationRevisions [RevisionLocation]

-- | Creates a value of <a>BatchGetApplicationRevisionsResponse</a> with
--   the minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgarrsApplicationName</a> - The name of the application that
--   corresponds to the revisions.</li>
--   <li><a>bgarrsRevisions</a> - Additional information about the
--   revisions, including the type and location.</li>
--   <li><a>bgarrsErrorMessage</a> - Information about errors that may have
--   occurred during the API call.</li>
--   <li><a>bgarrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
batchGetApplicationRevisionsResponse :: Int -> BatchGetApplicationRevisionsResponse

-- | Represents the output of a BatchGetApplicationRevisions operation.
--   
--   <i>See:</i> <a>batchGetApplicationRevisionsResponse</a> smart
--   constructor.
data BatchGetApplicationRevisionsResponse

-- | The name of the application that corresponds to the revisions.
bgarrsApplicationName :: Lens' BatchGetApplicationRevisionsResponse (Maybe Text)

-- | Additional information about the revisions, including the type and
--   location.
bgarrsRevisions :: Lens' BatchGetApplicationRevisionsResponse [RevisionInfo]

-- | Information about errors that may have occurred during the API call.
bgarrsErrorMessage :: Lens' BatchGetApplicationRevisionsResponse (Maybe Text)

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
bgarrsResponseStatus :: Lens' BatchGetApplicationRevisionsResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisionsResponse
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisionsResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisionsResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisionsResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisionsResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance Data.Data.Data Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance GHC.Show.Show Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance GHC.Read.Read Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance GHC.Classes.Eq Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisionsResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.BatchGetApplicationRevisions.BatchGetApplicationRevisions


-- | Adds tags to on-premises instances.
module Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances

-- | Creates a value of <a>AddTagsToOnPremisesInstances</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>attopiTags</a> - The tag key-value pairs to add to the
--   on-premises instances. Keys and values are both required. Keys cannot
--   be null or empty strings. Value-only tags are not allowed.</li>
--   <li><a>attopiInstanceNames</a> - The names of the on-premises
--   instances to which to add tags.</li>
--   </ul>
addTagsToOnPremisesInstances :: AddTagsToOnPremisesInstances

-- | Represents the input of, and adds tags to, an on-premises instance
--   operation.
--   
--   <i>See:</i> <a>addTagsToOnPremisesInstances</a> smart constructor.
data AddTagsToOnPremisesInstances

-- | The tag key-value pairs to add to the on-premises instances. Keys and
--   values are both required. Keys cannot be null or empty strings.
--   Value-only tags are not allowed.
attopiTags :: Lens' AddTagsToOnPremisesInstances [Tag]

-- | The names of the on-premises instances to which to add tags.
attopiInstanceNames :: Lens' AddTagsToOnPremisesInstances [Text]

-- | Creates a value of <a>AddTagsToOnPremisesInstancesResponse</a> with
--   the minimum fields required to make a request.
addTagsToOnPremisesInstancesResponse :: AddTagsToOnPremisesInstancesResponse

-- | <i>See:</i> <a>addTagsToOnPremisesInstancesResponse</a> smart
--   constructor.
data AddTagsToOnPremisesInstancesResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstancesResponse
instance Data.Data.Data Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstancesResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstancesResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstancesResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstancesResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance Data.Data.Data Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance GHC.Show.Show Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance GHC.Read.Read Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance GHC.Classes.Eq Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstancesResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.AddTagsToOnPremisesInstances.AddTagsToOnPremisesInstances


-- | Changes the name of an application.
module Network.AWS.CodeDeploy.UpdateApplication

-- | Creates a value of <a>UpdateApplication</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>uaNewApplicationName</a> - The new name to give the
--   application.</li>
--   <li><a>uaApplicationName</a> - The current name of the application you
--   want to change.</li>
--   </ul>
updateApplication :: UpdateApplication

-- | Represents the input of an UpdateApplication operation.
--   
--   <i>See:</i> <a>updateApplication</a> smart constructor.
data UpdateApplication

-- | The new name to give the application.
uaNewApplicationName :: Lens' UpdateApplication (Maybe Text)

-- | The current name of the application you want to change.
uaApplicationName :: Lens' UpdateApplication (Maybe Text)

-- | Creates a value of <a>UpdateApplicationResponse</a> with the minimum
--   fields required to make a request.
updateApplicationResponse :: UpdateApplicationResponse

-- | <i>See:</i> <a>updateApplicationResponse</a> smart constructor.
data UpdateApplicationResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.UpdateApplication.UpdateApplicationResponse
instance Data.Data.Data Network.AWS.CodeDeploy.UpdateApplication.UpdateApplicationResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.UpdateApplication.UpdateApplicationResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.UpdateApplication.UpdateApplicationResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.UpdateApplication.UpdateApplicationResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance Data.Data.Data Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance GHC.Show.Show Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance GHC.Read.Read Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance GHC.Classes.Eq Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.UpdateApplication.UpdateApplicationResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.UpdateApplication.UpdateApplication


-- | Changes information about a deployment group.
module Network.AWS.CodeDeploy.UpdateDeploymentGroup

-- | Creates a value of <a>UpdateDeploymentGroup</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udgServiceRoleARN</a> - A replacement ARN for the service role,
--   if you want to change it.</li>
--   <li><a>udgEc2TagSet</a> - Information about groups of tags applied to
--   on-premises instances. The deployment group will include only EC2
--   instances identified by all the tag groups.</li>
--   <li><a>udgDeploymentConfigName</a> - The replacement deployment
--   configuration name to use, if you want to change it.</li>
--   <li><a>udgOnPremisesTagSet</a> - Information about an on-premises
--   instance tag set. The deployment group will include only on-premises
--   instances identified by all the tag groups.</li>
--   <li><a>udgNewDeploymentGroupName</a> - The new name of the deployment
--   group, if you want to change it.</li>
--   <li><a>udgEc2TagFilters</a> - The replacement set of Amazon EC2 tags
--   on which to filter, if you want to change them. To keep the existing
--   tags, enter their names. To remove tags, do not enter any tag
--   names.</li>
--   <li><a>udgBlueGreenDeploymentConfiguration</a> - Information about
--   blue/green deployment options for a deployment group.</li>
--   <li><a>udgLoadBalancerInfo</a> - Information about the load balancer
--   used in a deployment.</li>
--   <li><a>udgOnPremisesInstanceTagFilters</a> - The replacement set of
--   on-premises instance tags on which to filter, if you want to change
--   them. To keep the existing tags, enter their names. To remove tags, do
--   not enter any tag names.</li>
--   <li><a>udgAlarmConfiguration</a> - Information to add or change about
--   Amazon CloudWatch alarms when the deployment group is updated.</li>
--   <li><a>udgTriggerConfigurations</a> - Information about triggers to
--   change when the deployment group is updated. For examples, see
--   <a>Modify Triggers in an AWS CodeDeploy Deployment Group</a> in the
--   AWS CodeDeploy User Guide.</li>
--   <li><a>udgAutoScalingGroups</a> - The replacement list of Auto Scaling
--   groups to be included in the deployment group, if you want to change
--   them. To keep the Auto Scaling groups, enter their names. To remove
--   Auto Scaling groups, do not enter any Auto Scaling group names.</li>
--   <li><a>udgDeploymentStyle</a> - Information about the type of
--   deployment, either in-place or blue/green, you want to run and whether
--   to route deployment traffic behind a load balancer.</li>
--   <li><a>udgAutoRollbackConfiguration</a> - Information for an automatic
--   rollback configuration that is added or changed when a deployment
--   group is updated.</li>
--   <li><a>udgApplicationName</a> - The application name corresponding to
--   the deployment group to update.</li>
--   <li><a>udgCurrentDeploymentGroupName</a> - The current name of the
--   deployment group.</li>
--   </ul>
updateDeploymentGroup :: Text -> Text -> UpdateDeploymentGroup

-- | Represents the input of an UpdateDeploymentGroup operation.
--   
--   <i>See:</i> <a>updateDeploymentGroup</a> smart constructor.
data UpdateDeploymentGroup

-- | A replacement ARN for the service role, if you want to change it.
udgServiceRoleARN :: Lens' UpdateDeploymentGroup (Maybe Text)

-- | Information about groups of tags applied to on-premises instances. The
--   deployment group will include only EC2 instances identified by all the
--   tag groups.
udgEc2TagSet :: Lens' UpdateDeploymentGroup (Maybe EC2TagSet)

-- | The replacement deployment configuration name to use, if you want to
--   change it.
udgDeploymentConfigName :: Lens' UpdateDeploymentGroup (Maybe Text)

-- | Information about an on-premises instance tag set. The deployment
--   group will include only on-premises instances identified by all the
--   tag groups.
udgOnPremisesTagSet :: Lens' UpdateDeploymentGroup (Maybe OnPremisesTagSet)

-- | The new name of the deployment group, if you want to change it.
udgNewDeploymentGroupName :: Lens' UpdateDeploymentGroup (Maybe Text)

-- | The replacement set of Amazon EC2 tags on which to filter, if you want
--   to change them. To keep the existing tags, enter their names. To
--   remove tags, do not enter any tag names.
udgEc2TagFilters :: Lens' UpdateDeploymentGroup [EC2TagFilter]

-- | Information about blue/green deployment options for a deployment
--   group.
udgBlueGreenDeploymentConfiguration :: Lens' UpdateDeploymentGroup (Maybe BlueGreenDeploymentConfiguration)

-- | Information about the load balancer used in a deployment.
udgLoadBalancerInfo :: Lens' UpdateDeploymentGroup (Maybe LoadBalancerInfo)

-- | The replacement set of on-premises instance tags on which to filter,
--   if you want to change them. To keep the existing tags, enter their
--   names. To remove tags, do not enter any tag names.
udgOnPremisesInstanceTagFilters :: Lens' UpdateDeploymentGroup [TagFilter]

-- | Information to add or change about Amazon CloudWatch alarms when the
--   deployment group is updated.
udgAlarmConfiguration :: Lens' UpdateDeploymentGroup (Maybe AlarmConfiguration)

-- | Information about triggers to change when the deployment group is
--   updated. For examples, see <a>Modify Triggers in an AWS CodeDeploy
--   Deployment Group</a> in the AWS CodeDeploy User Guide.
udgTriggerConfigurations :: Lens' UpdateDeploymentGroup [TriggerConfig]

-- | The replacement list of Auto Scaling groups to be included in the
--   deployment group, if you want to change them. To keep the Auto Scaling
--   groups, enter their names. To remove Auto Scaling groups, do not enter
--   any Auto Scaling group names.
udgAutoScalingGroups :: Lens' UpdateDeploymentGroup [Text]

-- | Information about the type of deployment, either in-place or
--   blue/green, you want to run and whether to route deployment traffic
--   behind a load balancer.
udgDeploymentStyle :: Lens' UpdateDeploymentGroup (Maybe DeploymentStyle)

-- | Information for an automatic rollback configuration that is added or
--   changed when a deployment group is updated.
udgAutoRollbackConfiguration :: Lens' UpdateDeploymentGroup (Maybe AutoRollbackConfiguration)

-- | The application name corresponding to the deployment group to update.
udgApplicationName :: Lens' UpdateDeploymentGroup Text

-- | The current name of the deployment group.
udgCurrentDeploymentGroupName :: Lens' UpdateDeploymentGroup Text

-- | Creates a value of <a>UpdateDeploymentGroupResponse</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>udgrsHooksNotCleanedUp</a> - If the output contains no data,
--   and the corresponding deployment group contained at least one Auto
--   Scaling group, AWS CodeDeploy successfully removed all corresponding
--   Auto Scaling lifecycle event hooks from the AWS account. If the output
--   contains data, AWS CodeDeploy could not remove some Auto Scaling
--   lifecycle event hooks from the AWS account.</li>
--   <li><a>udgrsResponseStatus</a> - -- | The response status code.</li>
--   </ul>
updateDeploymentGroupResponse :: Int -> UpdateDeploymentGroupResponse

-- | Represents the output of an UpdateDeploymentGroup operation.
--   
--   <i>See:</i> <a>updateDeploymentGroupResponse</a> smart constructor.
data UpdateDeploymentGroupResponse

-- | If the output contains no data, and the corresponding deployment group
--   contained at least one Auto Scaling group, AWS CodeDeploy successfully
--   removed all corresponding Auto Scaling lifecycle event hooks from the
--   AWS account. If the output contains data, AWS CodeDeploy could not
--   remove some Auto Scaling lifecycle event hooks from the AWS account.
udgrsHooksNotCleanedUp :: Lens' UpdateDeploymentGroupResponse [AutoScalingGroup]

-- | <ul>
--   <li>- | The response status code.</li>
--   </ul>
udgrsResponseStatus :: Lens' UpdateDeploymentGroupResponse Int
instance GHC.Generics.Generic Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroupResponse
instance Data.Data.Data Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroupResponse
instance GHC.Show.Show Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroupResponse
instance GHC.Read.Read Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroupResponse
instance GHC.Classes.Eq Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroupResponse
instance GHC.Generics.Generic Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance Data.Data.Data Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance GHC.Show.Show Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance GHC.Read.Read Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance GHC.Classes.Eq Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance Network.AWS.Types.AWSRequest Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroupResponse
instance Data.Hashable.Class.Hashable Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance Control.DeepSeq.NFData Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance Network.AWS.Data.Headers.ToHeaders Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance Data.Aeson.Types.ToJSON.ToJSON Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance Network.AWS.Data.Path.ToPath Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup
instance Network.AWS.Data.Query.ToQuery Network.AWS.CodeDeploy.UpdateDeploymentGroup.UpdateDeploymentGroup


module Network.AWS.CodeDeploy.Waiters

-- | Polls <a>GetDeployment</a> every 15 seconds until a successful state
--   is reached. An error is returned after 120 failed checks.
deploymentSuccessful :: Wait GetDeployment


-- | <b>AWS CodeDeploy</b>
--   
--   AWS CodeDeploy is a deployment service that automates application
--   deployments to Amazon EC2 instances, on-premises instances running in
--   your own facility, or serverless AWS Lambda functions.
--   
--   You can deploy a nearly unlimited variety of application content, such
--   as an updated Lambda function, code, web and configuration files,
--   executables, packages, scripts, multimedia files, and so on. AWS
--   CodeDeploy can deploy application content stored in Amazon S3 buckets,
--   GitHub repositories, or Bitbucket repositories. You do not need to
--   make changes to your existing code before you can use AWS CodeDeploy.
--   
--   AWS CodeDeploy makes it easier for you to rapidly release new
--   features, helps you avoid downtime during application deployment, and
--   handles the complexity of updating your applications, without many of
--   the risks associated with error-prone manual deployments.
--   
--   <b>AWS CodeDeploy Components</b>
--   
--   Use the information in this guide to help you work with the following
--   AWS CodeDeploy components:
--   
--   <ul>
--   <li><b>Application</b> : A name that uniquely identifies the
--   application you want to deploy. AWS CodeDeploy uses this name, which
--   functions as a container, to ensure the correct combination of
--   revision, deployment configuration, and deployment group are
--   referenced during a deployment.</li>
--   <li><b>Deployment group</b> : A set of individual instances or
--   CodeDeploy Lambda applications. A Lambda deployment group contains a
--   group of applications. An EC2/On-premises deployment group contains
--   individually tagged instances, Amazon EC2 instances in Auto Scaling
--   groups, or both.</li>
--   <li><b>Deployment configuration</b> : A set of deployment rules and
--   deployment success and failure conditions used by AWS CodeDeploy
--   during a deployment.</li>
--   <li><b>Deployment</b> : The process and the components used in the
--   process of updating a Lambda function or of installing content on one
--   or more instances.</li>
--   <li><b>Application revisions</b> : For an AWS Lambda deployment, this
--   is an AppSpec file that specifies the Lambda function to update and
--   one or more functions to validate deployment lifecycle events. For an
--   EC2/On-premises deployment, this is an archive file containing source
--   content—source code, web pages, executable files, and deployment
--   scripts—along with an AppSpec file. Revisions are stored in Amazon S3
--   buckets or GitHub repositories. For Amazon S3, a revision is uniquely
--   identified by its Amazon S3 object key and its ETag, version, or both.
--   For GitHub, a revision is uniquely identified by its commit ID.</li>
--   </ul>
--   
--   This guide also contains information to help you get details about the
--   instances in your deployments, to make on-premises instances available
--   for AWS CodeDeploy deployments, and to get details about a Lambda
--   function deployment.
--   
--   <b>AWS CodeDeploy Information Resources</b>
--   
--   <ul>
--   <li><a>AWS CodeDeploy User Guide</a></li>
--   <li><a>AWS CodeDeploy API Reference Guide</a></li>
--   <li><a>AWS CLI Reference for AWS CodeDeploy</a></li>
--   <li><a>AWS CodeDeploy Developer Forum</a></li>
--   </ul>
module Network.AWS.CodeDeploy

-- | API version <tt>2014-10-06</tt> of the Amazon CodeDeploy SDK
--   configuration.
codeDeploy :: Service

-- | The limit for lifecycle hooks was exceeded.
_LifecycleHookLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified time range was specified in an invalid format.
_InvalidTimeRangeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The computePlatform is invalid. The computePlatform should be
--   <tt>Lambda</tt> or <tt>Server</tt> .
_InvalidComputePlatformException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified tag was specified in an invalid format.
_InvalidTagException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid fileExistsBehavior option was specified to determine how
--   AWS CodeDeploy handles files or directories that already exist in a
--   deployment target location but weren't part of the previous successful
--   deployment. Valid values include <a>DISALLOW</a>, <a>OVERWRITE</a>,
--   and <a>RETAIN</a>.
_InvalidFileExistsBehaviorException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The format of the alarm configuration is invalid. Possible causes
--   include:
--   
--   <ul>
--   <li>The alarm list is null.</li>
--   <li>The alarm object is null.</li>
--   <li>The alarm name is empty or null or exceeds the 255 character
--   limit.</li>
--   <li>Two alarms with the same name have been specified.</li>
--   <li>The alarm configuration is enabled but the alarm list is
--   empty.</li>
--   </ul>
_InvalidAlarmConfigException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified on-premises instance name is already registered.
_InstanceNameAlreadyRegisteredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An IAM user ARN was not specified.
_IAMUserARNRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment group name was specified in an invalid format.
_InvalidDeploymentGroupNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid instance type was specified for instances in a blue/green
--   deployment. Valid values include <a>Blue</a> for an original
--   environment and <a>Green</a> for a replacement environment.
_InvalidInstanceTypeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The request included an IAM session ARN that has already been used to
--   register a different instance.
_IAMSessionARNAlreadyRegisteredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The configuration that specifies how traffic is routed during a
--   deployment is invalid.
_InvalidTrafficRoutingConfigurationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The description is too long.
_DescriptionTooLongException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The IAM user ARN was specified in an invalid format.
_InvalidIAMUserARNException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A call was submitted that specified both OnPremisesTagFilters and
--   OnPremisesTagSet, but only one of these data types can be used in a
--   single call.
_InvalidOnPremisesTagCombinationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified deployment has not started.
_DeploymentNotStartedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment configurations limit was exceeded.
_DeploymentConfigLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The role ID was not specified.
_RoleRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid load balancer name, or no load balancer name, was
--   specified.
_InvalidLoadBalancerInfoException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The configuration for the blue/green deployment group was provided in
--   an invalid format. For information about deployment configuration
--   format, see <tt>CreateDeploymentConfig</tt> .
_InvalidBlueGreenDeploymentConfigurationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The service role ARN was specified in an invalid format. Or, if an
--   Auto Scaling group was specified, the specified service role does not
--   grant the appropriate permissions to Auto Scaling.
_InvalidRoleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A deployment configuration with the specified name already exists with
--   the applicable IAM user or AWS account.
_DeploymentConfigAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The target instance configuration is invalid. Possible causes include:
--   
--   <ul>
--   <li>Configuration data for target instances was entered for an
--   in-place deployment.</li>
--   <li>The limit of 10 tags for a tag type was exceeded.</li>
--   <li>The combined length of the tag names exceeded the limit.</li>
--   <li>A specified tag is not currently applied to any instances.</li>
--   </ul>
_InvalidTargetInstancesException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of allowed deployments was exceeded.
_DeploymentLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified IAM user ARN is already registered with an on-premises
--   instance.
_IAMUserARNAlreadyRegisteredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The IAM session ARN was specified in an invalid format.
_InvalidIAMSessionARNException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum number of allowed on-premises instances in a single call
--   was exceeded.
_InstanceLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A lifecycle event hook is invalid. Review the <tt>hooks</tt> section
--   in your AppSpec file to ensure the lifecycle events and <tt>hooks</tt>
--   functions are valid.
_InvalidLifecycleEventHookExecutionIdException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid deployment style was specified. Valid deployment types
--   include <a>IN_PLACE</a> and <a>BLUE_GREEN</a>. Valid deployment
--   options include <a>WITH_TRAFFIC_CONTROL</a> and
--   <a>WITHOUT_TRAFFIC_CONTROL</a>.
_InvalidDeploymentStyleException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployed state filter was specified in an invalid format.
_InvalidDeployedStateFilterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The Auto Scaling group was specified in an invalid format or does not
--   exist.
_InvalidAutoScalingGroupException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The application name was specified in an invalid format.
_InvalidApplicationNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | No GitHub account connection exists with the named specified in the
--   call.
_GitHubAccountTokenDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The application does not exist with the applicable IAM user or AWS
--   account.
_ApplicationDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The minimum healthy instance value was specified in an invalid format.
_InvalidMinimumHealthyHostValueException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A call was submitted that is not supported for the specified
--   deployment type.
_UnsupportedActionForDeploymentTypeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified resource could not be validated.
_ResourceValidationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The GitHub token is not valid.
_InvalidGitHubAccountTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A call was submitted that specified both Ec2TagFilters and Ec2TagSet,
--   but only one of these data types can be used in a single call.
_InvalidEC2TagCombinationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The result of a Lambda validation function that verifies a lifecycle
--   event is invalid. It should return <tt>Succeeded</tt> or
--   <tt>Failed</tt> .
_InvalidLifecycleEventHookExecutionStatusException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum number of alarms for a deployment group (10) was exceeded.
_AlarmsLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The API used does not support the deployment.
_OperationNotSupportedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified tag filter was specified in an invalid format.
_InvalidTagFilterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The trigger was specified in an invalid format.
_InvalidTriggerConfigException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The IgnoreApplicationStopFailures value is invalid. For AWS Lambda
--   deployments, <tt>false</tt> is expected. For EC2/On-premises
--   deployments, <tt>true</tt> or <tt>false</tt> is expected.
_InvalidIgnoreApplicationStopFailuresValueException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The UpdateOutdatedInstancesOnly value is invalid. For AWS Lambda
--   deployments, <tt>false</tt> is expected. For EC2/On-premises
--   deployments, <tt>true</tt> or <tt>false</tt> is expected.
_InvalidUpdateOutdatedInstancesOnlyValueException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A tag was not specified.
_TagRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment group name was not specified.
_DeploymentGroupNameRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A bucket name is required, but was not provided.
_BucketNameFilterRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment configuration does not exist with the applicable IAM
--   user or AWS account.
_DeploymentConfigDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The bucket name either doesn't exist or was specified in an invalid
--   format.
_InvalidBucketNameFilterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | A deployment group with the specified name already exists with the
--   applicable IAM user or AWS account.
_DeploymentGroupAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The column name to sort by is either not present or was specified in
--   an invalid format.
_InvalidSortByException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The named revision does not exist with the applicable IAM user or AWS
--   account.
_RevisionDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment groups limit was exceeded.
_DeploymentGroupLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The named deployment group does not exist with the applicable IAM user
--   or AWS account.
_DeploymentGroupDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An API function was called too frequently.
_ThrottlingException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment configuration name was specified in an invalid format.
_InvalidDeploymentConfigNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment configuration name was not specified.
_DeploymentConfigNameRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | At least one deployment ID must be specified.
_DeploymentIdRequiredException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidInstanceIdException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment does not have a status of Ready and can't continue yet.
_DeploymentIsNotInReadyStateException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The next token was specified in an invalid format.
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The instance ID was not specified.
_InstanceIdRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | At least one of the deployment IDs was specified in an invalid format.
_InvalidDeploymentIdException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The sort order was specified in an invalid format.
_InvalidSortOrderException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The automatic rollback configuration was specified in an invalid
--   format. For example, automatic rollback is enabled but an invalid
--   triggering event type or no event types were listed.
_InvalidAutoRollbackConfigException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment is already complete.
_DeploymentAlreadyCompletedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment does not exist with the applicable IAM user or AWS
--   account.
_DeploymentDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum number of names or IDs allowed for this request (100) was
--   exceeded.
_BatchLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The revision was specified in an invalid format.
_InvalidRevisionException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The revision ID was not specified.
_RevisionRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified instance does not exist in the deployment group.
_InstanceDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The deployment configuration is still in use.
_DeploymentConfigInUseException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified input was specified in an invalid format.
_InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The tag was specified in an invalid format.
_InvalidEC2TagException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified on-premises instance name was specified in an invalid
--   format.
_InvalidInstanceNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An on-premises instance name was not specified.
_InstanceNameRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Both an IAM user ARN and an IAM session ARN were included in the
--   request. Use only one ARN type.
_MultipleIAMARNsProvidedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum allowed number of triggers was exceeded.
_TriggerTargetsLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified deployment status doesn't exist or cannot be determined.
_InvalidDeploymentStatusException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The registration status was specified in an invalid format.
_InvalidRegistrationStatusException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The minimum number of required application names was not specified.
_ApplicationNameRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified on-premises instance is not registered.
_InstanceNotRegisteredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An application with the specified name already exists with the
--   applicable IAM user or AWS account.
_ApplicationAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified instance status does not exist.
_InvalidInstanceStatusException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The maximum allowed number of tags was exceeded.
_TagLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | More applications were attempted to be created than are allowed.
_ApplicationLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The number of tag groups included in the tag set list exceeded the
--   maximum allowed limit of 3.
_TagSetListLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An invalid operation was detected.
_InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The call is missing a required GitHub account connection name.
_GitHubAccountTokenNameRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An instance type was specified for an in-place deployment. Instance
--   types are supported for blue/green deployments only.
_InvalidDeploymentInstanceTypeException :: AsError a => Getting (First ServiceError) a ServiceError

-- | No IAM ARN was included in the request. You must use an IAM session
--   ARN or IAM user ARN in the request.
_IAMARNRequiredException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The format of the specified GitHub account connection name is invalid.
_InvalidGitHubAccountTokenNameException :: AsError a => Getting (First ServiceError) a ServiceError

-- | An attempt to return the status of an already completed lifecycle
--   event occurred.
_LifecycleEventAlreadyCompletedException :: AsError a => Getting (First ServiceError) a ServiceError

-- | The specified key prefix filter was specified in an invalid format.
_InvalidKeyPrefixFilterException :: AsError a => Getting (First ServiceError) a ServiceError

-- | Polls <a>GetDeployment</a> every 15 seconds until a successful state
--   is reached. An error is returned after 120 failed checks.
deploymentSuccessful :: Wait GetDeployment
data ApplicationRevisionSortBy
FirstUsedTime :: ApplicationRevisionSortBy
LastUsedTime :: ApplicationRevisionSortBy
RegisterTime :: ApplicationRevisionSortBy
data AutoRollbackEvent
AREDeploymentFailure :: AutoRollbackEvent
AREDeploymentStopOnAlarm :: AutoRollbackEvent
AREDeploymentStopOnRequest :: AutoRollbackEvent
data BundleType
JSON :: BundleType
TAR :: BundleType
TGZ :: BundleType
Yaml :: BundleType
Zip :: BundleType
data ComputePlatform
Lambda :: ComputePlatform
Server :: ComputePlatform
data DeployErrorCode
AgentIssue :: DeployErrorCode
AlarmActive :: DeployErrorCode
ApplicationMissing :: DeployErrorCode
AutoScalingConfiguration :: DeployErrorCode
AutoScalingIAMRolePermissions :: DeployErrorCode
DeploymentGroupMissing :: DeployErrorCode
ElasticLoadBalancingInvalid :: DeployErrorCode
ElbInvalidInstance :: DeployErrorCode
HealthConstraints :: DeployErrorCode
HealthConstraintsInvalid :: DeployErrorCode
HookExecutionFailure :: DeployErrorCode
IAMRoleMissing :: DeployErrorCode
IAMRolePermissions :: DeployErrorCode
InternalError :: DeployErrorCode
InvalidLambdaConfiguration :: DeployErrorCode
InvalidLambdaFunction :: DeployErrorCode
ManualStop :: DeployErrorCode
MissingBlueGreenDeploymentConfiguration :: DeployErrorCode
MissingElbInformation :: DeployErrorCode
MissingGithubToken :: DeployErrorCode
NoEC2Subscription :: DeployErrorCode
NoInstances :: DeployErrorCode
OverMaxInstances :: DeployErrorCode
RevisionMissing :: DeployErrorCode
Throttled :: DeployErrorCode
Timeout :: DeployErrorCode
data DeploymentCreator
Autoscaling :: DeploymentCreator
CodeDeployRollback :: DeploymentCreator
User :: DeploymentCreator
data DeploymentOption
WithTrafficControl :: DeploymentOption
WithoutTrafficControl :: DeploymentOption
data DeploymentReadyAction
ContinueDeployment :: DeploymentReadyAction
StopDeployment :: DeploymentReadyAction
data DeploymentStatus
Created :: DeploymentStatus
Failed :: DeploymentStatus
InProgress :: DeploymentStatus
Queued :: DeploymentStatus
Ready :: DeploymentStatus
Stopped :: DeploymentStatus
Succeeded :: DeploymentStatus
data DeploymentType
BlueGreen :: DeploymentType
InPlace :: DeploymentType
data EC2TagFilterType
KeyAndValue :: EC2TagFilterType
KeyOnly :: EC2TagFilterType
ValueOnly :: EC2TagFilterType
data FileExistsBehavior
Disallow :: FileExistsBehavior
Overwrite :: FileExistsBehavior
Retain :: FileExistsBehavior
data GreenFleetProvisioningAction
CopyAutoScalingGroup :: GreenFleetProvisioningAction
DiscoverExisting :: GreenFleetProvisioningAction
data InstanceAction
KeepAlive :: InstanceAction
Terminate :: InstanceAction
data InstanceStatus
ISFailed :: InstanceStatus
ISInProgress :: InstanceStatus
ISPending :: InstanceStatus
ISReady :: InstanceStatus
ISSkipped :: InstanceStatus
ISSucceeded :: InstanceStatus
ISUnknown :: InstanceStatus
data InstanceType
Blue :: InstanceType
Green :: InstanceType
data LifecycleErrorCode
ScriptFailed :: LifecycleErrorCode
ScriptMissing :: LifecycleErrorCode
ScriptNotExecutable :: LifecycleErrorCode
ScriptTimedOut :: LifecycleErrorCode
Success :: LifecycleErrorCode
UnknownError :: LifecycleErrorCode
data LifecycleEventStatus
LESFailed :: LifecycleEventStatus
LESInProgress :: LifecycleEventStatus
LESPending :: LifecycleEventStatus
LESSkipped :: LifecycleEventStatus
LESSucceeded :: LifecycleEventStatus
LESUnknown :: LifecycleEventStatus
data ListStateFilterAction
Exclude :: ListStateFilterAction
Ignore :: ListStateFilterAction
Include :: ListStateFilterAction
data MinimumHealthyHostsType
FleetPercent :: MinimumHealthyHostsType
HostCount :: MinimumHealthyHostsType
data RegistrationStatus
Deregistered :: RegistrationStatus
Registered :: RegistrationStatus
data RevisionLocationType
GitHub :: RevisionLocationType
S3 :: RevisionLocationType
String :: RevisionLocationType
data SortOrder
Ascending :: SortOrder
Descending :: SortOrder
data StopStatus
SSPending :: StopStatus
SSSucceeded :: StopStatus
data TagFilterType
TFTKeyAndValue :: TagFilterType
TFTKeyOnly :: TagFilterType
TFTValueOnly :: TagFilterType
data TrafficRoutingType
AllAtOnce :: TrafficRoutingType
TimeBasedCanary :: TrafficRoutingType
TimeBasedLinear :: TrafficRoutingType
data TriggerEventType
DeploymentFailure :: TriggerEventType
DeploymentReady :: TriggerEventType
DeploymentRollback :: TriggerEventType
DeploymentStart :: TriggerEventType
DeploymentStop :: TriggerEventType
DeploymentSuccess :: TriggerEventType
InstanceFailure :: TriggerEventType
InstanceReady :: TriggerEventType
InstanceStart :: TriggerEventType
InstanceSuccess :: TriggerEventType

-- | Information about an alarm.
--   
--   <i>See:</i> <a>alarm</a> smart constructor.
data Alarm

-- | Creates a value of <a>Alarm</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aName</a> - The name of the alarm. Maximum length is 255
--   characters. Each alarm name can be used only once in a list of
--   alarms.</li>
--   </ul>
alarm :: Alarm

-- | The name of the alarm. Maximum length is 255 characters. Each alarm
--   name can be used only once in a list of alarms.
aName :: Lens' Alarm (Maybe Text)

-- | Information about alarms associated with the deployment group.
--   
--   <i>See:</i> <a>alarmConfiguration</a> smart constructor.
data AlarmConfiguration

-- | Creates a value of <a>AlarmConfiguration</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>acIgnorePollAlarmFailure</a> - Indicates whether a deployment
--   should continue if information about the current state of alarms
--   cannot be retrieved from Amazon CloudWatch. The default value is
--   false. * true: The deployment will proceed even if alarm status
--   information can't be retrieved from Amazon CloudWatch. * false: The
--   deployment will stop if alarm status information can't be retrieved
--   from Amazon CloudWatch.</li>
--   <li><a>acEnabled</a> - Indicates whether the alarm configuration is
--   enabled.</li>
--   <li><a>acAlarms</a> - A list of alarms configured for the deployment
--   group. A maximum of 10 alarms can be added to a deployment group.</li>
--   </ul>
alarmConfiguration :: AlarmConfiguration

-- | Indicates whether a deployment should continue if information about
--   the current state of alarms cannot be retrieved from Amazon
--   CloudWatch. The default value is false. * true: The deployment will
--   proceed even if alarm status information can't be retrieved from
--   Amazon CloudWatch. * false: The deployment will stop if alarm status
--   information can't be retrieved from Amazon CloudWatch.
acIgnorePollAlarmFailure :: Lens' AlarmConfiguration (Maybe Bool)

-- | Indicates whether the alarm configuration is enabled.
acEnabled :: Lens' AlarmConfiguration (Maybe Bool)

-- | A list of alarms configured for the deployment group. A maximum of 10
--   alarms can be added to a deployment group.
acAlarms :: Lens' AlarmConfiguration [Alarm]

-- | Information about an application.
--   
--   <i>See:</i> <a>applicationInfo</a> smart constructor.
data ApplicationInfo

-- | Creates a value of <a>ApplicationInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>aiLinkedToGitHub</a> - True if the user has authenticated with
--   GitHub for the specified application; otherwise, false.</li>
--   <li><a>aiComputePlatform</a> - The destination platform type for
--   deployment of the application (<tt>Lambda</tt> or <tt>Server</tt>
--   ).</li>
--   <li><a>aiApplicationId</a> - The application ID.</li>
--   <li><a>aiApplicationName</a> - The application name.</li>
--   <li><a>aiGitHubAccountName</a> - The name for a connection to a GitHub
--   account.</li>
--   <li><a>aiCreateTime</a> - The time at which the application was
--   created.</li>
--   </ul>
applicationInfo :: ApplicationInfo

-- | True if the user has authenticated with GitHub for the specified
--   application; otherwise, false.
aiLinkedToGitHub :: Lens' ApplicationInfo (Maybe Bool)

-- | The destination platform type for deployment of the application
--   (<tt>Lambda</tt> or <tt>Server</tt> ).
aiComputePlatform :: Lens' ApplicationInfo (Maybe ComputePlatform)

-- | The application ID.
aiApplicationId :: Lens' ApplicationInfo (Maybe Text)

-- | The application name.
aiApplicationName :: Lens' ApplicationInfo (Maybe Text)

-- | The name for a connection to a GitHub account.
aiGitHubAccountName :: Lens' ApplicationInfo (Maybe Text)

-- | The time at which the application was created.
aiCreateTime :: Lens' ApplicationInfo (Maybe UTCTime)

-- | Information about a configuration for automatically rolling back to a
--   previous version of an application revision when a deployment doesn't
--   complete successfully.
--   
--   <i>See:</i> <a>autoRollbackConfiguration</a> smart constructor.
data AutoRollbackConfiguration

-- | Creates a value of <a>AutoRollbackConfiguration</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>arcEnabled</a> - Indicates whether a defined automatic rollback
--   configuration is currently enabled.</li>
--   <li><a>arcEvents</a> - The event type or types that trigger a
--   rollback.</li>
--   </ul>
autoRollbackConfiguration :: AutoRollbackConfiguration

-- | Indicates whether a defined automatic rollback configuration is
--   currently enabled.
arcEnabled :: Lens' AutoRollbackConfiguration (Maybe Bool)

-- | The event type or types that trigger a rollback.
arcEvents :: Lens' AutoRollbackConfiguration [AutoRollbackEvent]

-- | Information about an Auto Scaling group.
--   
--   <i>See:</i> <a>autoScalingGroup</a> smart constructor.
data AutoScalingGroup

-- | Creates a value of <a>AutoScalingGroup</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>asgHook</a> - An Auto Scaling lifecycle event hook name.</li>
--   <li><a>asgName</a> - The Auto Scaling group name.</li>
--   </ul>
autoScalingGroup :: AutoScalingGroup

-- | An Auto Scaling lifecycle event hook name.
asgHook :: Lens' AutoScalingGroup (Maybe Text)

-- | The Auto Scaling group name.
asgName :: Lens' AutoScalingGroup (Maybe Text)

-- | Information about blue/green deployment options for a deployment
--   group.
--   
--   <i>See:</i> <a>blueGreenDeploymentConfiguration</a> smart constructor.
data BlueGreenDeploymentConfiguration

-- | Creates a value of <a>BlueGreenDeploymentConfiguration</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bgdcDeploymentReadyOption</a> - Information about the action to
--   take when newly provisioned instances are ready to receive traffic in
--   a blue/green deployment.</li>
--   <li><a>bgdcGreenFleetProvisioningOption</a> - Information about how
--   instances are provisioned for a replacement environment in a
--   blue/green deployment.</li>
--   <li><a>bgdcTerminateBlueInstancesOnDeploymentSuccess</a> - Information
--   about whether to terminate instances in the original fleet during a
--   blue/green deployment.</li>
--   </ul>
blueGreenDeploymentConfiguration :: BlueGreenDeploymentConfiguration

-- | Information about the action to take when newly provisioned instances
--   are ready to receive traffic in a blue/green deployment.
bgdcDeploymentReadyOption :: Lens' BlueGreenDeploymentConfiguration (Maybe DeploymentReadyOption)

-- | Information about how instances are provisioned for a replacement
--   environment in a blue/green deployment.
bgdcGreenFleetProvisioningOption :: Lens' BlueGreenDeploymentConfiguration (Maybe GreenFleetProvisioningOption)

-- | Information about whether to terminate instances in the original fleet
--   during a blue/green deployment.
bgdcTerminateBlueInstancesOnDeploymentSuccess :: Lens' BlueGreenDeploymentConfiguration (Maybe BlueInstanceTerminationOption)

-- | Information about whether instances in the original environment are
--   terminated when a blue/green deployment is successful.
--   
--   <i>See:</i> <a>blueInstanceTerminationOption</a> smart constructor.
data BlueInstanceTerminationOption

-- | Creates a value of <a>BlueInstanceTerminationOption</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>bitoAction</a> - The action to take on instances in the
--   original environment after a successful blue/green deployment. *
--   TERMINATE: Instances are terminated after a specified wait time. *
--   KEEP_ALIVE: Instances are left running after they are deregistered
--   from the load balancer and removed from the deployment group.</li>
--   <li><a>bitoTerminationWaitTimeInMinutes</a> - The number of minutes to
--   wait after a successful blue/green deployment before terminating
--   instances from the original environment.</li>
--   </ul>
blueInstanceTerminationOption :: BlueInstanceTerminationOption

-- | The action to take on instances in the original environment after a
--   successful blue/green deployment. * TERMINATE: Instances are
--   terminated after a specified wait time. * KEEP_ALIVE: Instances are
--   left running after they are deregistered from the load balancer and
--   removed from the deployment group.
bitoAction :: Lens' BlueInstanceTerminationOption (Maybe InstanceAction)

-- | The number of minutes to wait after a successful blue/green deployment
--   before terminating instances from the original environment.
bitoTerminationWaitTimeInMinutes :: Lens' BlueInstanceTerminationOption (Maybe Int)

-- | Information about a deployment configuration.
--   
--   <i>See:</i> <a>deploymentConfigInfo</a> smart constructor.
data DeploymentConfigInfo

-- | Creates a value of <a>DeploymentConfigInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dciDeploymentConfigName</a> - The deployment configuration
--   name.</li>
--   <li><a>dciComputePlatform</a> - The destination platform type for the
--   deployment (<tt>Lambda</tt> or <tt>Server</tt> ).</li>
--   <li><a>dciMinimumHealthyHosts</a> - Information about the number or
--   percentage of minimum healthy instance.</li>
--   <li><a>dciTrafficRoutingConfig</a> - The configuration specifying how
--   the deployment traffic will be routed. Only deployments with a Lambda
--   compute platform can specify this.</li>
--   <li><a>dciDeploymentConfigId</a> - The deployment configuration
--   ID.</li>
--   <li><a>dciCreateTime</a> - The time at which the deployment
--   configuration was created.</li>
--   </ul>
deploymentConfigInfo :: DeploymentConfigInfo

-- | The deployment configuration name.
dciDeploymentConfigName :: Lens' DeploymentConfigInfo (Maybe Text)

-- | The destination platform type for the deployment (<tt>Lambda</tt> or
--   <tt>Server</tt> ).
dciComputePlatform :: Lens' DeploymentConfigInfo (Maybe ComputePlatform)

-- | Information about the number or percentage of minimum healthy
--   instance.
dciMinimumHealthyHosts :: Lens' DeploymentConfigInfo (Maybe MinimumHealthyHosts)

-- | The configuration specifying how the deployment traffic will be
--   routed. Only deployments with a Lambda compute platform can specify
--   this.
dciTrafficRoutingConfig :: Lens' DeploymentConfigInfo (Maybe TrafficRoutingConfig)

-- | The deployment configuration ID.
dciDeploymentConfigId :: Lens' DeploymentConfigInfo (Maybe Text)

-- | The time at which the deployment configuration was created.
dciCreateTime :: Lens' DeploymentConfigInfo (Maybe UTCTime)

-- | Information about a deployment group.
--   
--   <i>See:</i> <a>deploymentGroupInfo</a> smart constructor.
data DeploymentGroupInfo

-- | Creates a value of <a>DeploymentGroupInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dgiServiceRoleARN</a> - A service role ARN.</li>
--   <li><a>dgiEc2TagSet</a> - Information about groups of tags applied to
--   an EC2 instance. The deployment group includes only EC2 instances
--   identified by all the tag groups. Cannot be used in the same call as
--   ec2TagFilters.</li>
--   <li><a>dgiDeploymentConfigName</a> - The deployment configuration
--   name.</li>
--   <li><a>dgiLastAttemptedDeployment</a> - Information about the most
--   recent attempted deployment to the deployment group.</li>
--   <li><a>dgiOnPremisesTagSet</a> - Information about groups of tags
--   applied to an on-premises instance. The deployment group includes only
--   on-premises instances identified by all the tag groups. Cannot be used
--   in the same call as onPremisesInstanceTagFilters.</li>
--   <li><a>dgiComputePlatform</a> - The destination platform type for the
--   deployment group (<tt>Lambda</tt> or <tt>Server</tt> ).</li>
--   <li><a>dgiTargetRevision</a> - Information about the deployment
--   group's target revision, including type and location.</li>
--   <li><a>dgiEc2TagFilters</a> - The Amazon EC2 tags on which to filter.
--   The deployment group includes EC2 instances with any of the specified
--   tags.</li>
--   <li><a>dgiBlueGreenDeploymentConfiguration</a> - Information about
--   blue/green deployment options for a deployment group.</li>
--   <li><a>dgiLoadBalancerInfo</a> - Information about the load balancer
--   to use in a deployment.</li>
--   <li><a>dgiOnPremisesInstanceTagFilters</a> - The on-premises instance
--   tags on which to filter. The deployment group includes on-premises
--   instances with any of the specified tags.</li>
--   <li><a>dgiLastSuccessfulDeployment</a> - Information about the most
--   recent successful deployment to the deployment group.</li>
--   <li><a>dgiApplicationName</a> - The application name.</li>
--   <li><a>dgiAlarmConfiguration</a> - A list of alarms associated with
--   the deployment group.</li>
--   <li><a>dgiTriggerConfigurations</a> - Information about triggers
--   associated with the deployment group.</li>
--   <li><a>dgiDeploymentGroupId</a> - The deployment group ID.</li>
--   <li><a>dgiAutoScalingGroups</a> - A list of associated Auto Scaling
--   groups.</li>
--   <li><a>dgiDeploymentStyle</a> - Information about the type of
--   deployment, either in-place or blue/green, you want to run and whether
--   to route deployment traffic behind a load balancer.</li>
--   <li><a>dgiAutoRollbackConfiguration</a> - Information about the
--   automatic rollback configuration associated with the deployment
--   group.</li>
--   <li><a>dgiDeploymentGroupName</a> - The deployment group name.</li>
--   </ul>
deploymentGroupInfo :: DeploymentGroupInfo

-- | A service role ARN.
dgiServiceRoleARN :: Lens' DeploymentGroupInfo (Maybe Text)

-- | Information about groups of tags applied to an EC2 instance. The
--   deployment group includes only EC2 instances identified by all the tag
--   groups. Cannot be used in the same call as ec2TagFilters.
dgiEc2TagSet :: Lens' DeploymentGroupInfo (Maybe EC2TagSet)

-- | The deployment configuration name.
dgiDeploymentConfigName :: Lens' DeploymentGroupInfo (Maybe Text)

-- | Information about the most recent attempted deployment to the
--   deployment group.
dgiLastAttemptedDeployment :: Lens' DeploymentGroupInfo (Maybe LastDeploymentInfo)

-- | Information about groups of tags applied to an on-premises instance.
--   The deployment group includes only on-premises instances identified by
--   all the tag groups. Cannot be used in the same call as
--   onPremisesInstanceTagFilters.
dgiOnPremisesTagSet :: Lens' DeploymentGroupInfo (Maybe OnPremisesTagSet)

-- | The destination platform type for the deployment group
--   (<tt>Lambda</tt> or <tt>Server</tt> ).
dgiComputePlatform :: Lens' DeploymentGroupInfo (Maybe ComputePlatform)

-- | Information about the deployment group's target revision, including
--   type and location.
dgiTargetRevision :: Lens' DeploymentGroupInfo (Maybe RevisionLocation)

-- | The Amazon EC2 tags on which to filter. The deployment group includes
--   EC2 instances with any of the specified tags.
dgiEc2TagFilters :: Lens' DeploymentGroupInfo [EC2TagFilter]

-- | Information about blue/green deployment options for a deployment
--   group.
dgiBlueGreenDeploymentConfiguration :: Lens' DeploymentGroupInfo (Maybe BlueGreenDeploymentConfiguration)

-- | Information about the load balancer to use in a deployment.
dgiLoadBalancerInfo :: Lens' DeploymentGroupInfo (Maybe LoadBalancerInfo)

-- | The on-premises instance tags on which to filter. The deployment group
--   includes on-premises instances with any of the specified tags.
dgiOnPremisesInstanceTagFilters :: Lens' DeploymentGroupInfo [TagFilter]

-- | Information about the most recent successful deployment to the
--   deployment group.
dgiLastSuccessfulDeployment :: Lens' DeploymentGroupInfo (Maybe LastDeploymentInfo)

-- | The application name.
dgiApplicationName :: Lens' DeploymentGroupInfo (Maybe Text)

-- | A list of alarms associated with the deployment group.
dgiAlarmConfiguration :: Lens' DeploymentGroupInfo (Maybe AlarmConfiguration)

-- | Information about triggers associated with the deployment group.
dgiTriggerConfigurations :: Lens' DeploymentGroupInfo [TriggerConfig]

-- | The deployment group ID.
dgiDeploymentGroupId :: Lens' DeploymentGroupInfo (Maybe Text)

-- | A list of associated Auto Scaling groups.
dgiAutoScalingGroups :: Lens' DeploymentGroupInfo [AutoScalingGroup]

-- | Information about the type of deployment, either in-place or
--   blue/green, you want to run and whether to route deployment traffic
--   behind a load balancer.
dgiDeploymentStyle :: Lens' DeploymentGroupInfo (Maybe DeploymentStyle)

-- | Information about the automatic rollback configuration associated with
--   the deployment group.
dgiAutoRollbackConfiguration :: Lens' DeploymentGroupInfo (Maybe AutoRollbackConfiguration)

-- | The deployment group name.
dgiDeploymentGroupName :: Lens' DeploymentGroupInfo (Maybe Text)

-- | Information about a deployment.
--   
--   <i>See:</i> <a>deploymentInfo</a> smart constructor.
data DeploymentInfo

-- | Creates a value of <a>DeploymentInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>diCreator</a> - The means by which the deployment was created:
--   * user: A user created the deployment. * autoscaling: Auto Scaling
--   created the deployment. * codeDeployRollback: A rollback process
--   created the deployment.</li>
--   <li><a>diStatus</a> - The current state of the deployment as a
--   whole.</li>
--   <li><a>diDeploymentId</a> - The deployment ID.</li>
--   <li><a>diDeploymentConfigName</a> - The deployment configuration
--   name.</li>
--   <li><a>diComputePlatform</a> - The destination platform type for the
--   deployment (<tt>Lambda</tt> or <tt>Server</tt> ).</li>
--   <li><a>diPreviousRevision</a> - Information about the application
--   revision that was deployed to the deployment group before the most
--   recent successful deployment.</li>
--   <li><a>diInstanceTerminationWaitTimeStarted</a> - Indicates whether
--   the wait period set for the termination of instances in the original
--   environment has started. Status is <tt>false</tt> if the KEEP_ALIVE
--   option is specified; otherwise, <tt>true</tt> as soon as the
--   termination wait period starts.</li>
--   <li><a>diDeploymentStatusMessages</a> - Messages that contain
--   information about the status of a deployment.</li>
--   <li><a>diStartTime</a> - A timestamp indicating when the deployment
--   was deployed to the deployment group. In some cases, the reported
--   value of the start time may be later than the complete time. This is
--   due to differences in the clock settings of back-end servers that
--   participate in the deployment process.</li>
--   <li><a>diCompleteTime</a> - A timestamp indicating when the deployment
--   was complete.</li>
--   <li><a>diBlueGreenDeploymentConfiguration</a> - Information about
--   blue/green deployment options for this deployment.</li>
--   <li><a>diErrorInformation</a> - Information about any error associated
--   with this deployment.</li>
--   <li><a>diLoadBalancerInfo</a> - Information about the load balancer
--   used in the deployment.</li>
--   <li><a>diAdditionalDeploymentStatusInfo</a> - Provides information
--   about the results of a deployment, such as whether instances in the
--   original environment in a blue/green deployment were not
--   terminated.</li>
--   <li><a>diDeploymentOverview</a> - A summary of the deployment status
--   of the instances in the deployment.</li>
--   <li><a>diFileExistsBehavior</a> - Information about how AWS CodeDeploy
--   handles files that already exist in a deployment target location but
--   weren't part of the previous successful deployment. * DISALLOW: The
--   deployment fails. This is also the default behavior if no option is
--   specified. * OVERWRITE: The version of the file from the application
--   revision currently being deployed replaces the version already on the
--   instance. * RETAIN: The version of the file already on the instance is
--   kept and used as part of the new deployment.</li>
--   <li><a>diApplicationName</a> - The application name.</li>
--   <li><a>diRollbackInfo</a> - Information about a deployment
--   rollback.</li>
--   <li><a>diTargetInstances</a> - Information about the instances that
--   belong to the replacement environment in a blue/green deployment.</li>
--   <li><a>diRevision</a> - Information about the location of stored
--   application artifacts and the service from which to retrieve
--   them.</li>
--   <li><a>diDescription</a> - A comment about the deployment.</li>
--   <li><a>diDeploymentStyle</a> - Information about the type of
--   deployment, either in-place or blue/green, you want to run and whether
--   to route deployment traffic behind a load balancer.</li>
--   <li><a>diCreateTime</a> - A timestamp indicating when the deployment
--   was created.</li>
--   <li><a>diAutoRollbackConfiguration</a> - Information about the
--   automatic rollback configuration associated with the deployment.</li>
--   <li><a>diUpdateOutdatedInstancesOnly</a> - Indicates whether only
--   instances that are not running the latest application revision are to
--   be deployed to.</li>
--   <li><a>diDeploymentGroupName</a> - The deployment group name.</li>
--   <li><a>diIgnoreApplicationStopFailures</a> - If true, then if the
--   deployment causes the ApplicationStop deployment lifecycle event to an
--   instance to fail, the deployment to that instance will not be
--   considered to have failed at that point and will continue on to the
--   BeforeInstall deployment lifecycle event. If false or not specified,
--   then if the deployment causes the ApplicationStop deployment lifecycle
--   event to an instance to fail, the deployment to that instance will
--   stop, and the deployment to that instance will be considered to have
--   failed.</li>
--   </ul>
deploymentInfo :: DeploymentInfo

-- | The means by which the deployment was created: * user: A user created
--   the deployment. * autoscaling: Auto Scaling created the deployment. *
--   codeDeployRollback: A rollback process created the deployment.
diCreator :: Lens' DeploymentInfo (Maybe DeploymentCreator)

-- | The current state of the deployment as a whole.
diStatus :: Lens' DeploymentInfo (Maybe DeploymentStatus)

-- | The deployment ID.
diDeploymentId :: Lens' DeploymentInfo (Maybe Text)

-- | The deployment configuration name.
diDeploymentConfigName :: Lens' DeploymentInfo (Maybe Text)

-- | The destination platform type for the deployment (<tt>Lambda</tt> or
--   <tt>Server</tt> ).
diComputePlatform :: Lens' DeploymentInfo (Maybe ComputePlatform)

-- | Information about the application revision that was deployed to the
--   deployment group before the most recent successful deployment.
diPreviousRevision :: Lens' DeploymentInfo (Maybe RevisionLocation)

-- | Indicates whether the wait period set for the termination of instances
--   in the original environment has started. Status is <tt>false</tt> if
--   the KEEP_ALIVE option is specified; otherwise, <tt>true</tt> as soon
--   as the termination wait period starts.
diInstanceTerminationWaitTimeStarted :: Lens' DeploymentInfo (Maybe Bool)

-- | Messages that contain information about the status of a deployment.
diDeploymentStatusMessages :: Lens' DeploymentInfo [Text]

-- | A timestamp indicating when the deployment was deployed to the
--   deployment group. In some cases, the reported value of the start time
--   may be later than the complete time. This is due to differences in the
--   clock settings of back-end servers that participate in the deployment
--   process.
diStartTime :: Lens' DeploymentInfo (Maybe UTCTime)

-- | A timestamp indicating when the deployment was complete.
diCompleteTime :: Lens' DeploymentInfo (Maybe UTCTime)

-- | Information about blue/green deployment options for this deployment.
diBlueGreenDeploymentConfiguration :: Lens' DeploymentInfo (Maybe BlueGreenDeploymentConfiguration)

-- | Information about any error associated with this deployment.
diErrorInformation :: Lens' DeploymentInfo (Maybe ErrorInformation)

-- | Information about the load balancer used in the deployment.
diLoadBalancerInfo :: Lens' DeploymentInfo (Maybe LoadBalancerInfo)

-- | Provides information about the results of a deployment, such as
--   whether instances in the original environment in a blue/green
--   deployment were not terminated.
diAdditionalDeploymentStatusInfo :: Lens' DeploymentInfo (Maybe Text)

-- | A summary of the deployment status of the instances in the deployment.
diDeploymentOverview :: Lens' DeploymentInfo (Maybe DeploymentOverview)

-- | Information about how AWS CodeDeploy handles files that already exist
--   in a deployment target location but weren't part of the previous
--   successful deployment. * DISALLOW: The deployment fails. This is also
--   the default behavior if no option is specified. * OVERWRITE: The
--   version of the file from the application revision currently being
--   deployed replaces the version already on the instance. * RETAIN: The
--   version of the file already on the instance is kept and used as part
--   of the new deployment.
diFileExistsBehavior :: Lens' DeploymentInfo (Maybe FileExistsBehavior)

-- | The application name.
diApplicationName :: Lens' DeploymentInfo (Maybe Text)

-- | Information about a deployment rollback.
diRollbackInfo :: Lens' DeploymentInfo (Maybe RollbackInfo)

-- | Information about the instances that belong to the replacement
--   environment in a blue/green deployment.
diTargetInstances :: Lens' DeploymentInfo (Maybe TargetInstances)

-- | Information about the location of stored application artifacts and the
--   service from which to retrieve them.
diRevision :: Lens' DeploymentInfo (Maybe RevisionLocation)

-- | A comment about the deployment.
diDescription :: Lens' DeploymentInfo (Maybe Text)

-- | Information about the type of deployment, either in-place or
--   blue/green, you want to run and whether to route deployment traffic
--   behind a load balancer.
diDeploymentStyle :: Lens' DeploymentInfo (Maybe DeploymentStyle)

-- | A timestamp indicating when the deployment was created.
diCreateTime :: Lens' DeploymentInfo (Maybe UTCTime)

-- | Information about the automatic rollback configuration associated with
--   the deployment.
diAutoRollbackConfiguration :: Lens' DeploymentInfo (Maybe AutoRollbackConfiguration)

-- | Indicates whether only instances that are not running the latest
--   application revision are to be deployed to.
diUpdateOutdatedInstancesOnly :: Lens' DeploymentInfo (Maybe Bool)

-- | The deployment group name.
diDeploymentGroupName :: Lens' DeploymentInfo (Maybe Text)

-- | If true, then if the deployment causes the ApplicationStop deployment
--   lifecycle event to an instance to fail, the deployment to that
--   instance will not be considered to have failed at that point and will
--   continue on to the BeforeInstall deployment lifecycle event. If false
--   or not specified, then if the deployment causes the ApplicationStop
--   deployment lifecycle event to an instance to fail, the deployment to
--   that instance will stop, and the deployment to that instance will be
--   considered to have failed.
diIgnoreApplicationStopFailures :: Lens' DeploymentInfo (Maybe Bool)

-- | Information about the deployment status of the instances in the
--   deployment.
--   
--   <i>See:</i> <a>deploymentOverview</a> smart constructor.
data DeploymentOverview

-- | Creates a value of <a>DeploymentOverview</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>doPending</a> - The number of instances in the deployment in a
--   pending state.</li>
--   <li><a>doSkipped</a> - The number of instances in the deployment in a
--   skipped state.</li>
--   <li><a>doInProgress</a> - The number of instances in which the
--   deployment is in progress.</li>
--   <li><a>doSucceeded</a> - The number of instances in the deployment to
--   which revisions have been successfully deployed.</li>
--   <li><a>doReady</a> - The number of instances in a replacement
--   environment ready to receive traffic in a blue/green deployment.</li>
--   <li><a>doFailed</a> - The number of instances in the deployment in a
--   failed state.</li>
--   </ul>
deploymentOverview :: DeploymentOverview

-- | The number of instances in the deployment in a pending state.
doPending :: Lens' DeploymentOverview (Maybe Integer)

-- | The number of instances in the deployment in a skipped state.
doSkipped :: Lens' DeploymentOverview (Maybe Integer)

-- | The number of instances in which the deployment is in progress.
doInProgress :: Lens' DeploymentOverview (Maybe Integer)

-- | The number of instances in the deployment to which revisions have been
--   successfully deployed.
doSucceeded :: Lens' DeploymentOverview (Maybe Integer)

-- | The number of instances in a replacement environment ready to receive
--   traffic in a blue/green deployment.
doReady :: Lens' DeploymentOverview (Maybe Integer)

-- | The number of instances in the deployment in a failed state.
doFailed :: Lens' DeploymentOverview (Maybe Integer)

-- | Information about how traffic is rerouted to instances in a
--   replacement environment in a blue/green deployment.
--   
--   <i>See:</i> <a>deploymentReadyOption</a> smart constructor.
data DeploymentReadyOption

-- | Creates a value of <a>DeploymentReadyOption</a> with the minimum
--   fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>droActionOnTimeout</a> - Information about when to reroute
--   traffic from an original environment to a replacement environment in a
--   blue/green deployment. * CONTINUE_DEPLOYMENT: Register new instances
--   with the load balancer immediately after the new application revision
--   is installed on the instances in the replacement environment. *
--   STOP_DEPLOYMENT: Do not register new instances with a load balancer
--   unless traffic rerouting is started using <a>ContinueDeployment</a> .
--   If traffic rerouting is not started before the end of the specified
--   wait period, the deployment status is changed to Stopped.</li>
--   <li><a>droWaitTimeInMinutes</a> - The number of minutes to wait before
--   the status of a blue/green deployment changed to Stopped if rerouting
--   is not started manually. Applies only to the STOP_DEPLOYMENT option
--   for actionOnTimeout</li>
--   </ul>
deploymentReadyOption :: DeploymentReadyOption

-- | Information about when to reroute traffic from an original environment
--   to a replacement environment in a blue/green deployment. *
--   CONTINUE_DEPLOYMENT: Register new instances with the load balancer
--   immediately after the new application revision is installed on the
--   instances in the replacement environment. * STOP_DEPLOYMENT: Do not
--   register new instances with a load balancer unless traffic rerouting
--   is started using <a>ContinueDeployment</a> . If traffic rerouting is
--   not started before the end of the specified wait period, the
--   deployment status is changed to Stopped.
droActionOnTimeout :: Lens' DeploymentReadyOption (Maybe DeploymentReadyAction)

-- | The number of minutes to wait before the status of a blue/green
--   deployment changed to Stopped if rerouting is not started manually.
--   Applies only to the STOP_DEPLOYMENT option for actionOnTimeout
droWaitTimeInMinutes :: Lens' DeploymentReadyOption (Maybe Int)

-- | Information about the type of deployment, either in-place or
--   blue/green, you want to run and whether to route deployment traffic
--   behind a load balancer.
--   
--   <i>See:</i> <a>deploymentStyle</a> smart constructor.
data DeploymentStyle

-- | Creates a value of <a>DeploymentStyle</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dsDeploymentOption</a> - Indicates whether to route deployment
--   traffic behind a load balancer.</li>
--   <li><a>dsDeploymentType</a> - Indicates whether to run an in-place
--   deployment or a blue/green deployment.</li>
--   </ul>
deploymentStyle :: DeploymentStyle

-- | Indicates whether to route deployment traffic behind a load balancer.
dsDeploymentOption :: Lens' DeploymentStyle (Maybe DeploymentOption)

-- | Indicates whether to run an in-place deployment or a blue/green
--   deployment.
dsDeploymentType :: Lens' DeploymentStyle (Maybe DeploymentType)

-- | Diagnostic information about executable scripts that are part of a
--   deployment.
--   
--   <i>See:</i> <a>diagnostics</a> smart constructor.
data Diagnostics

-- | Creates a value of <a>Diagnostics</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>dLogTail</a> - The last portion of the diagnostic log. If
--   available, AWS CodeDeploy returns up to the last 4 KB of the
--   diagnostic log.</li>
--   <li><a>dErrorCode</a> - The associated error code: * Success: The
--   specified script ran. * ScriptMissing: The specified script was not
--   found in the specified location. * ScriptNotExecutable: The specified
--   script is not a recognized executable file type. * ScriptTimedOut: The
--   specified script did not finish running in the specified time period.
--   * ScriptFailed: The specified script failed to run as expected. *
--   UnknownError: The specified script did not run for an unknown
--   reason.</li>
--   <li><a>dScriptName</a> - The name of the script.</li>
--   <li><a>dMessage</a> - The message associated with the error.</li>
--   </ul>
diagnostics :: Diagnostics

-- | The last portion of the diagnostic log. If available, AWS CodeDeploy
--   returns up to the last 4 KB of the diagnostic log.
dLogTail :: Lens' Diagnostics (Maybe Text)

-- | The associated error code: * Success: The specified script ran. *
--   ScriptMissing: The specified script was not found in the specified
--   location. * ScriptNotExecutable: The specified script is not a
--   recognized executable file type. * ScriptTimedOut: The specified
--   script did not finish running in the specified time period. *
--   ScriptFailed: The specified script failed to run as expected. *
--   UnknownError: The specified script did not run for an unknown reason.
dErrorCode :: Lens' Diagnostics (Maybe LifecycleErrorCode)

-- | The name of the script.
dScriptName :: Lens' Diagnostics (Maybe Text)

-- | The message associated with the error.
dMessage :: Lens' Diagnostics (Maybe Text)

-- | Information about an EC2 tag filter.
--   
--   <i>See:</i> <a>ec2TagFilter</a> smart constructor.
data EC2TagFilter

-- | Creates a value of <a>EC2TagFilter</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etfValue</a> - The tag filter value.</li>
--   <li><a>etfKey</a> - The tag filter key.</li>
--   <li><a>etfType</a> - The tag filter type: * KEY_ONLY: Key only. *
--   VALUE_ONLY: Value only. * KEY_AND_VALUE: Key and value.</li>
--   </ul>
ec2TagFilter :: EC2TagFilter

-- | The tag filter value.
etfValue :: Lens' EC2TagFilter (Maybe Text)

-- | The tag filter key.
etfKey :: Lens' EC2TagFilter (Maybe Text)

-- | The tag filter type: * KEY_ONLY: Key only. * VALUE_ONLY: Value only. *
--   KEY_AND_VALUE: Key and value.
etfType :: Lens' EC2TagFilter (Maybe EC2TagFilterType)

-- | Information about groups of EC2 instance tags.
--   
--   <i>See:</i> <a>ec2TagSet</a> smart constructor.
data EC2TagSet

-- | Creates a value of <a>EC2TagSet</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>etsEc2TagSetList</a> - A list containing other lists of EC2
--   instance tag groups. In order for an instance to be included in the
--   deployment group, it must be identified by all the tag groups in the
--   list.</li>
--   </ul>
ec2TagSet :: EC2TagSet

-- | A list containing other lists of EC2 instance tag groups. In order for
--   an instance to be included in the deployment group, it must be
--   identified by all the tag groups in the list.
etsEc2TagSetList :: Lens' EC2TagSet [[EC2TagFilter]]

-- | Information about a load balancer in Elastic Load Balancing to use in
--   a deployment. Instances are registered directly with a load balancer,
--   and traffic is routed to the load balancer.
--   
--   <i>See:</i> <a>eLBInfo</a> smart constructor.
data ELBInfo

-- | Creates a value of <a>ELBInfo</a> with the minimum fields required to
--   make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>elbiName</a> - For blue<i>green deployments, the name of the
--   load balancer that will be used to route traffic from original
--   instances to replacement instances in a blue</i>green deployment. For
--   in-place deployments, the name of the load balancer that instances are
--   deregistered from so they are not serving traffic during a deployment,
--   and then re-registered with after the deployment completes.</li>
--   </ul>
eLBInfo :: ELBInfo

-- | For blue<i>green deployments, the name of the load balancer that will
--   be used to route traffic from original instances to replacement
--   instances in a blue</i>green deployment. For in-place deployments, the
--   name of the load balancer that instances are deregistered from so they
--   are not serving traffic during a deployment, and then re-registered
--   with after the deployment completes.
elbiName :: Lens' ELBInfo (Maybe Text)

-- | Information about a deployment error.
--   
--   <i>See:</i> <a>errorInformation</a> smart constructor.
data ErrorInformation

-- | Creates a value of <a>ErrorInformation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>eiCode</a> - For information about additional error codes, see
--   <a>Error Codes for AWS CodeDeploy</a> in the <a>AWS CodeDeploy User
--   Guide</a> . The error code: * APPLICATION_MISSING: The application was
--   missing. This error code will most likely be raised if the application
--   is deleted after the deployment is created but before it is started. *
--   DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error
--   code will most likely be raised if the deployment group is deleted
--   after the deployment is created but before it is started. *
--   HEALTH_CONSTRAINTS: The deployment failed on too many instances to be
--   successfully deployed within the instance health constraints
--   specified. * HEALTH_CONSTRAINTS_INVALID: The revision cannot be
--   successfully deployed within the instance health constraints
--   specified. * IAM_ROLE_MISSING: The service role cannot be accessed. *
--   IAM_ROLE_PERMISSIONS: The service role does not have the correct
--   permissions. * INTERNAL_ERROR: There was an internal error. *
--   NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the
--   Amazon EC2 service. * NO_INSTANCES: No instance were specified, or no
--   instance can be found. * OVER_MAX_INSTANCES: The maximum number of
--   instance was exceeded. * THROTTLED: The operation was throttled
--   because the calling account exceeded the throttling limits of one or
--   more AWS services. * TIMEOUT: The deployment has timed out. *
--   REVISION_MISSING: The revision ID was missing. This error code will
--   most likely be raised if the revision is deleted after the deployment
--   is created but before it is started.</li>
--   <li><a>eiMessage</a> - An accompanying error message.</li>
--   </ul>
errorInformation :: ErrorInformation

-- | For information about additional error codes, see <a>Error Codes for
--   AWS CodeDeploy</a> in the <a>AWS CodeDeploy User Guide</a> . The error
--   code: * APPLICATION_MISSING: The application was missing. This error
--   code will most likely be raised if the application is deleted after
--   the deployment is created but before it is started. *
--   DEPLOYMENT_GROUP_MISSING: The deployment group was missing. This error
--   code will most likely be raised if the deployment group is deleted
--   after the deployment is created but before it is started. *
--   HEALTH_CONSTRAINTS: The deployment failed on too many instances to be
--   successfully deployed within the instance health constraints
--   specified. * HEALTH_CONSTRAINTS_INVALID: The revision cannot be
--   successfully deployed within the instance health constraints
--   specified. * IAM_ROLE_MISSING: The service role cannot be accessed. *
--   IAM_ROLE_PERMISSIONS: The service role does not have the correct
--   permissions. * INTERNAL_ERROR: There was an internal error. *
--   NO_EC2_SUBSCRIPTION: The calling account is not subscribed to the
--   Amazon EC2 service. * NO_INSTANCES: No instance were specified, or no
--   instance can be found. * OVER_MAX_INSTANCES: The maximum number of
--   instance was exceeded. * THROTTLED: The operation was throttled
--   because the calling account exceeded the throttling limits of one or
--   more AWS services. * TIMEOUT: The deployment has timed out. *
--   REVISION_MISSING: The revision ID was missing. This error code will
--   most likely be raised if the revision is deleted after the deployment
--   is created but before it is started.
eiCode :: Lens' ErrorInformation (Maybe DeployErrorCode)

-- | An accompanying error message.
eiMessage :: Lens' ErrorInformation (Maybe Text)

-- | Information about an application revision.
--   
--   <i>See:</i> <a>genericRevisionInfo</a> smart constructor.
data GenericRevisionInfo

-- | Creates a value of <a>GenericRevisionInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>griRegisterTime</a> - When the revision was registered with AWS
--   CodeDeploy.</li>
--   <li><a>griFirstUsedTime</a> - When the revision was first used by AWS
--   CodeDeploy.</li>
--   <li><a>griDeploymentGroups</a> - The deployment groups for which this
--   is the current target revision.</li>
--   <li><a>griLastUsedTime</a> - When the revision was last used by AWS
--   CodeDeploy.</li>
--   <li><a>griDescription</a> - A comment about the revision.</li>
--   </ul>
genericRevisionInfo :: GenericRevisionInfo

-- | When the revision was registered with AWS CodeDeploy.
griRegisterTime :: Lens' GenericRevisionInfo (Maybe UTCTime)

-- | When the revision was first used by AWS CodeDeploy.
griFirstUsedTime :: Lens' GenericRevisionInfo (Maybe UTCTime)

-- | The deployment groups for which this is the current target revision.
griDeploymentGroups :: Lens' GenericRevisionInfo [Text]

-- | When the revision was last used by AWS CodeDeploy.
griLastUsedTime :: Lens' GenericRevisionInfo (Maybe UTCTime)

-- | A comment about the revision.
griDescription :: Lens' GenericRevisionInfo (Maybe Text)

-- | Information about the location of application artifacts stored in
--   GitHub.
--   
--   <i>See:</i> <a>gitHubLocation</a> smart constructor.
data GitHubLocation

-- | Creates a value of <a>GitHubLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ghlCommitId</a> - The SHA1 commit ID of the GitHub commit that
--   represents the bundled artifacts for the application revision.</li>
--   <li><a>ghlRepository</a> - The GitHub account and repository pair that
--   stores a reference to the commit that represents the bundled artifacts
--   for the application revision. Specified as account/repository.</li>
--   </ul>
gitHubLocation :: GitHubLocation

-- | The SHA1 commit ID of the GitHub commit that represents the bundled
--   artifacts for the application revision.
ghlCommitId :: Lens' GitHubLocation (Maybe Text)

-- | The GitHub account and repository pair that stores a reference to the
--   commit that represents the bundled artifacts for the application
--   revision. Specified as account/repository.
ghlRepository :: Lens' GitHubLocation (Maybe Text)

-- | Information about the instances that belong to the replacement
--   environment in a blue/green deployment.
--   
--   <i>See:</i> <a>greenFleetProvisioningOption</a> smart constructor.
data GreenFleetProvisioningOption

-- | Creates a value of <a>GreenFleetProvisioningOption</a> with the
--   minimum fields required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>gfpoAction</a> - The method used to add instances to a
--   replacement environment. * DISCOVER_EXISTING: Use instances that
--   already exist or will be created manually. * COPY_AUTO_SCALING_GROUP:
--   Use settings from a specified Auto Scaling group to define and create
--   instances in a new Auto Scaling group.</li>
--   </ul>
greenFleetProvisioningOption :: GreenFleetProvisioningOption

-- | The method used to add instances to a replacement environment. *
--   DISCOVER_EXISTING: Use instances that already exist or will be created
--   manually. * COPY_AUTO_SCALING_GROUP: Use settings from a specified
--   Auto Scaling group to define and create instances in a new Auto
--   Scaling group.
gfpoAction :: Lens' GreenFleetProvisioningOption (Maybe GreenFleetProvisioningAction)

-- | Information about an on-premises instance.
--   
--   <i>See:</i> <a>instanceInfo</a> smart constructor.
data InstanceInfo

-- | Creates a value of <a>InstanceInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>iiRegisterTime</a> - The time at which the on-premises instance
--   was registered.</li>
--   <li><a>iiInstanceARN</a> - The ARN of the on-premises instance.</li>
--   <li><a>iiDeregisterTime</a> - If the on-premises instance was
--   deregistered, the time at which the on-premises instance was
--   deregistered.</li>
--   <li><a>iiIamUserARN</a> - The IAM user ARN associated with the
--   on-premises instance.</li>
--   <li><a>iiInstanceName</a> - The name of the on-premises instance.</li>
--   <li><a>iiIamSessionARN</a> - The ARN of the IAM session associated
--   with the on-premises instance.</li>
--   <li><a>iiTags</a> - The tags currently associated with the on-premises
--   instance.</li>
--   </ul>
instanceInfo :: InstanceInfo

-- | The time at which the on-premises instance was registered.
iiRegisterTime :: Lens' InstanceInfo (Maybe UTCTime)

-- | The ARN of the on-premises instance.
iiInstanceARN :: Lens' InstanceInfo (Maybe Text)

-- | If the on-premises instance was deregistered, the time at which the
--   on-premises instance was deregistered.
iiDeregisterTime :: Lens' InstanceInfo (Maybe UTCTime)

-- | The IAM user ARN associated with the on-premises instance.
iiIamUserARN :: Lens' InstanceInfo (Maybe Text)

-- | The name of the on-premises instance.
iiInstanceName :: Lens' InstanceInfo (Maybe Text)

-- | The ARN of the IAM session associated with the on-premises instance.
iiIamSessionARN :: Lens' InstanceInfo (Maybe Text)

-- | The tags currently associated with the on-premises instance.
iiTags :: Lens' InstanceInfo [Tag]

-- | Information about an instance in a deployment.
--   
--   <i>See:</i> <a>instanceSummary</a> smart constructor.
data InstanceSummary

-- | Creates a value of <a>InstanceSummary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>isInstanceId</a> - The instance ID.</li>
--   <li><a>isStatus</a> - The deployment status for this instance: *
--   Pending: The deployment is pending for this instance. * In Progress:
--   The deployment is in progress for this instance. * Succeeded: The
--   deployment has succeeded for this instance. * Failed: The deployment
--   has failed for this instance. * Skipped: The deployment has been
--   skipped for this instance. * Unknown: The deployment status is unknown
--   for this instance.</li>
--   <li><a>isDeploymentId</a> - The deployment ID.</li>
--   <li><a>isLastUpdatedAt</a> - A timestamp indicating when the instance
--   information was last updated.</li>
--   <li><a>isLifecycleEvents</a> - A list of lifecycle events for this
--   instance.</li>
--   <li><a>isInstanceType</a> - Information about which environment an
--   instance belongs to in a blue/green deployment. * BLUE: The instance
--   is part of the original environment. * GREEN: The instance is part of
--   the replacement environment.</li>
--   </ul>
instanceSummary :: InstanceSummary

-- | The instance ID.
isInstanceId :: Lens' InstanceSummary (Maybe Text)

-- | The deployment status for this instance: * Pending: The deployment is
--   pending for this instance. * In Progress: The deployment is in
--   progress for this instance. * Succeeded: The deployment has succeeded
--   for this instance. * Failed: The deployment has failed for this
--   instance. * Skipped: The deployment has been skipped for this
--   instance. * Unknown: The deployment status is unknown for this
--   instance.
isStatus :: Lens' InstanceSummary (Maybe InstanceStatus)

-- | The deployment ID.
isDeploymentId :: Lens' InstanceSummary (Maybe Text)

-- | A timestamp indicating when the instance information was last updated.
isLastUpdatedAt :: Lens' InstanceSummary (Maybe UTCTime)

-- | A list of lifecycle events for this instance.
isLifecycleEvents :: Lens' InstanceSummary [LifecycleEvent]

-- | Information about which environment an instance belongs to in a
--   blue/green deployment. * BLUE: The instance is part of the original
--   environment. * GREEN: The instance is part of the replacement
--   environment.
isInstanceType :: Lens' InstanceSummary (Maybe InstanceType)

-- | Information about the most recent attempted or successful deployment
--   to a deployment group.
--   
--   <i>See:</i> <a>lastDeploymentInfo</a> smart constructor.
data LastDeploymentInfo

-- | Creates a value of <a>LastDeploymentInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>ldiStatus</a> - The status of the most recent deployment.</li>
--   <li><a>ldiDeploymentId</a> - The deployment ID.</li>
--   <li><a>ldiEndTime</a> - A timestamp indicating when the most recent
--   deployment to the deployment group completed.</li>
--   <li><a>ldiCreateTime</a> - A timestamp indicating when the most recent
--   deployment to the deployment group started.</li>
--   </ul>
lastDeploymentInfo :: LastDeploymentInfo

-- | The status of the most recent deployment.
ldiStatus :: Lens' LastDeploymentInfo (Maybe DeploymentStatus)

-- | The deployment ID.
ldiDeploymentId :: Lens' LastDeploymentInfo (Maybe Text)

-- | A timestamp indicating when the most recent deployment to the
--   deployment group completed.
ldiEndTime :: Lens' LastDeploymentInfo (Maybe UTCTime)

-- | A timestamp indicating when the most recent deployment to the
--   deployment group started.
ldiCreateTime :: Lens' LastDeploymentInfo (Maybe UTCTime)

-- | Information about a deployment lifecycle event.
--   
--   <i>See:</i> <a>lifecycleEvent</a> smart constructor.
data LifecycleEvent

-- | Creates a value of <a>LifecycleEvent</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>leStatus</a> - The deployment lifecycle event status: *
--   Pending: The deployment lifecycle event is pending. * InProgress: The
--   deployment lifecycle event is in progress. * Succeeded: The deployment
--   lifecycle event ran successfully. * Failed: The deployment lifecycle
--   event has failed. * Skipped: The deployment lifecycle event has been
--   skipped. * Unknown: The deployment lifecycle event is unknown.</li>
--   <li><a>leLifecycleEventName</a> - The deployment lifecycle event name,
--   such as ApplicationStop, BeforeInstall, AfterInstall,
--   ApplicationStart, or ValidateService.</li>
--   <li><a>leStartTime</a> - A timestamp indicating when the deployment
--   lifecycle event started.</li>
--   <li><a>leDiagnostics</a> - Diagnostic information about the deployment
--   lifecycle event.</li>
--   <li><a>leEndTime</a> - A timestamp indicating when the deployment
--   lifecycle event ended.</li>
--   </ul>
lifecycleEvent :: LifecycleEvent

-- | The deployment lifecycle event status: * Pending: The deployment
--   lifecycle event is pending. * InProgress: The deployment lifecycle
--   event is in progress. * Succeeded: The deployment lifecycle event ran
--   successfully. * Failed: The deployment lifecycle event has failed. *
--   Skipped: The deployment lifecycle event has been skipped. * Unknown:
--   The deployment lifecycle event is unknown.
leStatus :: Lens' LifecycleEvent (Maybe LifecycleEventStatus)

-- | The deployment lifecycle event name, such as ApplicationStop,
--   BeforeInstall, AfterInstall, ApplicationStart, or ValidateService.
leLifecycleEventName :: Lens' LifecycleEvent (Maybe Text)

-- | A timestamp indicating when the deployment lifecycle event started.
leStartTime :: Lens' LifecycleEvent (Maybe UTCTime)

-- | Diagnostic information about the deployment lifecycle event.
leDiagnostics :: Lens' LifecycleEvent (Maybe Diagnostics)

-- | A timestamp indicating when the deployment lifecycle event ended.
leEndTime :: Lens' LifecycleEvent (Maybe UTCTime)

-- | Information about the Elastic Load Balancing load balancer or target
--   group used in a deployment.
--   
--   <i>See:</i> <a>loadBalancerInfo</a> smart constructor.
data LoadBalancerInfo

-- | Creates a value of <a>LoadBalancerInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>lbiElbInfoList</a> - An array containing information about the
--   load balancer to use for load balancing in a deployment. In Elastic
--   Load Balancing, load balancers are used with Classic Load
--   Balancers.</li>
--   <li><a>lbiTargetGroupInfoList</a> - An array containing information
--   about the target group to use for load balancing in a deployment. In
--   Elastic Load Balancing, target groups are used with Application Load
--   Balancers.</li>
--   </ul>
loadBalancerInfo :: LoadBalancerInfo

-- | An array containing information about the load balancer to use for
--   load balancing in a deployment. In Elastic Load Balancing, load
--   balancers are used with Classic Load Balancers.
lbiElbInfoList :: Lens' LoadBalancerInfo [ELBInfo]

-- | An array containing information about the target group to use for load
--   balancing in a deployment. In Elastic Load Balancing, target groups
--   are used with Application Load Balancers.
lbiTargetGroupInfoList :: Lens' LoadBalancerInfo [TargetGroupInfo]

-- | Information about minimum healthy instance.
--   
--   <i>See:</i> <a>minimumHealthyHosts</a> smart constructor.
data MinimumHealthyHosts

-- | Creates a value of <a>MinimumHealthyHosts</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>mhhValue</a> - The minimum healthy instance value.</li>
--   <li><a>mhhType</a> - The minimum healthy instance type: * HOST_COUNT:
--   The minimum number of healthy instance as an absolute value. *
--   FLEET_PERCENT: The minimum number of healthy instance as a percentage
--   of the total number of instance in the deployment. In an example of
--   nine instance, if a HOST_COUNT of six is specified, deploy to up to
--   three instances at a time. The deployment will be successful if six or
--   more instances are deployed to successfully; otherwise, the deployment
--   fails. If a FLEET_PERCENT of 40 is specified, deploy to up to five
--   instance at a time. The deployment will be successful if four or more
--   instance are deployed to successfully; otherwise, the deployment
--   fails. For more information, see <a>AWS CodeDeploy Instance Health</a>
--   in the <i>AWS CodeDeploy User Guide</i> .</li>
--   </ul>
minimumHealthyHosts :: MinimumHealthyHosts

-- | The minimum healthy instance value.
mhhValue :: Lens' MinimumHealthyHosts (Maybe Int)

-- | The minimum healthy instance type: * HOST_COUNT: The minimum number of
--   healthy instance as an absolute value. * FLEET_PERCENT: The minimum
--   number of healthy instance as a percentage of the total number of
--   instance in the deployment. In an example of nine instance, if a
--   HOST_COUNT of six is specified, deploy to up to three instances at a
--   time. The deployment will be successful if six or more instances are
--   deployed to successfully; otherwise, the deployment fails. If a
--   FLEET_PERCENT of 40 is specified, deploy to up to five instance at a
--   time. The deployment will be successful if four or more instance are
--   deployed to successfully; otherwise, the deployment fails. For more
--   information, see <a>AWS CodeDeploy Instance Health</a> in the <i>AWS
--   CodeDeploy User Guide</i> .
mhhType :: Lens' MinimumHealthyHosts (Maybe MinimumHealthyHostsType)

-- | Information about groups of on-premises instance tags.
--   
--   <i>See:</i> <a>onPremisesTagSet</a> smart constructor.
data OnPremisesTagSet

-- | Creates a value of <a>OnPremisesTagSet</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>optsOnPremisesTagSetList</a> - A list containing other lists of
--   on-premises instance tag groups. In order for an instance to be
--   included in the deployment group, it must be identified by all the tag
--   groups in the list.</li>
--   </ul>
onPremisesTagSet :: OnPremisesTagSet

-- | A list containing other lists of on-premises instance tag groups. In
--   order for an instance to be included in the deployment group, it must
--   be identified by all the tag groups in the list.
optsOnPremisesTagSetList :: Lens' OnPremisesTagSet [[TagFilter]]

-- | A revision for an AWS Lambda deployment that is a YAML-formatted or
--   JSON-formatted string. For AWS Lambda deployments, the revision is the
--   same as the AppSpec file.
--   
--   <i>See:</i> <a>rawString</a> smart constructor.
data RawString

-- | Creates a value of <a>RawString</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rsContent</a> - The YAML-formatted or JSON-formatted revision
--   string. It includes information about which Lambda function to update
--   and optional Lambda functions that validate deployment lifecycle
--   events.</li>
--   <li><a>rsSha256</a> - The SHA256 hash value of the revision that is
--   specified as a RawString.</li>
--   </ul>
rawString :: RawString

-- | The YAML-formatted or JSON-formatted revision string. It includes
--   information about which Lambda function to update and optional Lambda
--   functions that validate deployment lifecycle events.
rsContent :: Lens' RawString (Maybe Text)

-- | The SHA256 hash value of the revision that is specified as a
--   RawString.
rsSha256 :: Lens' RawString (Maybe Text)

-- | Information about an application revision.
--   
--   <i>See:</i> <a>revisionInfo</a> smart constructor.
data RevisionInfo

-- | Creates a value of <a>RevisionInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riGenericRevisionInfo</a> - Information about an application
--   revision, including usage details and associated deployment
--   groups.</li>
--   <li><a>riRevisionLocation</a> - Information about the location and
--   type of an application revision.</li>
--   </ul>
revisionInfo :: RevisionInfo

-- | Information about an application revision, including usage details and
--   associated deployment groups.
riGenericRevisionInfo :: Lens' RevisionInfo (Maybe GenericRevisionInfo)

-- | Information about the location and type of an application revision.
riRevisionLocation :: Lens' RevisionInfo (Maybe RevisionLocation)

-- | Information about the location of an application revision.
--   
--   <i>See:</i> <a>revisionLocation</a> smart constructor.
data RevisionLocation

-- | Creates a value of <a>RevisionLocation</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>rlString</a> - Information about the location of an AWS Lambda
--   deployment revision stored as a RawString.</li>
--   <li><a>rlRevisionType</a> - The type of application revision: * S3: An
--   application revision stored in Amazon S3. * GitHub: An application
--   revision stored in GitHub (EC2/On-premises deployments only) * String:
--   A YAML-formatted or JSON-formatted string (AWS Lambda deployments
--   only)</li>
--   <li><a>rlS3Location</a> - Information about the location of a revision
--   stored in Amazon S3.</li>
--   <li><a>rlGitHubLocation</a> - Information about the location of
--   application artifacts stored in GitHub.</li>
--   </ul>
revisionLocation :: RevisionLocation

-- | Information about the location of an AWS Lambda deployment revision
--   stored as a RawString.
rlString :: Lens' RevisionLocation (Maybe RawString)

-- | The type of application revision: * S3: An application revision stored
--   in Amazon S3. * GitHub: An application revision stored in GitHub
--   (EC2/On-premises deployments only) * String: A YAML-formatted or
--   JSON-formatted string (AWS Lambda deployments only)
rlRevisionType :: Lens' RevisionLocation (Maybe RevisionLocationType)

-- | Information about the location of a revision stored in Amazon S3.
rlS3Location :: Lens' RevisionLocation (Maybe S3Location)

-- | Information about the location of application artifacts stored in
--   GitHub.
rlGitHubLocation :: Lens' RevisionLocation (Maybe GitHubLocation)

-- | Information about a deployment rollback.
--   
--   <i>See:</i> <a>rollbackInfo</a> smart constructor.
data RollbackInfo

-- | Creates a value of <a>RollbackInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>riRollbackTriggeringDeploymentId</a> - The deployment ID of the
--   deployment that was underway and triggered a rollback deployment
--   because it failed or was stopped.</li>
--   <li><a>riRollbackMessage</a> - Information describing the status of a
--   deployment rollback; for example, whether the deployment can't be
--   rolled back, is in progress, failed, or succeeded.</li>
--   <li><a>riRollbackDeploymentId</a> - The ID of the deployment
--   rollback.</li>
--   </ul>
rollbackInfo :: RollbackInfo

-- | The deployment ID of the deployment that was underway and triggered a
--   rollback deployment because it failed or was stopped.
riRollbackTriggeringDeploymentId :: Lens' RollbackInfo (Maybe Text)

-- | Information describing the status of a deployment rollback; for
--   example, whether the deployment can't be rolled back, is in progress,
--   failed, or succeeded.
riRollbackMessage :: Lens' RollbackInfo (Maybe Text)

-- | The ID of the deployment rollback.
riRollbackDeploymentId :: Lens' RollbackInfo (Maybe Text)

-- | Information about the location of application artifacts stored in
--   Amazon S3.
--   
--   <i>See:</i> <a>s3Location</a> smart constructor.
data S3Location

-- | Creates a value of <a>S3Location</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>slBundleType</a> - The file type of the application revision.
--   Must be one of the following: * tar: A tar archive file. * tgz: A
--   compressed tar archive file. * zip: A zip archive file.</li>
--   <li><a>slETag</a> - The ETag of the Amazon S3 object that represents
--   the bundled artifacts for the application revision. If the ETag is not
--   specified as an input parameter, ETag validation of the object will be
--   skipped.</li>
--   <li><a>slBucket</a> - The name of the Amazon S3 bucket where the
--   application revision is stored.</li>
--   <li><a>slKey</a> - The name of the Amazon S3 object that represents
--   the bundled artifacts for the application revision.</li>
--   <li><a>slVersion</a> - A specific version of the Amazon S3 object that
--   represents the bundled artifacts for the application revision. If the
--   version is not specified, the system will use the most recent version
--   by default.</li>
--   </ul>
s3Location :: S3Location

-- | The file type of the application revision. Must be one of the
--   following: * tar: A tar archive file. * tgz: A compressed tar archive
--   file. * zip: A zip archive file.
slBundleType :: Lens' S3Location (Maybe BundleType)

-- | The ETag of the Amazon S3 object that represents the bundled artifacts
--   for the application revision. If the ETag is not specified as an input
--   parameter, ETag validation of the object will be skipped.
slETag :: Lens' S3Location (Maybe Text)

-- | The name of the Amazon S3 bucket where the application revision is
--   stored.
slBucket :: Lens' S3Location (Maybe Text)

-- | The name of the Amazon S3 object that represents the bundled artifacts
--   for the application revision.
slKey :: Lens' S3Location (Maybe Text)

-- | A specific version of the Amazon S3 object that represents the bundled
--   artifacts for the application revision. If the version is not
--   specified, the system will use the most recent version by default.
slVersion :: Lens' S3Location (Maybe Text)

-- | Information about a tag.
--   
--   <i>See:</i> <a>tag</a> smart constructor.
data Tag

-- | Creates a value of <a>Tag</a> with the minimum fields required to make
--   a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tagValue</a> - The tag's value.</li>
--   <li><a>tagKey</a> - The tag's key.</li>
--   </ul>
tag :: Tag

-- | The tag's value.
tagValue :: Lens' Tag (Maybe Text)

-- | The tag's key.
tagKey :: Lens' Tag (Maybe Text)

-- | Information about an on-premises instance tag filter.
--   
--   <i>See:</i> <a>tagFilter</a> smart constructor.
data TagFilter

-- | Creates a value of <a>TagFilter</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tfValue</a> - The on-premises instance tag filter value.</li>
--   <li><a>tfKey</a> - The on-premises instance tag filter key.</li>
--   <li><a>tfType</a> - The on-premises instance tag filter type: *
--   KEY_ONLY: Key only. * VALUE_ONLY: Value only. * KEY_AND_VALUE: Key and
--   value.</li>
--   </ul>
tagFilter :: TagFilter

-- | The on-premises instance tag filter value.
tfValue :: Lens' TagFilter (Maybe Text)

-- | The on-premises instance tag filter key.
tfKey :: Lens' TagFilter (Maybe Text)

-- | The on-premises instance tag filter type: * KEY_ONLY: Key only. *
--   VALUE_ONLY: Value only. * KEY_AND_VALUE: Key and value.
tfType :: Lens' TagFilter (Maybe TagFilterType)

-- | Information about a target group in Elastic Load Balancing to use in a
--   deployment. Instances are registered as targets in a target group, and
--   traffic is routed to the target group.
--   
--   <i>See:</i> <a>targetGroupInfo</a> smart constructor.
data TargetGroupInfo

-- | Creates a value of <a>TargetGroupInfo</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tgiName</a> - For blue/green deployments, the name of the
--   target group that instances in the original environment are
--   deregistered from, and instances in the replacement environment
--   registered with. For in-place deployments, the name of the target
--   group that instances are deregistered from, so they are not serving
--   traffic during a deployment, and then re-registered with after the
--   deployment completes.</li>
--   </ul>
targetGroupInfo :: TargetGroupInfo

-- | For blue/green deployments, the name of the target group that
--   instances in the original environment are deregistered from, and
--   instances in the replacement environment registered with. For in-place
--   deployments, the name of the target group that instances are
--   deregistered from, so they are not serving traffic during a
--   deployment, and then re-registered with after the deployment
--   completes.
tgiName :: Lens' TargetGroupInfo (Maybe Text)

-- | Information about the instances to be used in the replacement
--   environment in a blue/green deployment.
--   
--   <i>See:</i> <a>targetInstances</a> smart constructor.
data TargetInstances

-- | Creates a value of <a>TargetInstances</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tiEc2TagSet</a> - Information about the groups of EC2 instance
--   tags that an instance must be identified by in order for it to be
--   included in the replacement environment for a blue/green deployment.
--   Cannot be used in the same call as tagFilters.</li>
--   <li><a>tiTagFilters</a> - The tag filter key, type, and value used to
--   identify Amazon EC2 instances in a replacement environment for a
--   blue/green deployment. Cannot be used in the same call as
--   ec2TagSet.</li>
--   <li><a>tiAutoScalingGroups</a> - The names of one or more Auto Scaling
--   groups to identify a replacement environment for a blue/green
--   deployment.</li>
--   </ul>
targetInstances :: TargetInstances

-- | Information about the groups of EC2 instance tags that an instance
--   must be identified by in order for it to be included in the
--   replacement environment for a blue/green deployment. Cannot be used in
--   the same call as tagFilters.
tiEc2TagSet :: Lens' TargetInstances (Maybe EC2TagSet)

-- | The tag filter key, type, and value used to identify Amazon EC2
--   instances in a replacement environment for a blue/green deployment.
--   Cannot be used in the same call as ec2TagSet.
tiTagFilters :: Lens' TargetInstances [EC2TagFilter]

-- | The names of one or more Auto Scaling groups to identify a replacement
--   environment for a blue/green deployment.
tiAutoScalingGroups :: Lens' TargetInstances [Text]

-- | A configuration that shifts traffic from one version of a Lambda
--   function to another in two increments. The original and target Lambda
--   function versions are specified in the deployment's AppSpec file.
--   
--   <i>See:</i> <a>timeBasedCanary</a> smart constructor.
data TimeBasedCanary

-- | Creates a value of <a>TimeBasedCanary</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tbcCanaryInterval</a> - The number of minutes between the first
--   and second traffic shifts of a <tt>TimeBasedCanary</tt>
--   deployment.</li>
--   <li><a>tbcCanaryPercentage</a> - The percentage of traffic to shift in
--   the first increment of a <tt>TimeBasedCanary</tt> deployment.</li>
--   </ul>
timeBasedCanary :: TimeBasedCanary

-- | The number of minutes between the first and second traffic shifts of a
--   <tt>TimeBasedCanary</tt> deployment.
tbcCanaryInterval :: Lens' TimeBasedCanary (Maybe Int)

-- | The percentage of traffic to shift in the first increment of a
--   <tt>TimeBasedCanary</tt> deployment.
tbcCanaryPercentage :: Lens' TimeBasedCanary (Maybe Int)

-- | A configuration that shifts traffic from one version of a Lambda
--   function to another in equal increments, with an equal number of
--   minutes between each increment. The original and target Lambda
--   function versions are specified in the deployment's AppSpec file.
--   
--   <i>See:</i> <a>timeBasedLinear</a> smart constructor.
data TimeBasedLinear

-- | Creates a value of <a>TimeBasedLinear</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tblLinearInterval</a> - The number of minutes between each
--   incremental traffic shift of a <tt>TimeBasedLinear</tt>
--   deployment.</li>
--   <li><a>tblLinearPercentage</a> - The percentage of traffic that is
--   shifted at the start of each increment of a <tt>TimeBasedLinear</tt>
--   deployment.</li>
--   </ul>
timeBasedLinear :: TimeBasedLinear

-- | The number of minutes between each incremental traffic shift of a
--   <tt>TimeBasedLinear</tt> deployment.
tblLinearInterval :: Lens' TimeBasedLinear (Maybe Int)

-- | The percentage of traffic that is shifted at the start of each
--   increment of a <tt>TimeBasedLinear</tt> deployment.
tblLinearPercentage :: Lens' TimeBasedLinear (Maybe Int)

-- | Information about a time range.
--   
--   <i>See:</i> <a>timeRange</a> smart constructor.
data TimeRange

-- | Creates a value of <a>TimeRange</a> with the minimum fields required
--   to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trStart</a> - The start time of the time range.</li>
--   <li><a>trEnd</a> - The end time of the time range.</li>
--   </ul>
timeRange :: TimeRange

-- | The start time of the time range.
trStart :: Lens' TimeRange (Maybe UTCTime)

-- | The end time of the time range.
trEnd :: Lens' TimeRange (Maybe UTCTime)

-- | The configuration that specifies how traffic is shifted from one
--   version of a Lambda function to another version during an AWS Lambda
--   deployment.
--   
--   <i>See:</i> <a>trafficRoutingConfig</a> smart constructor.
data TrafficRoutingConfig

-- | Creates a value of <a>TrafficRoutingConfig</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>trcTimeBasedCanary</a> - A configuration that shifts traffic
--   from one version of a Lambda function to another in two increments.
--   The original and target Lambda function versions are specified in the
--   deployment's AppSpec file.</li>
--   <li><a>trcTimeBasedLinear</a> - A configuration that shifts traffic
--   from one version of a Lambda function to another in equal increments,
--   with an equal number of minutes between each increment. The original
--   and target Lambda function versions are specified in the deployment's
--   AppSpec file.</li>
--   <li><a>trcType</a> - The type of traffic shifting
--   (<tt>TimeBasedCanary</tt> or <tt>TimeBasedLinear</tt> ) used by a
--   deployment configuration .</li>
--   </ul>
trafficRoutingConfig :: TrafficRoutingConfig

-- | A configuration that shifts traffic from one version of a Lambda
--   function to another in two increments. The original and target Lambda
--   function versions are specified in the deployment's AppSpec file.
trcTimeBasedCanary :: Lens' TrafficRoutingConfig (Maybe TimeBasedCanary)

-- | A configuration that shifts traffic from one version of a Lambda
--   function to another in equal increments, with an equal number of
--   minutes between each increment. The original and target Lambda
--   function versions are specified in the deployment's AppSpec file.
trcTimeBasedLinear :: Lens' TrafficRoutingConfig (Maybe TimeBasedLinear)

-- | The type of traffic shifting (<tt>TimeBasedCanary</tt> or
--   <tt>TimeBasedLinear</tt> ) used by a deployment configuration .
trcType :: Lens' TrafficRoutingConfig (Maybe TrafficRoutingType)

-- | Information about notification triggers for the deployment group.
--   
--   <i>See:</i> <a>triggerConfig</a> smart constructor.
data TriggerConfig

-- | Creates a value of <a>TriggerConfig</a> with the minimum fields
--   required to make a request.
--   
--   Use one of the following lenses to modify other fields as desired:
--   
--   <ul>
--   <li><a>tcTriggerName</a> - The name of the notification trigger.</li>
--   <li><a>tcTriggerEvents</a> - The event type or types for which
--   notifications are triggered.</li>
--   <li><a>tcTriggerTargetARN</a> - The ARN of the Amazon Simple
--   Notification Service topic through which notifications about
--   deployment or instance events are sent.</li>
--   </ul>
triggerConfig :: TriggerConfig

-- | The name of the notification trigger.
tcTriggerName :: Lens' TriggerConfig (Maybe Text)

-- | The event type or types for which notifications are triggered.
tcTriggerEvents :: Lens' TriggerConfig [TriggerEventType]

-- | The ARN of the Amazon Simple Notification Service topic through which
--   notifications about deployment or instance events are sent.
tcTriggerTargetARN :: Lens' TriggerConfig (Maybe Text)
