Amazon ElastiCache

2019/10/09 - Amazon ElastiCache - 3 updated api methods

Changes  Amazon ElastiCache now allows you to apply available service updates on demand to your Memcached and Redis Cache Clusters. Features included: (1) Access to the list of applicable service updates and their priorities. (2) Service update monitoring and regular status updates. (3) Recommended apply-by-dates for scheduling the service updates. (4) Ability to stop and later re-apply updates. For more information, see https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/Self-Service-Updates.html and https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Self-Service-Updates.html

BatchApplyUpdateAction (updated) Link ¶
Changes (request, response)
Request
{'CacheClusterIds': ['string']}
Response
{'ProcessedUpdateActions': {'CacheClusterId': 'string'},
 'UnprocessedUpdateActions': {'CacheClusterId': 'string'}}

Apply the service update. For more information on service updates and applying them, see Applying Service Updates .

See also: AWS API Documentation

Request Syntax

client.batch_apply_update_action(
    ReplicationGroupIds=[
        'string',
    ],
    CacheClusterIds=[
        'string',
    ],
    ServiceUpdateName='string'
)
type ReplicationGroupIds

list

param ReplicationGroupIds

The replication group IDs

  • (string) --

type CacheClusterIds

list

param CacheClusterIds

The cache cluster IDs

  • (string) --

type ServiceUpdateName

string

param ServiceUpdateName

[REQUIRED]

The unique ID of the service update

rtype

dict

returns

Response Syntax

{
    'ProcessedUpdateActions': [
        {
            'ReplicationGroupId': 'string',
            'CacheClusterId': 'string',
            'ServiceUpdateName': 'string',
            'UpdateActionStatus': 'not-applied'|'waiting-to-start'|'in-progress'|'stopping'|'stopped'|'complete'
        },
    ],
    'UnprocessedUpdateActions': [
        {
            'ReplicationGroupId': 'string',
            'CacheClusterId': 'string',
            'ServiceUpdateName': 'string',
            'ErrorType': 'string',
            'ErrorMessage': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ProcessedUpdateActions (list) --

      Update actions that have been processed successfully

      • (dict) --

        Update action that has been processed for the corresponding apply/stop request

        • ReplicationGroupId (string) --

          The ID of the replication group

        • CacheClusterId (string) --

          The ID of the cache cluster

        • ServiceUpdateName (string) --

          The unique ID of the service update

        • UpdateActionStatus (string) --

          The status of the update action on the Redis cluster

    • UnprocessedUpdateActions (list) --

      Update actions that haven't been processed successfully

      • (dict) --

        Update action that has failed to be processed for the corresponding apply/stop request

        • ReplicationGroupId (string) --

          The replication group ID

        • CacheClusterId (string) --

          The ID of the cache cluster

        • ServiceUpdateName (string) --

          The unique ID of the service update

        • ErrorType (string) --

          The error type for requests that are not processed

        • ErrorMessage (string) --

          The error message that describes the reason the request was not processed

BatchStopUpdateAction (updated) Link ¶
Changes (request, response)
Request
{'CacheClusterIds': ['string']}
Response
{'ProcessedUpdateActions': {'CacheClusterId': 'string'},
 'UnprocessedUpdateActions': {'CacheClusterId': 'string'}}

Stop the service update. For more information on service updates and stopping them, see Stopping Service Updates .

See also: AWS API Documentation

Request Syntax

client.batch_stop_update_action(
    ReplicationGroupIds=[
        'string',
    ],
    CacheClusterIds=[
        'string',
    ],
    ServiceUpdateName='string'
)
type ReplicationGroupIds

list

param ReplicationGroupIds

The replication group IDs

  • (string) --

type CacheClusterIds

list

param CacheClusterIds

The cache cluster IDs

  • (string) --

type ServiceUpdateName

string

param ServiceUpdateName

[REQUIRED]

The unique ID of the service update

rtype

dict

returns

Response Syntax

{
    'ProcessedUpdateActions': [
        {
            'ReplicationGroupId': 'string',
            'CacheClusterId': 'string',
            'ServiceUpdateName': 'string',
            'UpdateActionStatus': 'not-applied'|'waiting-to-start'|'in-progress'|'stopping'|'stopped'|'complete'
        },
    ],
    'UnprocessedUpdateActions': [
        {
            'ReplicationGroupId': 'string',
            'CacheClusterId': 'string',
            'ServiceUpdateName': 'string',
            'ErrorType': 'string',
            'ErrorMessage': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • ProcessedUpdateActions (list) --

      Update actions that have been processed successfully

      • (dict) --

        Update action that has been processed for the corresponding apply/stop request

        • ReplicationGroupId (string) --

          The ID of the replication group

        • CacheClusterId (string) --

          The ID of the cache cluster

        • ServiceUpdateName (string) --

          The unique ID of the service update

        • UpdateActionStatus (string) --

          The status of the update action on the Redis cluster

    • UnprocessedUpdateActions (list) --

      Update actions that haven't been processed successfully

      • (dict) --

        Update action that has failed to be processed for the corresponding apply/stop request

        • ReplicationGroupId (string) --

          The replication group ID

        • CacheClusterId (string) --

          The ID of the cache cluster

        • ServiceUpdateName (string) --

          The unique ID of the service update

        • ErrorType (string) --

          The error type for requests that are not processed

        • ErrorMessage (string) --

          The error message that describes the reason the request was not processed

DescribeUpdateActions (updated) Link ¶
Changes (request, response)
Request
{'CacheClusterIds': ['string'], 'Engine': 'string'}
Response
{'UpdateActions': {'CacheClusterId': 'string',
                   'CacheNodeUpdateStatus': [{'CacheNodeId': 'string',
                                              'NodeDeletionDate': 'timestamp',
                                              'NodeUpdateEndDate': 'timestamp',
                                              'NodeUpdateInitiatedBy': 'system '
                                                                       '| '
                                                                       'customer',
                                              'NodeUpdateInitiatedDate': 'timestamp',
                                              'NodeUpdateStartDate': 'timestamp',
                                              'NodeUpdateStatus': 'not-applied '
                                                                  '| '
                                                                  'waiting-to-start '
                                                                  '| '
                                                                  'in-progress '
                                                                  '| stopping '
                                                                  '| stopped | '
                                                                  'complete',
                                              'NodeUpdateStatusModifiedDate': 'timestamp'}],
                   'Engine': 'string'}}

Returns details of the update actions

See also: AWS API Documentation

Request Syntax

client.describe_update_actions(
    ServiceUpdateName='string',
    ReplicationGroupIds=[
        'string',
    ],
    CacheClusterIds=[
        'string',
    ],
    Engine='string',
    ServiceUpdateStatus=[
        'available'|'cancelled'|'expired',
    ],
    ServiceUpdateTimeRange={
        'StartTime': datetime(2015, 1, 1),
        'EndTime': datetime(2015, 1, 1)
    },
    UpdateActionStatus=[
        'not-applied'|'waiting-to-start'|'in-progress'|'stopping'|'stopped'|'complete',
    ],
    ShowNodeLevelUpdateStatus=True|False,
    MaxRecords=123,
    Marker='string'
)
type ServiceUpdateName

string

param ServiceUpdateName

The unique ID of the service update

type ReplicationGroupIds

list

param ReplicationGroupIds

The replication group IDs

  • (string) --

type CacheClusterIds

list

param CacheClusterIds

The cache cluster IDs

  • (string) --

type Engine

string

param Engine

The Elasticache engine to which the update applies. Either Redis or Memcached

type ServiceUpdateStatus

list

param ServiceUpdateStatus

The status of the service update

  • (string) --

type ServiceUpdateTimeRange

dict

param ServiceUpdateTimeRange

The range of time specified to search for service updates that are in available status

  • StartTime (datetime) --

    The start time of the time range filter

  • EndTime (datetime) --

    The end time of the time range filter

type UpdateActionStatus

list

param UpdateActionStatus

The status of the update action.

  • (string) --

type ShowNodeLevelUpdateStatus

boolean

param ShowNodeLevelUpdateStatus

Dictates whether to include node level update status in the response

type MaxRecords

integer

param MaxRecords

The maximum number of records to include in the response

type Marker

string

param Marker

An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

rtype

dict

returns

Response Syntax

{
    'Marker': 'string',
    'UpdateActions': [
        {
            'ReplicationGroupId': 'string',
            'CacheClusterId': 'string',
            'ServiceUpdateName': 'string',
            'ServiceUpdateReleaseDate': datetime(2015, 1, 1),
            'ServiceUpdateSeverity': 'critical'|'important'|'medium'|'low',
            'ServiceUpdateStatus': 'available'|'cancelled'|'expired',
            'ServiceUpdateRecommendedApplyByDate': datetime(2015, 1, 1),
            'ServiceUpdateType': 'security-update',
            'UpdateActionAvailableDate': datetime(2015, 1, 1),
            'UpdateActionStatus': 'not-applied'|'waiting-to-start'|'in-progress'|'stopping'|'stopped'|'complete',
            'NodesUpdated': 'string',
            'UpdateActionStatusModifiedDate': datetime(2015, 1, 1),
            'SlaMet': 'yes'|'no'|'n/a',
            'NodeGroupUpdateStatus': [
                {
                    'NodeGroupId': 'string',
                    'NodeGroupMemberUpdateStatus': [
                        {
                            'CacheClusterId': 'string',
                            'CacheNodeId': 'string',
                            'NodeUpdateStatus': 'not-applied'|'waiting-to-start'|'in-progress'|'stopping'|'stopped'|'complete',
                            'NodeDeletionDate': datetime(2015, 1, 1),
                            'NodeUpdateStartDate': datetime(2015, 1, 1),
                            'NodeUpdateEndDate': datetime(2015, 1, 1),
                            'NodeUpdateInitiatedBy': 'system'|'customer',
                            'NodeUpdateInitiatedDate': datetime(2015, 1, 1),
                            'NodeUpdateStatusModifiedDate': datetime(2015, 1, 1)
                        },
                    ]
                },
            ],
            'CacheNodeUpdateStatus': [
                {
                    'CacheNodeId': 'string',
                    'NodeUpdateStatus': 'not-applied'|'waiting-to-start'|'in-progress'|'stopping'|'stopped'|'complete',
                    'NodeDeletionDate': datetime(2015, 1, 1),
                    'NodeUpdateStartDate': datetime(2015, 1, 1),
                    'NodeUpdateEndDate': datetime(2015, 1, 1),
                    'NodeUpdateInitiatedBy': 'system'|'customer',
                    'NodeUpdateInitiatedDate': datetime(2015, 1, 1),
                    'NodeUpdateStatusModifiedDate': datetime(2015, 1, 1)
                },
            ],
            'EstimatedUpdateTime': 'string',
            'Engine': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • Marker (string) --

      An optional marker returned from a prior request. Use this marker for pagination of results from this operation. If this parameter is specified, the response includes only records beyond the marker, up to the value specified by MaxRecords .

    • UpdateActions (list) --

      Returns a list of update actions

      • (dict) --

        The status of the service update for a specific replication group

        • ReplicationGroupId (string) --

          The ID of the replication group

        • CacheClusterId (string) --

          The ID of the cache cluster

        • ServiceUpdateName (string) --

          The unique ID of the service update

        • ServiceUpdateReleaseDate (datetime) --

          The date the update is first available

        • ServiceUpdateSeverity (string) --

          The severity of the service update

        • ServiceUpdateStatus (string) --

          The status of the service update

        • ServiceUpdateRecommendedApplyByDate (datetime) --

          The recommended date to apply the service update to ensure compliance. For information on compliance, see Self-Service Security Updates for Compliance .

        • ServiceUpdateType (string) --

          Reflects the nature of the service update

        • UpdateActionAvailableDate (datetime) --

          The date that the service update is available to a replication group

        • UpdateActionStatus (string) --

          The status of the update action

        • NodesUpdated (string) --

          The progress of the service update on the replication group

        • UpdateActionStatusModifiedDate (datetime) --

          The date when the UpdateActionStatus was last modified

        • SlaMet (string) --

          If yes, all nodes in the replication group have been updated by the recommended apply-by date. If no, at least one node in the replication group have not been updated by the recommended apply-by date. If N/A, the replication group was created after the recommended apply-by date.

        • NodeGroupUpdateStatus (list) --

          The status of the service update on the node group

          • (dict) --

            The status of the service update on the node group

            • NodeGroupId (string) --

              The ID of the node group

            • NodeGroupMemberUpdateStatus (list) --

              The status of the service update on the node group member

              • (dict) --

                The status of the service update on the node group member

                • CacheClusterId (string) --

                  The cache cluster ID

                • CacheNodeId (string) --

                  The node ID of the cache cluster

                • NodeUpdateStatus (string) --

                  The update status of the node

                • NodeDeletionDate (datetime) --

                  The deletion date of the node

                • NodeUpdateStartDate (datetime) --

                  The start date of the update for a node

                • NodeUpdateEndDate (datetime) --

                  The end date of the update for a node

                • NodeUpdateInitiatedBy (string) --

                  Reflects whether the update was initiated by the customer or automatically applied

                • NodeUpdateInitiatedDate (datetime) --

                  The date when the update is triggered

                • NodeUpdateStatusModifiedDate (datetime) --

                  The date when the NodeUpdateStatus was last modified

        • CacheNodeUpdateStatus (list) --

          The status of the service update on the cache node

          • (dict) --

            The status of the service update on the cache node

            • CacheNodeId (string) --

              The node ID of the cache cluster

            • NodeUpdateStatus (string) --

              The update status of the node

            • NodeDeletionDate (datetime) --

              The deletion date of the node

            • NodeUpdateStartDate (datetime) --

              The start date of the update for a node

            • NodeUpdateEndDate (datetime) --

              The end date of the update for a node

            • NodeUpdateInitiatedBy (string) --

              Reflects whether the update was initiated by the customer or automatically applied

            • NodeUpdateInitiatedDate (datetime) --

              The date when the update is triggered

            • NodeUpdateStatusModifiedDate (datetime) --

              The date when the NodeUpdateStatus was last modified>

        • EstimatedUpdateTime (string) --

          The estimated length of time for the update to complete

        • Engine (string) --

          The Elasticache engine to which the update applies. Either Redis or Memcached