/AWS1/IF_NEP=>FAILOVERGLOBALCLUSTER()
¶
About FailoverGlobalCluster¶
Initiates the failover process for a Neptune global database.
A failover for a Neptune global database promotes one of secondary read-only DB clusters to be the primary DB cluster and demotes the primary DB cluster to being a secondary (read-only) DB cluster. In other words, the role of the current primary DB cluster and the selected target secondary DB cluster are switched. The selected secondary DB cluster assumes full read/write capabilities for the Neptune global database.
This action applies only to Neptune global databases. This action is only intended for use on healthy Neptune global databases with healthy Neptune DB clusters and no region-wide outages, to test disaster recovery scenarios or to reconfigure the global database topology.
Method Signature¶
IMPORTING¶
Required arguments:¶
iv_globalclusteridentifier
TYPE /AWS1/NEPGLOBALCLUSTERID
/AWS1/NEPGLOBALCLUSTERID
¶
Identifier of the Neptune global database that should be failed over. The identifier is the unique key assigned by the user when the Neptune global database was created. In other words, it's the name of the global database that you want to fail over.
Constraints: Must match the identifier of an existing Neptune global database.
iv_targetdbclusteridentifier
TYPE /AWS1/NEPSTRING
/AWS1/NEPSTRING
¶
The Amazon Resource Name (ARN) of the secondary Neptune DB cluster that you want to promote to primary for the global database.
Optional arguments:¶
iv_allowdataloss
TYPE /AWS1/NEPBOOLEANOPTIONAL
/AWS1/NEPBOOLEANOPTIONAL
¶
Specifies whether to allow data loss for this global database cluster operation. Allowing data loss triggers a global failover operation.
If you don't specify
AllowDataLoss
, the global database cluster operation defaults to a switchover.Constraints:Can't be specified together with the
Switchover
parameter.
iv_switchover
TYPE /AWS1/NEPBOOLEANOPTIONAL
/AWS1/NEPBOOLEANOPTIONAL
¶
Specifies whether to switch over this global database cluster.
Constraints:Can't be specified together with the
AllowDataLoss
parameter.
RETURNING¶
oo_output
TYPE REF TO /aws1/cl_nepfailoverglbclstrs
/AWS1/CL_NEPFAILOVERGLBCLSTRS
¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->/aws1/if_nep~failoverglobalcluster(
iv_allowdataloss = ABAP_TRUE
iv_globalclusteridentifier = |string|
iv_switchover = ABAP_TRUE
iv_targetdbclusteridentifier = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_globalcluster = lo_result->get_globalcluster( ).
IF lo_globalcluster IS NOT INITIAL.
lv_globalclusteridentifier = lo_globalcluster->get_globalclusteridentifier( ).
lv_string = lo_globalcluster->get_globalclusterresourceid( ).
lv_string = lo_globalcluster->get_globalclusterarn( ).
lv_string = lo_globalcluster->get_status( ).
lv_string = lo_globalcluster->get_engine( ).
lv_string = lo_globalcluster->get_engineversion( ).
lv_booleanoptional = lo_globalcluster->get_storageencrypted( ).
lv_booleanoptional = lo_globalcluster->get_deletionprotection( ).
LOOP AT lo_globalcluster->get_globalclustermembers( ) into lo_row.
lo_row_1 = lo_row.
IF lo_row_1 IS NOT INITIAL.
lv_string = lo_row_1->get_dbclusterarn( ).
LOOP AT lo_row_1->get_readers( ) into lo_row_2.
lo_row_3 = lo_row_2.
IF lo_row_3 IS NOT INITIAL.
lv_string = lo_row_3->get_value( ).
ENDIF.
ENDLOOP.
lv_boolean = lo_row_1->get_iswriter( ).
ENDIF.
ENDLOOP.
lo_failoverstate = lo_globalcluster->get_failoverstate( ).
IF lo_failoverstate IS NOT INITIAL.
lv_failoverstatus = lo_failoverstate->get_status( ).
lv_string = lo_failoverstate->get_fromdbclusterarn( ).
lv_string = lo_failoverstate->get_todbclusterarn( ).
lv_boolean = lo_failoverstate->get_isdatalossallowed( ).
ENDIF.
ENDIF.
ENDIF.