OpenSearchService / Client / update_clone

update_clone

OpenSearchService.Client.update_clone(**kwargs)

Manages a cloned blue/green upgrade that is in progress on a domain. Use it to shift a percentage of search traffic to the cloned cluster, to cut over to the cloned cluster or back to the primary cluster, or to change the retention period. Specify exactly one of TrafficSplitOptions, CutoverOptions, or RetentionOptions in each request.

See also: AWS API Documentation

Request Syntax

response = client.update_clone(
    DomainName='string',
    TrafficSplitOptions={
        'Strategy': 'ShiftReadTrafficPercent',
        'CloneReadTrafficPercent': 123
    },
    CutoverOptions={
        'Target': 'ClonedCluster'|'PrimaryCluster'
    },
    RetentionOptions={
        'RetentionInHours': 123,
        'RetentionAction': 'RollbackToPrimaryCluster'|'DeletePrimaryCluster'
    }
)
Parameters:
  • DomainName (string) –

    [REQUIRED]

    The name of the domain that has a cloned blue/green upgrade in progress.

  • TrafficSplitOptions (dict) –

    Shifts a percentage of search traffic from the primary cluster to the cloned cluster.

    • Strategy (string) – [REQUIRED]

      The traffic shifting strategy. The only valid value is ShiftReadTrafficPercent.

    • CloneReadTrafficPercent (integer) – [REQUIRED]

      The percentage of search traffic, from 0 to 100, to send to the cloned cluster. The rest goes to the primary cluster.

  • CutoverOptions (dict) –

    Cuts the domain over to the cloned cluster or back to the primary cluster.

    • Target (string) – [REQUIRED]

      The cluster to cut over to. ClonedCluster makes the cloned cluster serve the domain. PrimaryCluster keeps the primary cluster and ends the upgrade.

  • RetentionOptions (dict) –

    Changes the retention period, or ends it after cutover completes.

    Note

    This is a Tagged Union structure. Only one of the following top level keys can be set: RetentionInHours, RetentionAction.

    • RetentionInHours (integer) –

      The number of hours to keep the cluster that you cut over from. The retention period starts when cutover completes. The minimum is 1 hour. In an UpdateClone response after cutover completes, this value is the number of hours remaining in the retention period, rounded up.

    • RetentionAction (string) –

      Ends the retention period now. Valid only after cutover completes.

Return type:

dict

Returns:

Response Syntax

{
    'DomainName': 'string',
    'ChangeId': 'string',
    'CutoverOptions': {
        'Target': 'ClonedCluster'|'PrimaryCluster',
        'Status': 'InProgress'|'Completed'|'Failed'
    },
    'TrafficSplitOptions': {
        'Current': {
            'PrimaryReadTrafficPercent': 123,
            'CloneReadTrafficPercent': 123
        },
        'Target': {
            'PrimaryReadTrafficPercent': 123,
            'CloneReadTrafficPercent': 123
        },
        'Status': 'InProgress'|'Completed'|'Failed'
    },
    'RetentionOptions': {
        'RetentionInHours': 123,
        'RetentionAction': 'RollbackToPrimaryCluster'|'DeletePrimaryCluster'
    }
}

Response Structure

  • (dict) –

    Container for the response returned by the UpdateClone operation.

    • DomainName (string) –

      The name of the domain.

    • ChangeId (string) –

      The unique identifier of the configuration change. Use it with DescribeDomainChangeProgress to track the change.

    • CutoverOptions (dict) –

      The requested cutover target and the status of the cutover.

      • Target (string) –

        The cluster that the domain is cutting over to.

      • Status (string) –

        The status of the cutover.

    • TrafficSplitOptions (dict) –

      The current and requested traffic split, and the status of the traffic shift.

      • Current (dict) –

        The traffic split currently in effect.

        • PrimaryReadTrafficPercent (integer) –

          The percentage of search traffic sent to the primary cluster.

        • CloneReadTrafficPercent (integer) –

          The percentage of search traffic sent to the cloned cluster.

      • Target (dict) –

        The requested traffic split.

        • PrimaryReadTrafficPercent (integer) –

          The percentage of search traffic sent to the primary cluster.

        • CloneReadTrafficPercent (integer) –

          The percentage of search traffic sent to the cloned cluster.

      • Status (string) –

        The status of the traffic shift.

    • RetentionOptions (dict) –

      The retention settings for the upgrade.

      Note

      This is a Tagged Union structure. Only one of the following top level keys will be set: RetentionInHours, RetentionAction. If a client receives an unknown member it will set SDK_UNKNOWN_MEMBER as the top level key, which maps to the name or tag of the unknown member. The structure of SDK_UNKNOWN_MEMBER is as follows:

      'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
      
      • RetentionInHours (integer) –

        The number of hours to keep the cluster that you cut over from. The retention period starts when cutover completes. The minimum is 1 hour. In an UpdateClone response after cutover completes, this value is the number of hours remaining in the retention period, rounded up.

      • RetentionAction (string) –

        Ends the retention period now. Valid only after cutover completes.

Exceptions