Copyright | (c) 2013-2023 Brendan Hay |
---|---|
License | Mozilla Public License, v. 2.0. |
Maintainer | Brendan Hay |
Stability | auto-generated |
Portability | non-portable (GHC extensions) |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Synopsis
- defaultService :: Service
- _AccessDeniedException :: AsError a => Fold a ServiceError
- _ConflictException :: AsError a => Fold a ServiceError
- _InternalServerException :: AsError a => Fold a ServiceError
- _ResourceNotFoundException :: AsError a => Fold a ServiceError
- _ServiceQuotaExceededException :: AsError a => Fold a ServiceError
- _ThrottlingException :: AsError a => Fold a ServiceError
- _ValidationException :: AsError a => Fold a ServiceError
- newtype RuleType where
- RuleType' {
- fromRuleType :: Text
- pattern RuleType_AND :: RuleType
- pattern RuleType_ATLEAST :: RuleType
- pattern RuleType_OR :: RuleType
- RuleType' {
- newtype Status where
- Status' {
- fromStatus :: Text
- pattern Status_DEPLOYED :: Status
- pattern Status_PENDING :: Status
- pattern Status_PENDING_DELETION :: Status
- Status' {
- data AssertionRule = AssertionRule' {
- status :: Status
- controlPanelArn :: Text
- safetyRuleArn :: Text
- assertedControls :: [Text]
- ruleConfig :: RuleConfig
- waitPeriodMs :: Int
- name :: Text
- newAssertionRule :: Status -> Text -> Text -> RuleConfig -> Int -> Text -> AssertionRule
- assertionRule_status :: Lens' AssertionRule Status
- assertionRule_controlPanelArn :: Lens' AssertionRule Text
- assertionRule_safetyRuleArn :: Lens' AssertionRule Text
- assertionRule_assertedControls :: Lens' AssertionRule [Text]
- assertionRule_ruleConfig :: Lens' AssertionRule RuleConfig
- assertionRule_waitPeriodMs :: Lens' AssertionRule Int
- assertionRule_name :: Lens' AssertionRule Text
- data AssertionRuleUpdate = AssertionRuleUpdate' {
- safetyRuleArn :: Text
- waitPeriodMs :: Int
- name :: Text
- newAssertionRuleUpdate :: Text -> Int -> Text -> AssertionRuleUpdate
- assertionRuleUpdate_safetyRuleArn :: Lens' AssertionRuleUpdate Text
- assertionRuleUpdate_waitPeriodMs :: Lens' AssertionRuleUpdate Int
- assertionRuleUpdate_name :: Lens' AssertionRuleUpdate Text
- data Cluster = Cluster' {
- clusterArn :: Maybe Text
- clusterEndpoints :: Maybe [ClusterEndpoint]
- name :: Maybe Text
- status :: Maybe Status
- newCluster :: Cluster
- cluster_clusterArn :: Lens' Cluster (Maybe Text)
- cluster_clusterEndpoints :: Lens' Cluster (Maybe [ClusterEndpoint])
- cluster_name :: Lens' Cluster (Maybe Text)
- cluster_status :: Lens' Cluster (Maybe Status)
- data ClusterEndpoint = ClusterEndpoint' {}
- newClusterEndpoint :: ClusterEndpoint
- clusterEndpoint_endpoint :: Lens' ClusterEndpoint (Maybe Text)
- clusterEndpoint_region :: Lens' ClusterEndpoint (Maybe Text)
- data ControlPanel = ControlPanel' {}
- newControlPanel :: ControlPanel
- controlPanel_clusterArn :: Lens' ControlPanel (Maybe Text)
- controlPanel_controlPanelArn :: Lens' ControlPanel (Maybe Text)
- controlPanel_defaultControlPanel :: Lens' ControlPanel (Maybe Bool)
- controlPanel_name :: Lens' ControlPanel (Maybe Text)
- controlPanel_routingControlCount :: Lens' ControlPanel (Maybe Int)
- controlPanel_status :: Lens' ControlPanel (Maybe Status)
- data GatingRule = GatingRule' {
- status :: Status
- targetControls :: [Text]
- controlPanelArn :: Text
- safetyRuleArn :: Text
- gatingControls :: [Text]
- ruleConfig :: RuleConfig
- waitPeriodMs :: Int
- name :: Text
- newGatingRule :: Status -> Text -> Text -> RuleConfig -> Int -> Text -> GatingRule
- gatingRule_status :: Lens' GatingRule Status
- gatingRule_targetControls :: Lens' GatingRule [Text]
- gatingRule_controlPanelArn :: Lens' GatingRule Text
- gatingRule_safetyRuleArn :: Lens' GatingRule Text
- gatingRule_gatingControls :: Lens' GatingRule [Text]
- gatingRule_ruleConfig :: Lens' GatingRule RuleConfig
- gatingRule_waitPeriodMs :: Lens' GatingRule Int
- gatingRule_name :: Lens' GatingRule Text
- data GatingRuleUpdate = GatingRuleUpdate' {
- safetyRuleArn :: Text
- waitPeriodMs :: Int
- name :: Text
- newGatingRuleUpdate :: Text -> Int -> Text -> GatingRuleUpdate
- gatingRuleUpdate_safetyRuleArn :: Lens' GatingRuleUpdate Text
- gatingRuleUpdate_waitPeriodMs :: Lens' GatingRuleUpdate Int
- gatingRuleUpdate_name :: Lens' GatingRuleUpdate Text
- data NewAssertionRule = NewAssertionRule' {
- controlPanelArn :: Text
- assertedControls :: [Text]
- ruleConfig :: RuleConfig
- waitPeriodMs :: Int
- name :: Text
- newNewAssertionRule :: Text -> RuleConfig -> Int -> Text -> NewAssertionRule
- newAssertionRule_controlPanelArn :: Lens' NewAssertionRule Text
- newAssertionRule_assertedControls :: Lens' NewAssertionRule [Text]
- newAssertionRule_ruleConfig :: Lens' NewAssertionRule RuleConfig
- newAssertionRule_waitPeriodMs :: Lens' NewAssertionRule Int
- newAssertionRule_name :: Lens' NewAssertionRule Text
- data NewGatingRule = NewGatingRule' {
- targetControls :: [Text]
- controlPanelArn :: Text
- gatingControls :: [Text]
- ruleConfig :: RuleConfig
- waitPeriodMs :: Int
- name :: Text
- newNewGatingRule :: Text -> RuleConfig -> Int -> Text -> NewGatingRule
- newGatingRule_targetControls :: Lens' NewGatingRule [Text]
- newGatingRule_controlPanelArn :: Lens' NewGatingRule Text
- newGatingRule_gatingControls :: Lens' NewGatingRule [Text]
- newGatingRule_ruleConfig :: Lens' NewGatingRule RuleConfig
- newGatingRule_waitPeriodMs :: Lens' NewGatingRule Int
- newGatingRule_name :: Lens' NewGatingRule Text
- data RoutingControl = RoutingControl' {}
- newRoutingControl :: RoutingControl
- routingControl_controlPanelArn :: Lens' RoutingControl (Maybe Text)
- routingControl_name :: Lens' RoutingControl (Maybe Text)
- routingControl_routingControlArn :: Lens' RoutingControl (Maybe Text)
- routingControl_status :: Lens' RoutingControl (Maybe Status)
- data Rule = Rule' {}
- newRule :: Rule
- rule_assertion :: Lens' Rule (Maybe AssertionRule)
- rule_gating :: Lens' Rule (Maybe GatingRule)
- data RuleConfig = RuleConfig' {}
- newRuleConfig :: RuleType -> Bool -> Int -> RuleConfig
- ruleConfig_type :: Lens' RuleConfig RuleType
- ruleConfig_inverted :: Lens' RuleConfig Bool
- ruleConfig_threshold :: Lens' RuleConfig Int
Service Configuration
defaultService :: Service Source #
API version 2020-11-02
of the Amazon Route53 Recovery Control Config SDK configuration.
Errors
_AccessDeniedException :: AsError a => Fold a ServiceError Source #
403 response - You do not have sufficient access to perform this action.
_ConflictException :: AsError a => Fold a ServiceError Source #
409 response - ConflictException. You might be using a predefined variable.
_InternalServerException :: AsError a => Fold a ServiceError Source #
500 response - InternalServiceError. Temporary service error. Retry the request.
_ResourceNotFoundException :: AsError a => Fold a ServiceError Source #
404 response - MalformedQueryString. The query string contains a syntax error or resource not found.
_ServiceQuotaExceededException :: AsError a => Fold a ServiceError Source #
402 response - You attempted to create more resources than the service allows based on service quotas.
_ThrottlingException :: AsError a => Fold a ServiceError Source #
429 response - LimitExceededException or TooManyRequestsException.
_ValidationException :: AsError a => Fold a ServiceError Source #
400 response - Multiple causes. For example, you might have a malformed query string and input parameter might be out of range, or you might have used parameters together incorrectly.
RuleType
An enumerated type that determines how the evaluated rules are processed. RuleType can be one of the following:
ATLEAST - At least N routing controls must be set. You specify N as the Threshold in the rule configuration.
AND - All routing controls must be set. This is a shortcut for "At least N," where N is the total number of controls in the rule.
OR - Any control must be set. This is a shortcut for "At least N," where N is 1.
pattern RuleType_AND :: RuleType | |
pattern RuleType_ATLEAST :: RuleType | |
pattern RuleType_OR :: RuleType |
Instances
Status
The deployment status of a resource. Status can be one of the following:
PENDING: Amazon Route 53 Application Recovery Controller is creating the resource.
DEPLOYED: The resource is deployed and ready to use.
PENDING_DELETION: Amazon Route 53 Application Recovery Controller is deleting the resource.
pattern Status_DEPLOYED :: Status | |
pattern Status_PENDING :: Status | |
pattern Status_PENDING_DELETION :: Status |
Instances
AssertionRule
data AssertionRule Source #
An assertion rule enforces that, when you change a routing control state, that the criteria that you set in the rule configuration is met. Otherwise, the change to the routing control is not accepted. For example, the criteria might be that at least one routing control state is On after the transaction so that traffic continues to flow to at least one cell for the application. This ensures that you avoid a fail-open scenario.
See: newAssertionRule
smart constructor.
AssertionRule' | |
|
Instances
:: Status | |
-> Text | |
-> Text | |
-> RuleConfig | |
-> Int | |
-> Text | |
-> AssertionRule |
Create a value of AssertionRule
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:status:AssertionRule'
, assertionRule_status
- The deployment status of an assertion rule. Status can be one of the
following: PENDING, DEPLOYED, PENDING_DELETION.
$sel:controlPanelArn:AssertionRule'
, assertionRule_controlPanelArn
- The Amazon Resource Name (ARN) of the control panel.
$sel:safetyRuleArn:AssertionRule'
, assertionRule_safetyRuleArn
- The Amazon Resource Name (ARN) of the assertion rule.
$sel:assertedControls:AssertionRule'
, assertionRule_assertedControls
- The routing controls that are part of transactions that are evaluated to
determine if a request to change a routing control state is allowed. For
example, you might include three routing controls, one for each of three
Amazon Web Services Regions.
$sel:ruleConfig:AssertionRule'
, assertionRule_ruleConfig
- The criteria that you set for specific assertion routing controls
(AssertedControls) that designate how many routing control states must
be ON as the result of a transaction. For example, if you have three
assertion routing controls, you might specify ATLEAST 2 for your rule
configuration. This means that at least two assertion routing control
states must be ON, so that at least two Amazon Web Services Regions have
traffic flowing to them.
$sel:waitPeriodMs:AssertionRule'
, assertionRule_waitPeriodMs
- An evaluation period, in milliseconds (ms), during which any request
against the target routing controls will fail. This helps prevent
"flapping" of state. The wait period is 5000 ms by default, but you
can choose a custom value.
$sel:name:AssertionRule'
, assertionRule_name
- Name of the assertion rule. You can use any non-white space character in
the name.
assertionRule_status :: Lens' AssertionRule Status Source #
The deployment status of an assertion rule. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.
assertionRule_controlPanelArn :: Lens' AssertionRule Text Source #
The Amazon Resource Name (ARN) of the control panel.
assertionRule_safetyRuleArn :: Lens' AssertionRule Text Source #
The Amazon Resource Name (ARN) of the assertion rule.
assertionRule_assertedControls :: Lens' AssertionRule [Text] Source #
The routing controls that are part of transactions that are evaluated to determine if a request to change a routing control state is allowed. For example, you might include three routing controls, one for each of three Amazon Web Services Regions.
assertionRule_ruleConfig :: Lens' AssertionRule RuleConfig Source #
The criteria that you set for specific assertion routing controls (AssertedControls) that designate how many routing control states must be ON as the result of a transaction. For example, if you have three assertion routing controls, you might specify ATLEAST 2 for your rule configuration. This means that at least two assertion routing control states must be ON, so that at least two Amazon Web Services Regions have traffic flowing to them.
assertionRule_waitPeriodMs :: Lens' AssertionRule Int Source #
An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value.
assertionRule_name :: Lens' AssertionRule Text Source #
Name of the assertion rule. You can use any non-white space character in the name.
AssertionRuleUpdate
data AssertionRuleUpdate Source #
An update to an assertion rule. You can update the name or the evaluation period (wait period). If you don't specify one of the items to update, the item is unchanged.
See: newAssertionRuleUpdate
smart constructor.
AssertionRuleUpdate' | |
|
Instances
newAssertionRuleUpdate Source #
:: Text | |
-> Int | |
-> Text | |
-> AssertionRuleUpdate |
Create a value of AssertionRuleUpdate
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:safetyRuleArn:AssertionRuleUpdate'
, assertionRuleUpdate_safetyRuleArn
- The Amazon Resource Name (ARN) of the assertion rule.
$sel:waitPeriodMs:AssertionRuleUpdate'
, assertionRuleUpdate_waitPeriodMs
- An evaluation period, in milliseconds (ms), during which any request
against the target routing controls will fail. This helps prevent
"flapping" of state. The wait period is 5000 ms by default, but you
can choose a custom value.
$sel:name:AssertionRuleUpdate'
, assertionRuleUpdate_name
- The name of the assertion rule. You can use any non-white space
character in the name.
assertionRuleUpdate_safetyRuleArn :: Lens' AssertionRuleUpdate Text Source #
The Amazon Resource Name (ARN) of the assertion rule.
assertionRuleUpdate_waitPeriodMs :: Lens' AssertionRuleUpdate Int Source #
An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value.
assertionRuleUpdate_name :: Lens' AssertionRuleUpdate Text Source #
The name of the assertion rule. You can use any non-white space character in the name.
Cluster
A set of five redundant Regional endpoints against which you can execute API calls to update or get the state of routing controls. You can host multiple control panels and routing controls on one cluster.
See: newCluster
smart constructor.
Cluster' | |
|
Instances
FromJSON Cluster Source # | |
Generic Cluster Source # | |
Read Cluster Source # | |
Show Cluster Source # | |
NFData Cluster Source # | |
Eq Cluster Source # | |
Hashable Cluster Source # | |
type Rep Cluster Source # | |
Defined in Amazonka.Route53RecoveryControlConfig.Types.Cluster type Rep Cluster = D1 ('MetaData "Cluster" "Amazonka.Route53RecoveryControlConfig.Types.Cluster" "amazonka-route53-recovery-control-config-2.0-EdxrPdjlafWED9VxY6nLf4" 'False) (C1 ('MetaCons "Cluster'" 'PrefixI 'True) ((S1 ('MetaSel ('Just "clusterArn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "clusterEndpoints") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [ClusterEndpoint]))) :*: (S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Status))))) |
newCluster :: Cluster Source #
Create a value of Cluster
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:clusterArn:Cluster'
, cluster_clusterArn
- The Amazon Resource Name (ARN) of the cluster.
$sel:clusterEndpoints:Cluster'
, cluster_clusterEndpoints
- Endpoints for a cluster. Specify one of these endpoints when you want to
set or retrieve a routing control state in the cluster.
To get or update the routing control state, see the Amazon Route 53 Application Recovery Controller Routing Control Actions.
$sel:name:Cluster'
, cluster_name
- The name of the cluster.
$sel:status:Cluster'
, cluster_status
- Deployment status of a resource. Status can be one of the following:
PENDING, DEPLOYED, PENDING_DELETION.
cluster_clusterArn :: Lens' Cluster (Maybe Text) Source #
The Amazon Resource Name (ARN) of the cluster.
cluster_clusterEndpoints :: Lens' Cluster (Maybe [ClusterEndpoint]) Source #
Endpoints for a cluster. Specify one of these endpoints when you want to set or retrieve a routing control state in the cluster.
To get or update the routing control state, see the Amazon Route 53 Application Recovery Controller Routing Control Actions.
cluster_status :: Lens' Cluster (Maybe Status) Source #
Deployment status of a resource. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.
ClusterEndpoint
data ClusterEndpoint Source #
A cluster endpoint. Specify an endpoint when you want to set or retrieve a routing control state in the cluster.
See: newClusterEndpoint
smart constructor.
ClusterEndpoint' | |
|
Instances
newClusterEndpoint :: ClusterEndpoint Source #
Create a value of ClusterEndpoint
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:endpoint:ClusterEndpoint'
, clusterEndpoint_endpoint
- A cluster endpoint. Specify an endpoint and Amazon Web Services Region
when you want to set or retrieve a routing control state in the cluster.
To get or update the routing control state, see the Amazon Route 53 Application Recovery Controller Routing Control Actions.
$sel:region:ClusterEndpoint'
, clusterEndpoint_region
- The Amazon Web Services Region for a cluster endpoint.
clusterEndpoint_endpoint :: Lens' ClusterEndpoint (Maybe Text) Source #
A cluster endpoint. Specify an endpoint and Amazon Web Services Region when you want to set or retrieve a routing control state in the cluster.
To get or update the routing control state, see the Amazon Route 53 Application Recovery Controller Routing Control Actions.
clusterEndpoint_region :: Lens' ClusterEndpoint (Maybe Text) Source #
The Amazon Web Services Region for a cluster endpoint.
ControlPanel
data ControlPanel Source #
A control panel represents a group of routing controls that can be changed together in a single transaction.
See: newControlPanel
smart constructor.
ControlPanel' | |
|
Instances
newControlPanel :: ControlPanel Source #
Create a value of ControlPanel
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:clusterArn:ControlPanel'
, controlPanel_clusterArn
- The Amazon Resource Name (ARN) of the cluster that includes the control
panel.
$sel:controlPanelArn:ControlPanel'
, controlPanel_controlPanelArn
- The Amazon Resource Name (ARN) of the control panel.
$sel:defaultControlPanel:ControlPanel'
, controlPanel_defaultControlPanel
- A flag that Amazon Route 53 Application Recovery Controller sets to true
to designate the default control panel for a cluster. When you create a
cluster, Amazon Route 53 Application Recovery Controller creates a
control panel, and sets this flag for that control panel. If you create
a control panel yourself, this flag is set to false.
$sel:name:ControlPanel'
, controlPanel_name
- The name of the control panel. You can use any non-white space character
in the name.
$sel:routingControlCount:ControlPanel'
, controlPanel_routingControlCount
- The number of routing controls in the control panel.
$sel:status:ControlPanel'
, controlPanel_status
- The deployment status of control panel. Status can be one of the
following: PENDING, DEPLOYED, PENDING_DELETION.
controlPanel_clusterArn :: Lens' ControlPanel (Maybe Text) Source #
The Amazon Resource Name (ARN) of the cluster that includes the control panel.
controlPanel_controlPanelArn :: Lens' ControlPanel (Maybe Text) Source #
The Amazon Resource Name (ARN) of the control panel.
controlPanel_defaultControlPanel :: Lens' ControlPanel (Maybe Bool) Source #
A flag that Amazon Route 53 Application Recovery Controller sets to true to designate the default control panel for a cluster. When you create a cluster, Amazon Route 53 Application Recovery Controller creates a control panel, and sets this flag for that control panel. If you create a control panel yourself, this flag is set to false.
controlPanel_name :: Lens' ControlPanel (Maybe Text) Source #
The name of the control panel. You can use any non-white space character in the name.
controlPanel_routingControlCount :: Lens' ControlPanel (Maybe Int) Source #
The number of routing controls in the control panel.
controlPanel_status :: Lens' ControlPanel (Maybe Status) Source #
The deployment status of control panel. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.
GatingRule
data GatingRule Source #
A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.
For example, if you specify one gating routing control and you set the Type in the rule configuration to OR, that indicates that you must set the gating routing control to On for the rule to evaluate as true; that is, for the gating control "switch" to be "On". When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.
See: newGatingRule
smart constructor.
GatingRule' | |
|
Instances
:: Status | |
-> Text | |
-> Text | |
-> RuleConfig | |
-> Int | |
-> Text | |
-> GatingRule |
Create a value of GatingRule
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:status:GatingRule'
, gatingRule_status
- The deployment status of a gating rule. Status can be one of the
following: PENDING, DEPLOYED, PENDING_DELETION.
$sel:targetControls:GatingRule'
, gatingRule_targetControls
- An array of target routing control Amazon Resource Names (ARNs) for
which the states can only be updated if the rule configuration that you
specify evaluates to true for the gating routing control. As a simple
example, if you have a single gating control, it acts as an overall
"on/off" switch for a set of target routing controls. You can use
this to manually override automated failover, for example.
$sel:controlPanelArn:GatingRule'
, gatingRule_controlPanelArn
- The Amazon Resource Name (ARN) of the control panel.
$sel:safetyRuleArn:GatingRule'
, gatingRule_safetyRuleArn
- The Amazon Resource Name (ARN) of the gating rule.
$sel:gatingControls:GatingRule'
, gatingRule_gatingControls
- An array of gating routing control Amazon Resource Names (ARNs). For a
simple "on/off" switch, specify the ARN for one routing control. The
gating routing controls are evaluated by the rule configuration that you
specify to determine if the target routing control states can be
changed.
$sel:ruleConfig:GatingRule'
, gatingRule_ruleConfig
- The criteria that you set for gating routing controls that designate how
many of the routing control states must be ON to allow you to update
target routing control states.
$sel:waitPeriodMs:GatingRule'
, gatingRule_waitPeriodMs
- An evaluation period, in milliseconds (ms), during which any request
against the target routing controls will fail. This helps prevent
"flapping" of state. The wait period is 5000 ms by default, but you
can choose a custom value.
$sel:name:GatingRule'
, gatingRule_name
- The name for the gating rule. You can use any non-white space character
in the name.
gatingRule_status :: Lens' GatingRule Status Source #
The deployment status of a gating rule. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.
gatingRule_targetControls :: Lens' GatingRule [Text] Source #
An array of target routing control Amazon Resource Names (ARNs) for which the states can only be updated if the rule configuration that you specify evaluates to true for the gating routing control. As a simple example, if you have a single gating control, it acts as an overall "on/off" switch for a set of target routing controls. You can use this to manually override automated failover, for example.
gatingRule_controlPanelArn :: Lens' GatingRule Text Source #
The Amazon Resource Name (ARN) of the control panel.
gatingRule_safetyRuleArn :: Lens' GatingRule Text Source #
The Amazon Resource Name (ARN) of the gating rule.
gatingRule_gatingControls :: Lens' GatingRule [Text] Source #
An array of gating routing control Amazon Resource Names (ARNs). For a simple "on/off" switch, specify the ARN for one routing control. The gating routing controls are evaluated by the rule configuration that you specify to determine if the target routing control states can be changed.
gatingRule_ruleConfig :: Lens' GatingRule RuleConfig Source #
The criteria that you set for gating routing controls that designate how many of the routing control states must be ON to allow you to update target routing control states.
gatingRule_waitPeriodMs :: Lens' GatingRule Int Source #
An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value.
gatingRule_name :: Lens' GatingRule Text Source #
The name for the gating rule. You can use any non-white space character in the name.
GatingRuleUpdate
data GatingRuleUpdate Source #
Update to a gating rule. You can update the name or the evaluation period (wait period). If you don't specify one of the items to update, the item is unchanged.
See: newGatingRuleUpdate
smart constructor.
GatingRuleUpdate' | |
|
Instances
:: Text | |
-> Int | |
-> Text | |
-> GatingRuleUpdate |
Create a value of GatingRuleUpdate
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:safetyRuleArn:GatingRuleUpdate'
, gatingRuleUpdate_safetyRuleArn
- The Amazon Resource Name (ARN) of the gating rule.
$sel:waitPeriodMs:GatingRuleUpdate'
, gatingRuleUpdate_waitPeriodMs
- An evaluation period, in milliseconds (ms), during which any request
against the target routing controls will fail. This helps prevent
"flapping" of state. The wait period is 5000 ms by default, but you
can choose a custom value.
$sel:name:GatingRuleUpdate'
, gatingRuleUpdate_name
- The name for the gating rule. You can use any non-white space character
in the name.
gatingRuleUpdate_safetyRuleArn :: Lens' GatingRuleUpdate Text Source #
The Amazon Resource Name (ARN) of the gating rule.
gatingRuleUpdate_waitPeriodMs :: Lens' GatingRuleUpdate Int Source #
An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value.
gatingRuleUpdate_name :: Lens' GatingRuleUpdate Text Source #
The name for the gating rule. You can use any non-white space character in the name.
NewAssertionRule
data NewAssertionRule Source #
A new assertion rule for a control panel.
See: newNewAssertionRule
smart constructor.
NewAssertionRule' | |
|
Instances
:: Text | |
-> RuleConfig | |
-> Int | |
-> Text | |
-> NewAssertionRule |
Create a value of NewAssertionRule
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:controlPanelArn:NewAssertionRule'
, newAssertionRule_controlPanelArn
- The Amazon Resource Name (ARN) for the control panel.
$sel:assertedControls:NewAssertionRule'
, newAssertionRule_assertedControls
- The routing controls that are part of transactions that are evaluated to
determine if a request to change a routing control state is allowed. For
example, you might include three routing controls, one for each of three
Amazon Web Services Regions.
$sel:ruleConfig:NewAssertionRule'
, newAssertionRule_ruleConfig
- The criteria that you set for specific assertion controls (routing
controls) that designate how many control states must be ON as the
result of a transaction. For example, if you have three assertion
controls, you might specify ATLEAST 2 for your rule configuration. This
means that at least two assertion controls must be ON, so that at least
two Amazon Web Services Regions have traffic flowing to them.
$sel:waitPeriodMs:NewAssertionRule'
, newAssertionRule_waitPeriodMs
- An evaluation period, in milliseconds (ms), during which any request
against the target routing controls will fail. This helps prevent
"flapping" of state. The wait period is 5000 ms by default, but you
can choose a custom value.
$sel:name:NewAssertionRule'
, newAssertionRule_name
- The name of the assertion rule. You can use any non-white space
character in the name.
newAssertionRule_controlPanelArn :: Lens' NewAssertionRule Text Source #
The Amazon Resource Name (ARN) for the control panel.
newAssertionRule_assertedControls :: Lens' NewAssertionRule [Text] Source #
The routing controls that are part of transactions that are evaluated to determine if a request to change a routing control state is allowed. For example, you might include three routing controls, one for each of three Amazon Web Services Regions.
newAssertionRule_ruleConfig :: Lens' NewAssertionRule RuleConfig Source #
The criteria that you set for specific assertion controls (routing controls) that designate how many control states must be ON as the result of a transaction. For example, if you have three assertion controls, you might specify ATLEAST 2 for your rule configuration. This means that at least two assertion controls must be ON, so that at least two Amazon Web Services Regions have traffic flowing to them.
newAssertionRule_waitPeriodMs :: Lens' NewAssertionRule Int Source #
An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value.
newAssertionRule_name :: Lens' NewAssertionRule Text Source #
The name of the assertion rule. You can use any non-white space character in the name.
NewGatingRule
data NewGatingRule Source #
A new gating rule for a control panel.
See: newNewGatingRule
smart constructor.
NewGatingRule' | |
|
Instances
:: Text | |
-> RuleConfig | |
-> Int | |
-> Text | |
-> NewGatingRule |
Create a value of NewGatingRule
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:targetControls:NewGatingRule'
, newGatingRule_targetControls
- Routing controls that can only be set or unset if the specified
RuleConfig evaluates to true for the specified GatingControls. For
example, say you have three gating controls, one for each of three
Amazon Web Services Regions. Now you specify ATLEAST 2 as your
RuleConfig. With these settings, you can only change (set or unset) the
routing controls that you have specified as TargetControls if that rule
evaluates to true.
In other words, your ability to change the routing controls that you have specified as TargetControls is gated by the rule that you set for the routing controls in GatingControls.
$sel:controlPanelArn:NewGatingRule'
, newGatingRule_controlPanelArn
- The Amazon Resource Name (ARN) of the control panel.
$sel:gatingControls:NewGatingRule'
, newGatingRule_gatingControls
- The gating controls for the new gating rule. That is, routing controls
that are evaluated by the rule configuration that you specify.
$sel:ruleConfig:NewGatingRule'
, newGatingRule_ruleConfig
- The criteria that you set for specific gating controls (routing
controls) that designate how many control states must be ON to allow you
to change (set or unset) the target control states.
$sel:waitPeriodMs:NewGatingRule'
, newGatingRule_waitPeriodMs
- An evaluation period, in milliseconds (ms), during which any request
against the target routing controls will fail. This helps prevent
"flapping" of state. The wait period is 5000 ms by default, but you
can choose a custom value.
$sel:name:NewGatingRule'
, newGatingRule_name
- The name for the new gating rule.
newGatingRule_targetControls :: Lens' NewGatingRule [Text] Source #
Routing controls that can only be set or unset if the specified RuleConfig evaluates to true for the specified GatingControls. For example, say you have three gating controls, one for each of three Amazon Web Services Regions. Now you specify ATLEAST 2 as your RuleConfig. With these settings, you can only change (set or unset) the routing controls that you have specified as TargetControls if that rule evaluates to true.
In other words, your ability to change the routing controls that you have specified as TargetControls is gated by the rule that you set for the routing controls in GatingControls.
newGatingRule_controlPanelArn :: Lens' NewGatingRule Text Source #
The Amazon Resource Name (ARN) of the control panel.
newGatingRule_gatingControls :: Lens' NewGatingRule [Text] Source #
The gating controls for the new gating rule. That is, routing controls that are evaluated by the rule configuration that you specify.
newGatingRule_ruleConfig :: Lens' NewGatingRule RuleConfig Source #
The criteria that you set for specific gating controls (routing controls) that designate how many control states must be ON to allow you to change (set or unset) the target control states.
newGatingRule_waitPeriodMs :: Lens' NewGatingRule Int Source #
An evaluation period, in milliseconds (ms), during which any request against the target routing controls will fail. This helps prevent "flapping" of state. The wait period is 5000 ms by default, but you can choose a custom value.
newGatingRule_name :: Lens' NewGatingRule Text Source #
The name for the new gating rule.
RoutingControl
data RoutingControl Source #
A routing control has one of two states: ON and OFF. You can map the routing control state to the state of an Amazon Route 53 health check, which can be used to control traffic routing.
See: newRoutingControl
smart constructor.
RoutingControl' | |
|
Instances
newRoutingControl :: RoutingControl Source #
Create a value of RoutingControl
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:controlPanelArn:RoutingControl'
, routingControl_controlPanelArn
- The Amazon Resource Name (ARN) of the control panel that includes the
routing control.
$sel:name:RoutingControl'
, routingControl_name
- The name of the routing control.
$sel:routingControlArn:RoutingControl'
, routingControl_routingControlArn
- The Amazon Resource Name (ARN) of the routing control.
$sel:status:RoutingControl'
, routingControl_status
- The deployment status of a routing control. Status can be one of the
following: PENDING, DEPLOYED, PENDING_DELETION.
routingControl_controlPanelArn :: Lens' RoutingControl (Maybe Text) Source #
The Amazon Resource Name (ARN) of the control panel that includes the routing control.
routingControl_name :: Lens' RoutingControl (Maybe Text) Source #
The name of the routing control.
routingControl_routingControlArn :: Lens' RoutingControl (Maybe Text) Source #
The Amazon Resource Name (ARN) of the routing control.
routingControl_status :: Lens' RoutingControl (Maybe Status) Source #
The deployment status of a routing control. Status can be one of the following: PENDING, DEPLOYED, PENDING_DELETION.
Rule
A safety rule. A safety rule can be an assertion rule or a gating rule.
See: newRule
smart constructor.
Rule' | |
|
Instances
FromJSON Rule Source # | |
Generic Rule Source # | |
Read Rule Source # | |
Show Rule Source # | |
NFData Rule Source # | |
Eq Rule Source # | |
Hashable Rule Source # | |
type Rep Rule Source # | |
Defined in Amazonka.Route53RecoveryControlConfig.Types.Rule type Rep Rule = D1 ('MetaData "Rule" "Amazonka.Route53RecoveryControlConfig.Types.Rule" "amazonka-route53-recovery-control-config-2.0-EdxrPdjlafWED9VxY6nLf4" 'False) (C1 ('MetaCons "Rule'" 'PrefixI 'True) (S1 ('MetaSel ('Just "assertion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe AssertionRule)) :*: S1 ('MetaSel ('Just "gating") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe GatingRule)))) |
Create a value of Rule
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:assertion:Rule'
, rule_assertion
- An assertion rule enforces that, when a routing control state is
changed, the criteria set by the rule configuration is met. Otherwise,
the change to the routing control state is not accepted. For example,
the criteria might be that at least one routing control state is On
after the transaction so that traffic continues to flow to at least one
cell for the application. This ensures that you avoid a fail-open
scenario.
$sel:gating:Rule'
, rule_gating
- A gating rule verifies that a gating routing control or set of gating
routing controls, evaluates as true, based on a rule configuration that
you specify, which allows a set of routing control state changes to
complete.
For example, if you specify one gating routing control and you set the Type in the rule configuration to OR, that indicates that you must set the gating routing control to On for the rule to evaluate as true; that is, for the gating control "switch" to be "On". When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.
rule_assertion :: Lens' Rule (Maybe AssertionRule) Source #
An assertion rule enforces that, when a routing control state is changed, the criteria set by the rule configuration is met. Otherwise, the change to the routing control state is not accepted. For example, the criteria might be that at least one routing control state is On after the transaction so that traffic continues to flow to at least one cell for the application. This ensures that you avoid a fail-open scenario.
rule_gating :: Lens' Rule (Maybe GatingRule) Source #
A gating rule verifies that a gating routing control or set of gating routing controls, evaluates as true, based on a rule configuration that you specify, which allows a set of routing control state changes to complete.
For example, if you specify one gating routing control and you set the Type in the rule configuration to OR, that indicates that you must set the gating routing control to On for the rule to evaluate as true; that is, for the gating control "switch" to be "On". When you do that, then you can update the routing control states for the target routing controls that you specify in the gating rule.
RuleConfig
data RuleConfig Source #
The rule configuration for an assertion rule. That is, the criteria that you set for specific assertion controls (routing controls) that specify how many control states must be ON after a transaction completes.
See: newRuleConfig
smart constructor.
RuleConfig' | |
|
Instances
:: RuleType | |
-> Bool | |
-> Int | |
-> RuleConfig |
Create a value of RuleConfig
with all optional fields omitted.
Use generic-lens or optics to modify other optional fields.
The following record fields are available, with the corresponding lenses provided for backwards compatibility:
$sel:type':RuleConfig'
, ruleConfig_type
- A rule can be one of the following: ATLEAST, AND, or OR.
$sel:inverted:RuleConfig'
, ruleConfig_inverted
- Logical negation of the rule. If the rule would usually evaluate true,
it's evaluated as false, and vice versa.
$sel:threshold:RuleConfig'
, ruleConfig_threshold
- The value of N, when you specify an ATLEAST rule type. That is,
Threshold is the number of controls that must be set when you specify an
ATLEAST type.
ruleConfig_type :: Lens' RuleConfig RuleType Source #
A rule can be one of the following: ATLEAST, AND, or OR.
ruleConfig_inverted :: Lens' RuleConfig Bool Source #
Logical negation of the rule. If the rule would usually evaluate true, it's evaluated as false, and vice versa.
ruleConfig_threshold :: Lens' RuleConfig Int Source #
The value of N, when you specify an ATLEAST rule type. That is, Threshold is the number of controls that must be set when you specify an ATLEAST type.