Amazon ElastiCache

2022/11/16 - Amazon ElastiCache - 4 updated api methods

Changes  for Redis now supports AWS Identity and Access Management authentication access to Redis clusters starting with redis-engine version 7.0

CreateUser (updated) Link ¶
Changes (request, response)
Request
{'AuthenticationMode': {'Passwords': ['string'],
                        'Type': 'password | no-password-required | iam'}}
Response
{'Authentication': {'Type': {'iam'}}}

For Redis engine version 6.0 onwards: Creates a Redis user. For more information, see Using Role Based Access Control (RBAC).

See also: AWS API Documentation

Request Syntax

client.create_user(
    UserId='string',
    UserName='string',
    Engine='string',
    Passwords=[
        'string',
    ],
    AccessString='string',
    NoPasswordRequired=True|False,
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    AuthenticationMode={
        'Type': 'password'|'no-password-required'|'iam',
        'Passwords': [
            'string',
        ]
    }
)
type UserId

string

param UserId

[REQUIRED]

The ID of the user.

type UserName

string

param UserName

[REQUIRED]

The username of the user.

type Engine

string

param Engine

[REQUIRED]

The current supported value is Redis.

type Passwords

list

param Passwords

Passwords used for this user. You can create up to two passwords for each user.

  • (string) --

type AccessString

string

param AccessString

[REQUIRED]

Access permissions string used for this user.

type NoPasswordRequired

boolean

param NoPasswordRequired

Indicates a password is not required for this user.

type Tags

list

param Tags

A list of tags to be added to this resource. A tag is a key-value pair. A tag key must be accompanied by a tag value, although null is accepted.

  • (dict) --

    A tag that can be added to an ElastiCache cluster or replication group. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your ElastiCache resources, with the exception of global replication group. When you add or remove tags on replication groups, those actions will be replicated to all nodes in the replication group. A tag with a null Value is permitted.

    • Key (string) --

      The key for the tag. May not be null.

    • Value (string) --

      The tag's value. May be null.

type AuthenticationMode

dict

param AuthenticationMode

Specifies how to authenticate the user.

  • Type (string) --

    Specifies the authentication type. Possible options are IAM authentication, password and no password.

  • Passwords (list) --

    Specifies the passwords to use for authentication if Type is set to password .

    • (string) --

rtype

dict

returns

Response Syntax

{
    'UserId': 'string',
    'UserName': 'string',
    'Status': 'string',
    'Engine': 'string',
    'MinimumEngineVersion': 'string',
    'AccessString': 'string',
    'UserGroupIds': [
        'string',
    ],
    'Authentication': {
        'Type': 'password'|'no-password'|'iam',
        'PasswordCount': 123
    },
    'ARN': 'string'
}

Response Structure

  • (dict) --

    • UserId (string) --

      The ID of the user.

    • UserName (string) --

      The username of the user.

    • Status (string) --

      Indicates the user status. Can be "active", "modifying" or "deleting".

    • Engine (string) --

      The current supported value is Redis.

    • MinimumEngineVersion (string) --

      The minimum engine version required, which is Redis 6.0

    • AccessString (string) --

      Access permissions string used for this user.

    • UserGroupIds (list) --

      Returns a list of the user group IDs the user belongs to.

      • (string) --

    • Authentication (dict) --

      Denotes whether the user requires a password to authenticate.

      • Type (string) --

        Indicates whether the user requires a password to authenticate.

      • PasswordCount (integer) --

        The number of passwords belonging to the user. The maximum is two.

    • ARN (string) --

      The Amazon Resource Name (ARN) of the user.

DeleteUser (updated) Link ¶
Changes (response)
{'Authentication': {'Type': {'iam'}}}

For Redis engine version 6.0 onwards: Deletes a user. The user will be removed from all user groups and in turn removed from all replication groups. For more information, see Using Role Based Access Control (RBAC).

See also: AWS API Documentation

Request Syntax

client.delete_user(
    UserId='string'
)
type UserId

string

param UserId

[REQUIRED]

The ID of the user.

rtype

dict

returns

Response Syntax

{
    'UserId': 'string',
    'UserName': 'string',
    'Status': 'string',
    'Engine': 'string',
    'MinimumEngineVersion': 'string',
    'AccessString': 'string',
    'UserGroupIds': [
        'string',
    ],
    'Authentication': {
        'Type': 'password'|'no-password'|'iam',
        'PasswordCount': 123
    },
    'ARN': 'string'
}

Response Structure

  • (dict) --

    • UserId (string) --

      The ID of the user.

    • UserName (string) --

      The username of the user.

    • Status (string) --

      Indicates the user status. Can be "active", "modifying" or "deleting".

    • Engine (string) --

      The current supported value is Redis.

    • MinimumEngineVersion (string) --

      The minimum engine version required, which is Redis 6.0

    • AccessString (string) --

      Access permissions string used for this user.

    • UserGroupIds (list) --

      Returns a list of the user group IDs the user belongs to.

      • (string) --

    • Authentication (dict) --

      Denotes whether the user requires a password to authenticate.

      • Type (string) --

        Indicates whether the user requires a password to authenticate.

      • PasswordCount (integer) --

        The number of passwords belonging to the user. The maximum is two.

    • ARN (string) --

      The Amazon Resource Name (ARN) of the user.

DescribeUsers (updated) Link ¶
Changes (response)
{'Users': {'Authentication': {'Type': {'iam'}}}}

Returns a list of users.

See also: AWS API Documentation

Request Syntax

client.describe_users(
    Engine='string',
    UserId='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    MaxRecords=123,
    Marker='string'
)
type Engine

string

param Engine

The Redis engine.

type UserId

string

param UserId

The ID of the user.

type Filters

list

param Filters

Filter to determine the list of User IDs to return.

  • (dict) --

    Used to streamline results of a search based on the property being filtered.

    • Name (string) -- [REQUIRED]

      The property being filtered. For example, UserId.

    • Values (list) -- [REQUIRED]

      The property values to filter on. For example, "user-123".

      • (string) --

type MaxRecords

integer

param MaxRecords

The maximum number of records to include in the response. If more records exist than the specified MaxRecords value, a marker is included in the response so that the remaining results can be retrieved.

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

{
    'Users': [
        {
            'UserId': 'string',
            'UserName': 'string',
            'Status': 'string',
            'Engine': 'string',
            'MinimumEngineVersion': 'string',
            'AccessString': 'string',
            'UserGroupIds': [
                'string',
            ],
            'Authentication': {
                'Type': 'password'|'no-password'|'iam',
                'PasswordCount': 123
            },
            'ARN': 'string'
        },
    ],
    'Marker': 'string'
}

Response Structure

  • (dict) --

    • Users (list) --

      A list of users.

      • (dict) --

        • UserId (string) --

          The ID of the user.

        • UserName (string) --

          The username of the user.

        • Status (string) --

          Indicates the user status. Can be "active", "modifying" or "deleting".

        • Engine (string) --

          The current supported value is Redis.

        • MinimumEngineVersion (string) --

          The minimum engine version required, which is Redis 6.0

        • AccessString (string) --

          Access permissions string used for this user.

        • UserGroupIds (list) --

          Returns a list of the user group IDs the user belongs to.

          • (string) --

        • Authentication (dict) --

          Denotes whether the user requires a password to authenticate.

          • Type (string) --

            Indicates whether the user requires a password to authenticate.

          • PasswordCount (integer) --

            The number of passwords belonging to the user. The maximum is two.

        • ARN (string) --

          The Amazon Resource Name (ARN) of the user.

    • 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. >

ModifyUser (updated) Link ¶
Changes (request, response)
Request
{'AuthenticationMode': {'Passwords': ['string'],
                        'Type': 'password | no-password-required | iam'}}
Response
{'Authentication': {'Type': {'iam'}}}

Changes user password(s) and/or access string.

See also: AWS API Documentation

Request Syntax

client.modify_user(
    UserId='string',
    AccessString='string',
    AppendAccessString='string',
    Passwords=[
        'string',
    ],
    NoPasswordRequired=True|False,
    AuthenticationMode={
        'Type': 'password'|'no-password-required'|'iam',
        'Passwords': [
            'string',
        ]
    }
)
type UserId

string

param UserId

[REQUIRED]

The ID of the user.

type AccessString

string

param AccessString

Access permissions string used for this user.

type AppendAccessString

string

param AppendAccessString

Adds additional user permissions to the access string.

type Passwords

list

param Passwords

The passwords belonging to the user. You are allowed up to two.

  • (string) --

type NoPasswordRequired

boolean

param NoPasswordRequired

Indicates no password is required for the user.

type AuthenticationMode

dict

param AuthenticationMode

Specifies how to authenticate the user.

  • Type (string) --

    Specifies the authentication type. Possible options are IAM authentication, password and no password.

  • Passwords (list) --

    Specifies the passwords to use for authentication if Type is set to password .

    • (string) --

rtype

dict

returns

Response Syntax

{
    'UserId': 'string',
    'UserName': 'string',
    'Status': 'string',
    'Engine': 'string',
    'MinimumEngineVersion': 'string',
    'AccessString': 'string',
    'UserGroupIds': [
        'string',
    ],
    'Authentication': {
        'Type': 'password'|'no-password'|'iam',
        'PasswordCount': 123
    },
    'ARN': 'string'
}

Response Structure

  • (dict) --

    • UserId (string) --

      The ID of the user.

    • UserName (string) --

      The username of the user.

    • Status (string) --

      Indicates the user status. Can be "active", "modifying" or "deleting".

    • Engine (string) --

      The current supported value is Redis.

    • MinimumEngineVersion (string) --

      The minimum engine version required, which is Redis 6.0

    • AccessString (string) --

      Access permissions string used for this user.

    • UserGroupIds (list) --

      Returns a list of the user group IDs the user belongs to.

      • (string) --

    • Authentication (dict) --

      Denotes whether the user requires a password to authenticate.

      • Type (string) --

        Indicates whether the user requires a password to authenticate.

      • PasswordCount (integer) --

        The number of passwords belonging to the user. The maximum is two.

    • ARN (string) --

      The Amazon Resource Name (ARN) of the user.