Amazon ElastiCache

2019/06/04 - Amazon ElastiCache - 4 new api methods

Changes  Amazon ElastiCache now allows you to apply available service updates on demand. 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, which is critical if your cluster is in ElastiCache-supported compliance programs. (4) Ability to stop and later re-apply updates. For more information, see https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/Self-Service-Updates.html

DescribeUpdateActions (new) Link ¶

Returns details of the update actions

See also: AWS API Documentation

Request Syntax

client.describe_update_actions(
    ServiceUpdateName='string',
    ReplicationGroupIds=[
        '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 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',
            '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)
                        },
                    ]
                },
            ],
            'EstimatedUpdateTime': '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

        • 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

        • EstimatedUpdateTime (string) --

          The estimated length of time for the update to complete

BatchApplyUpdateAction (new) Link ¶

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',
    ],
    ServiceUpdateName='string'
)
type ReplicationGroupIds

list

param ReplicationGroupIds

[REQUIRED]

The replication group IDs

  • (string) --

type ServiceUpdateName

string

param ServiceUpdateName

[REQUIRED]

The unique ID of the service update

rtype

dict

returns

Response Syntax

{
    'ProcessedUpdateActions': [
        {
            'ReplicationGroupId': 'string',
            'ServiceUpdateName': 'string',
            'UpdateActionStatus': 'not-applied'|'waiting-to-start'|'in-progress'|'stopping'|'stopped'|'complete'
        },
    ],
    'UnprocessedUpdateActions': [
        {
            'ReplicationGroupId': '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

        • 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

        • 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 (new) Link ¶

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',
    ],
    ServiceUpdateName='string'
)
type ReplicationGroupIds

list

param ReplicationGroupIds

[REQUIRED]

The replication group IDs

  • (string) --

type ServiceUpdateName

string

param ServiceUpdateName

[REQUIRED]

The unique ID of the service update

rtype

dict

returns

Response Syntax

{
    'ProcessedUpdateActions': [
        {
            'ReplicationGroupId': 'string',
            'ServiceUpdateName': 'string',
            'UpdateActionStatus': 'not-applied'|'waiting-to-start'|'in-progress'|'stopping'|'stopped'|'complete'
        },
    ],
    'UnprocessedUpdateActions': [
        {
            'ReplicationGroupId': '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

        • 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

        • 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

DescribeServiceUpdates (new) Link ¶

Returns details of the service updates

See also: AWS API Documentation

Request Syntax

client.describe_service_updates(
    ServiceUpdateName='string',
    ServiceUpdateStatus=[
        'available'|'cancelled'|'expired',
    ],
    MaxRecords=123,
    Marker='string'
)
type ServiceUpdateName

string

param ServiceUpdateName

The unique ID of the service update

type ServiceUpdateStatus

list

param ServiceUpdateStatus

The status of the service update

  • (string) --

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',
    'ServiceUpdates': [
        {
            'ServiceUpdateName': 'string',
            'ServiceUpdateReleaseDate': datetime(2015, 1, 1),
            'ServiceUpdateEndDate': datetime(2015, 1, 1),
            'ServiceUpdateSeverity': 'critical'|'important'|'medium'|'low',
            'ServiceUpdateRecommendedApplyByDate': datetime(2015, 1, 1),
            'ServiceUpdateStatus': 'available'|'cancelled'|'expired',
            'ServiceUpdateDescription': 'string',
            'ServiceUpdateType': 'security-update',
            'Engine': 'string',
            'EngineVersion': 'string',
            'AutoUpdateAfterRecommendedApplyByDate': True|False,
            'EstimatedUpdateTime': '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 .

    • ServiceUpdates (list) --

      A list of service updates

      • (dict) --

        An update that you can apply to your Redis clusters.

        • ServiceUpdateName (string) --

          The unique ID of the service update

        • ServiceUpdateReleaseDate (datetime) --

          The date when the service update is initially available

        • ServiceUpdateEndDate (datetime) --

          The date after which the service update is no longer available

        • ServiceUpdateSeverity (string) --

          The severity of the service update

        • ServiceUpdateRecommendedApplyByDate (datetime) --

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

        • ServiceUpdateStatus (string) --

          The status of the service update

        • ServiceUpdateDescription (string) --

          Provides details of the service update

        • ServiceUpdateType (string) --

          Reflects the nature of the service update

        • Engine (string) --

          The Redis engine to which the service update applies

        • EngineVersion (string) --

          The Redis engine version to which the service update applies

        • AutoUpdateAfterRecommendedApplyByDate (boolean) --

          Indicates whether the service update will be automatically applied once the recommended apply-by date has expired.

        • EstimatedUpdateTime (string) --

          The estimated length of time the service update will take