Amazon MemoryDB

2023/05/30 - Amazon MemoryDB - 4 updated api methods

Changes  Amazon MemoryDB 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': {'Type': {'iam'}}}
Response
{'User': {'Authentication': {'Type': {'iam'}}}}

Creates a MemoryDB user. For more information, see Authenticating users with Access Contol Lists (ACLs).

See also: AWS API Documentation

Request Syntax

client.create_user(
    UserName='string',
    AuthenticationMode={
        'Type': 'password'|'iam',
        'Passwords': [
            'string',
        ]
    },
    AccessString='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type UserName

string

param UserName

[REQUIRED]

The name of the user. This value must be unique as it also serves as the user identifier.

type AuthenticationMode

dict

param AuthenticationMode

[REQUIRED]

Denotes the user's authentication properties, such as whether it requires a password to authenticate.

  • Type (string) --

    Indicates whether the user requires a password to authenticate. All newly-created users require a password.

  • Passwords (list) --

    The password(s) used for authentication

    • (string) --

type AccessString

string

param AccessString

[REQUIRED]

Access permissions string used 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 MemoryDB resource. Tags are composed of a Key/Value pair. You can use tags to categorize and track all your MemoryDB resources. When you add or remove tags on clusters, those actions will be replicated to all nodes in the cluster. A tag with a null Value is permitted. For more information, see Tagging your MemoryDB resources

    • Key (string) --

      The key for the tag. May not be null.

    • Value (string) --

      The tag's value. May be null.

rtype

dict

returns

Response Syntax

{
    'User': {
        'Name': 'string',
        'Status': 'string',
        'AccessString': 'string',
        'ACLNames': [
            'string',
        ],
        'MinimumEngineVersion': 'string',
        'Authentication': {
            'Type': 'password'|'no-password'|'iam',
            'PasswordCount': 123
        },
        'ARN': 'string'
    }
}

Response Structure

  • (dict) --

    • User (dict) --

      The newly-created user.

      • Name (string) --

        The name of the user

      • Status (string) --

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

      • AccessString (string) --

        Access permissions string used for this user.

      • ACLNames (list) --

        The names of the Access Control Lists to which the user belongs

        • (string) --

      • MinimumEngineVersion (string) --

        The minimum engine version supported for the user

      • 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)
{'User': {'Authentication': {'Type': {'iam'}}}}

Deletes a user. The user will be removed from all ACLs and in turn removed from all clusters.

See also: AWS API Documentation

Request Syntax

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

string

param UserName

[REQUIRED]

The name of the user to delete

rtype

dict

returns

Response Syntax

{
    'User': {
        'Name': 'string',
        'Status': 'string',
        'AccessString': 'string',
        'ACLNames': [
            'string',
        ],
        'MinimumEngineVersion': 'string',
        'Authentication': {
            'Type': 'password'|'no-password'|'iam',
            'PasswordCount': 123
        },
        'ARN': 'string'
    }
}

Response Structure

  • (dict) --

    • User (dict) --

      The user object that has been deleted.

      • Name (string) --

        The name of the user

      • Status (string) --

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

      • AccessString (string) --

        Access permissions string used for this user.

      • ACLNames (list) --

        The names of the Access Control Lists to which the user belongs

        • (string) --

      • MinimumEngineVersion (string) --

        The minimum engine version supported for the user

      • 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(
    UserName='string',
    Filters=[
        {
            'Name': 'string',
            'Values': [
                'string',
            ]
        },
    ],
    MaxResults=123,
    NextToken='string'
)
type UserName

string

param UserName

The name of the user

type Filters

list

param Filters

Filter to determine the list of users 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, UserName.

    • Values (list) -- [REQUIRED]

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

      • (string) --

type MaxResults

integer

param MaxResults

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

type NextToken

string

param NextToken

An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

rtype

dict

returns

Response Syntax

{
    'Users': [
        {
            'Name': 'string',
            'Status': 'string',
            'AccessString': 'string',
            'ACLNames': [
                'string',
            ],
            'MinimumEngineVersion': 'string',
            'Authentication': {
                'Type': 'password'|'no-password'|'iam',
                'PasswordCount': 123
            },
            'ARN': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Users (list) --

      A list of users.

      • (dict) --

        You create users and assign them specific permissions by using an access string. You assign the users to Access Control Lists aligned with a specific role (administrators, human resources) that are then deployed to one or more MemoryDB clusters.

        • Name (string) --

          The name of the user

        • Status (string) --

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

        • AccessString (string) --

          Access permissions string used for this user.

        • ACLNames (list) --

          The names of the Access Control Lists to which the user belongs

          • (string) --

        • MinimumEngineVersion (string) --

          The minimum engine version supported for the user

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

    • NextToken (string) --

      An optional argument to pass in case the total number of records exceeds the value of MaxResults. If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged.

UpdateUser (updated) Link ¶
Changes (request, response)
Request
{'AuthenticationMode': {'Type': {'iam'}}}
Response
{'User': {'Authentication': {'Type': {'iam'}}}}

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

See also: AWS API Documentation

Request Syntax

client.update_user(
    UserName='string',
    AuthenticationMode={
        'Type': 'password'|'iam',
        'Passwords': [
            'string',
        ]
    },
    AccessString='string'
)
type UserName

string

param UserName

[REQUIRED]

The name of the user

type AuthenticationMode

dict

param AuthenticationMode

Denotes the user's authentication properties, such as whether it requires a password to authenticate.

  • Type (string) --

    Indicates whether the user requires a password to authenticate. All newly-created users require a password.

  • Passwords (list) --

    The password(s) used for authentication

    • (string) --

type AccessString

string

param AccessString

Access permissions string used for this user.

rtype

dict

returns

Response Syntax

{
    'User': {
        'Name': 'string',
        'Status': 'string',
        'AccessString': 'string',
        'ACLNames': [
            'string',
        ],
        'MinimumEngineVersion': 'string',
        'Authentication': {
            'Type': 'password'|'no-password'|'iam',
            'PasswordCount': 123
        },
        'ARN': 'string'
    }
}

Response Structure

  • (dict) --

    • User (dict) --

      The updated user

      • Name (string) --

        The name of the user

      • Status (string) --

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

      • AccessString (string) --

        Access permissions string used for this user.

      • ACLNames (list) --

        The names of the Access Control Lists to which the user belongs

        • (string) --

      • MinimumEngineVersion (string) --

        The minimum engine version supported for the user

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