/AWS1/IF_RSH=>CREATECLUSTERSNAPSHOT()¶
About CreateClusterSnapshot¶
Creates a manual snapshot of the specified cluster. The cluster must be in the
available state. 
For more information about working with snapshots, go to Amazon Redshift Snapshots in the Amazon Redshift Cluster Management Guide.
Method Signature¶
METHODS /AWS1/IF_RSH~CREATECLUSTERSNAPSHOT
  IMPORTING
    !IV_SNAPSHOTIDENTIFIER TYPE /AWS1/RSHSTRING OPTIONAL
    !IV_CLUSTERIDENTIFIER TYPE /AWS1/RSHSTRING OPTIONAL
    !IV_MANUALSNAPSHOTRETPERIOD TYPE /AWS1/RSHINTEGEROPTIONAL OPTIONAL
    !IT_TAGS TYPE /AWS1/CL_RSHTAG=>TT_TAGLIST OPTIONAL
  RETURNING
    VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_rshcreclustsnaprslt
  RAISING
    /AWS1/CX_RSHCLUSTNOTFOUNDFAULT
    /AWS1/CX_RSHCLSTSNAPALREXFAULT
    /AWS1/CX_RSHCLSTSNAPQUOTAEXC00
    /AWS1/CX_RSHINVCLUSTSTATEFAULT
    /AWS1/CX_RSHINVRETPERIODFAULT
    /AWS1/CX_RSHINVALIDTAGFAULT
    /AWS1/CX_RSHTAGLIMITEXCDFAULT
    /AWS1/CX_RSHCLIENTEXC
    /AWS1/CX_RSHSERVEREXC
    /AWS1/CX_RT_TECHNICAL_GENERIC
    /AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_snapshotidentifier TYPE /AWS1/RSHSTRING /AWS1/RSHSTRING¶
A unique identifier for the snapshot that you are requesting. This identifier must be unique for all snapshots within the Amazon Web Services account.
Constraints:
Cannot be null, empty, or blank
Must contain from 1 to 255 alphanumeric characters or hyphens
First character must be a letter
Cannot end with a hyphen or contain two consecutive hyphens
Example:
my-snapshot-id
iv_clusteridentifier TYPE /AWS1/RSHSTRING /AWS1/RSHSTRING¶
The cluster identifier for which you want a snapshot.
Optional arguments:¶
iv_manualsnapshotretperiod TYPE /AWS1/RSHINTEGEROPTIONAL /AWS1/RSHINTEGEROPTIONAL¶
The number of days that a manual snapshot is retained. If the value is -1, the manual snapshot is retained indefinitely.
The value must be either -1 or an integer between 1 and 3,653.
The default value is -1.
it_tags TYPE /AWS1/CL_RSHTAG=>TT_TAGLIST TT_TAGLIST¶
A list of tag instances.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_rshcreclustsnaprslt /AWS1/CL_RSHCRECLUSTSNAPRSLT¶
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->createclustersnapshot(
  it_tags = VALUE /aws1/cl_rshtag=>tt_taglist(
    (
      new /aws1/cl_rshtag(
        iv_key = |string|
        iv_value = |string|
      )
    )
  )
  iv_clusteridentifier = |string|
  iv_manualsnapshotretperiod = 123
  iv_snapshotidentifier = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
  lo_snapshot = lo_result->get_snapshot( ).
  IF lo_snapshot IS NOT INITIAL.
    lv_string = lo_snapshot->get_snapshotidentifier( ).
    lv_string = lo_snapshot->get_clusteridentifier( ).
    lv_tstamp = lo_snapshot->get_snapshotcreatetime( ).
    lv_string = lo_snapshot->get_status( ).
    lv_integer = lo_snapshot->get_port( ).
    lv_string = lo_snapshot->get_availabilityzone( ).
    lv_tstamp = lo_snapshot->get_clustercreatetime( ).
    lv_string = lo_snapshot->get_masterusername( ).
    lv_string = lo_snapshot->get_clusterversion( ).
    lv_string = lo_snapshot->get_enginefullversion( ).
    lv_string = lo_snapshot->get_snapshottype( ).
    lv_string = lo_snapshot->get_nodetype( ).
    lv_integer = lo_snapshot->get_numberofnodes( ).
    lv_string = lo_snapshot->get_dbname( ).
    lv_string = lo_snapshot->get_vpcid( ).
    lv_boolean = lo_snapshot->get_encrypted( ).
    lv_string = lo_snapshot->get_kmskeyid( ).
    lv_boolean = lo_snapshot->get_encryptedwithhsm( ).
    LOOP AT lo_snapshot->get_acctswithrestoreaccess( ) into lo_row.
      lo_row_1 = lo_row.
      IF lo_row_1 IS NOT INITIAL.
        lv_string = lo_row_1->get_accountid( ).
        lv_string = lo_row_1->get_accountalias( ).
      ENDIF.
    ENDLOOP.
    lv_string = lo_snapshot->get_owneraccount( ).
    lv_double = lo_snapshot->get_totalbackupsizeinmegab00( ).
    lv_double = lo_snapshot->get_actualincrementalbacku00( ).
    lv_double = lo_snapshot->get_backupprgssinmegabytes( ).
    lv_double = lo_snapshot->get_currentbackuprateinmeg00( ).
    lv_long = lo_snapshot->get_estimatedsecstocomplet00( ).
    lv_long = lo_snapshot->get_elapsedtimeinseconds( ).
    lv_string = lo_snapshot->get_sourceregion( ).
    LOOP AT lo_snapshot->get_tags( ) into lo_row_2.
      lo_row_3 = lo_row_2.
      IF lo_row_3 IS NOT INITIAL.
        lv_string = lo_row_3->get_key( ).
        lv_string = lo_row_3->get_value( ).
      ENDIF.
    ENDLOOP.
    LOOP AT lo_snapshot->get_restorablenodetypes( ) into lo_row_4.
      lo_row_5 = lo_row_4.
      IF lo_row_5 IS NOT INITIAL.
        lv_string = lo_row_5->get_value( ).
      ENDIF.
    ENDLOOP.
    lv_boolean = lo_snapshot->get_enhancedvpcrouting( ).
    lv_string = lo_snapshot->get_maintenancetrackname( ).
    lv_integeroptional = lo_snapshot->get_manualsnapshotretperiod( ).
    lv_integeroptional = lo_snapshot->get_manualsnapremainingdays( ).
    lv_tstamp = lo_snapshot->get_snapshotretstarttime( ).
    lv_string = lo_snapshot->get_masterpasswordsecretarn( ).
    lv_string = lo_snapshot->get_masterpasswordsecretkm00( ).
    lv_string = lo_snapshot->get_snapshotarn( ).
  ENDIF.
ENDIF.