Skip to content

/AWS1/CL_RDS=>MODIFYGLOBALCLUSTER()

About ModifyGlobalCluster

Modifies a setting for an Amazon Aurora global database cluster. You can change one or more database configuration parameters by specifying these parameters and the new values in the request. For more information on Amazon Aurora, see What is Amazon Aurora? in the Amazon Aurora User Guide.

This operation only applies to Aurora global database clusters.

Method Signature

IMPORTING

Optional arguments:

iv_globalclusteridentifier TYPE /AWS1/RDSSTRING /AWS1/RDSSTRING

The cluster identifier for the global cluster to modify. This parameter isn't case-sensitive.

Constraints:

  • Must match the identifier of an existing global database cluster.

iv_newglobalclusterid TYPE /AWS1/RDSSTRING /AWS1/RDSSTRING

The new cluster identifier for the global database cluster. This value is stored as a lowercase string.

Constraints:

  • Must contain from 1 to 63 letters, numbers, or hyphens.

  • The first character must be a letter.

  • Can't end with a hyphen or contain two consecutive hyphens.

Example: my-cluster2

iv_deletionprotection TYPE /AWS1/RDSBOOLEANOPTIONAL /AWS1/RDSBOOLEANOPTIONAL

Specifies whether to enable deletion protection for the global database cluster. The global database cluster can't be deleted when deletion protection is enabled.

iv_engineversion TYPE /AWS1/RDSSTRING /AWS1/RDSSTRING

The version number of the database engine to which you want to upgrade.

To list all of the available engine versions for aurora-mysql (for MySQL-based Aurora global databases), use the following command:

aws rds describe-db-engine-versions --engine aurora-mysql --query '[]|[?SupportsGlobalDatabases == true].[EngineVersion]'

To list all of the available engine versions for aurora-postgresql (for PostgreSQL-based Aurora global databases), use the following command:

aws rds describe-db-engine-versions --engine aurora-postgresql --query '[]|[?SupportsGlobalDatabases == true].[EngineVersion]'

iv_allowmajorversionupgrade TYPE /AWS1/RDSBOOLEANOPTIONAL /AWS1/RDSBOOLEANOPTIONAL

Specifies whether to allow major version upgrades.

Constraints: Must be enabled if you specify a value for the EngineVersion parameter that's a different major version than the global cluster's current version.

If you upgrade the major version of a global database, the cluster and DB instance parameter groups are set to the default parameter groups for the new version. Apply any custom parameter groups after completing the upgrade.

RETURNING

oo_output TYPE REF TO /aws1/cl_rdsmodifyglbclustrslt /AWS1/CL_RDSMODIFYGLBCLUSTRSLT

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_rds~modifyglobalcluster(
  iv_allowmajorversionupgrade = ABAP_TRUE
  iv_deletionprotection = ABAP_TRUE
  iv_engineversion = |string|
  iv_globalclusteridentifier = |string|
  iv_newglobalclusterid = |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_string = 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_string = lo_globalcluster->get_enginelifecyclesupport( ).
    lv_string = lo_globalcluster->get_databasename( ).
    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( ).
        lv_writeforwardingstatus = lo_row_1->get_glbwriteforwardingstatus( ).
        lv_globalclustermembersync = lo_row_1->get_synchronizationstatus( ).
      ENDIF.
    ENDLOOP.
    lv_string = lo_globalcluster->get_endpoint( ).
    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.
    LOOP AT lo_globalcluster->get_taglist( ) into lo_row_4.
      lo_row_5 = lo_row_4.
      IF lo_row_5 IS NOT INITIAL.
        lv_string = lo_row_5->get_key( ).
        lv_string = lo_row_5->get_value( ).
      ENDIF.
    ENDLOOP.
  ENDIF.
ENDIF.

To modify a global database cluster

The following example enables deletion protection for an Aurora MySQL-based global database cluster.

DATA(lo_result) = lo_client->/aws1/if_rds~modifyglobalcluster(
  iv_deletionprotection = ABAP_TRUE
  iv_globalclusteridentifier = |myglobalcluster|
).