Amazon Redshift

2021/03/31 - Amazon Redshift - 7 new api methods

Changes  Enable customers to share access to their Redshift clusters from other VPCs (including VPCs from other accounts).

CreateEndpointAccess (new) Link ¶

Creates a Redshift-managed VPC endpoint.

See also: AWS API Documentation

Request Syntax

client.create_endpoint_access(
    ClusterIdentifier='string',
    ResourceOwner='string',
    EndpointName='string',
    SubnetGroupName='string',
    VpcSecurityGroupIds=[
        'string',
    ]
)
type ClusterIdentifier:

string

param ClusterIdentifier:

The cluster identifier of the cluster to access.

type ResourceOwner:

string

param ResourceOwner:

The AWS account ID of the owner of the cluster. This is only required if the cluster is in another AWS account.

type EndpointName:

string

param EndpointName:

[REQUIRED]

The Redshift-managed VPC endpoint name.

An endpoint name must contain 1-30 characters. Valid characters are A-Z, a-z, 0-9, and hyphen(-). The first character must be a letter. The name can't contain two consecutive hyphens or end with a hyphen.

type SubnetGroupName:

string

param SubnetGroupName:

[REQUIRED]

The subnet group from which Amazon Redshift chooses the subnet to deploy the endpoint.

type VpcSecurityGroupIds:

list

param VpcSecurityGroupIds:

The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'ClusterIdentifier': 'string',
    'ResourceOwner': 'string',
    'SubnetGroupName': 'string',
    'EndpointStatus': 'string',
    'EndpointName': 'string',
    'EndpointCreateTime': datetime(2015, 1, 1),
    'Port': 123,
    'Address': 'string',
    'VpcSecurityGroups': [
        {
            'VpcSecurityGroupId': 'string',
            'Status': 'string'
        },
    ],
    'VpcEndpoint': {
        'VpcEndpointId': 'string',
        'VpcId': 'string',
        'NetworkInterfaces': [
            {
                'NetworkInterfaceId': 'string',
                'SubnetId': 'string',
                'PrivateIpAddress': 'string',
                'AvailabilityZone': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) --

    Describes a Redshift-managed VPC endpoint.

    • ClusterIdentifier (string) --

      The cluster identifier of the cluster associated with the endpoint.

    • ResourceOwner (string) --

      The AWS account ID of the owner of the cluster.

    • SubnetGroupName (string) --

      The subnet group name where Amazon Redshift chooses to deploy the endpoint.

    • EndpointStatus (string) --

      The status of the endpoint.

    • EndpointName (string) --

      The name of the endpoint.

    • EndpointCreateTime (datetime) --

      The time (UTC) that the endpoint was created.

    • Port (integer) --

      The port number on which the cluster accepts incoming connections.

    • Address (string) --

      The DNS address of the endpoint.

    • VpcSecurityGroups (list) --

      The security groups associated with the endpoint.

      • (dict) --

        Describes the members of a VPC security group.

        • VpcSecurityGroupId (string) --

          The identifier of the VPC security group.

        • Status (string) --

          The status of the VPC security group.

    • VpcEndpoint (dict) --

      The connection endpoint for connecting to an Amazon Redshift cluster through the proxy.

      • VpcEndpointId (string) --

        The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.

      • VpcId (string) --

        The VPC identifier that the endpoint is associated.

      • NetworkInterfaces (list) --

        One or more network interfaces of the endpoint. Also known as an interface endpoint.

        • (dict) --

          Describes a network interface.

          • NetworkInterfaceId (string) --

            The network interface identifier.

          • SubnetId (string) --

            The subnet identifier.

          • PrivateIpAddress (string) --

            The IPv4 address of the network interface within the subnet.

          • AvailabilityZone (string) --

            The Availability Zone.

DescribeEndpointAuthorization (new) Link ¶

Describes an endpoint authorization.

See also: AWS API Documentation

Request Syntax

client.describe_endpoint_authorization(
    ClusterIdentifier='string',
    Account='string',
    Grantee=True|False,
    MaxRecords=123,
    Marker='string'
)
type ClusterIdentifier:

string

param ClusterIdentifier:

The cluster identifier of the cluster to access.

type Account:

string

param Account:

The AWS account ID of either the cluster owner (grantor) or grantee. If Grantee parameter is true, then the Account value is of the grantor.

type Grantee:

boolean

param Grantee:

Indicates whether to check authorization from a grantor or grantee point of view. If true, Amazon Redshift returns endpoint authorizations that you've been granted. If false (default), checks authorization from a grantor point of view.

type MaxRecords:

integer

param MaxRecords:

Reserved for Amazon Redshift internal use.

type Marker:

string

param Marker:

Reserved for Amazon Redshift internal use.

rtype:

dict

returns:

Response Syntax

{
    'EndpointAuthorizationList': [
        {
            'Grantor': 'string',
            'Grantee': 'string',
            'ClusterIdentifier': 'string',
            'AuthorizeTime': datetime(2015, 1, 1),
            'ClusterStatus': 'string',
            'Status': 'Authorized'|'Revoking',
            'AllowedAllVPCs': True|False,
            'AllowedVPCs': [
                'string',
            ],
            'EndpointCount': 123
        },
    ],
    'Marker': 'string'
}

Response Structure

  • (dict) --

    • EndpointAuthorizationList (list) --

      The authorizations to an endpoint.

      • (dict) --

        Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts.

        • Grantor (string) --

          The AWS account ID of the cluster owner.

        • Grantee (string) --

          The AWS account ID of the grantee of the cluster.

        • ClusterIdentifier (string) --

          The cluster identifier.

        • AuthorizeTime (datetime) --

          The time (UTC) when the authorization was created.

        • ClusterStatus (string) --

          The status of the cluster.

        • Status (string) --

          The status of the authorization action.

        • AllowedAllVPCs (boolean) --

          Indicates whether all VPCs in the grantee account are allowed access to the cluster.

        • AllowedVPCs (list) --

          The VPCs allowed access to the cluster.

          • (string) --

        • EndpointCount (integer) --

          The number of Redshift-managed VPC endpoints created for the authorization.

    • Marker (string) --

      Reserved for Amazon Redshift internal use.

AuthorizeEndpointAccess (new) Link ¶

Grants access to a cluster.

See also: AWS API Documentation

Request Syntax

client.authorize_endpoint_access(
    ClusterIdentifier='string',
    Account='string',
    VpcIds=[
        'string',
    ]
)
type ClusterIdentifier:

string

param ClusterIdentifier:

The cluster identifier of the cluster to grant access to.

type Account:

string

param Account:

[REQUIRED]

The AWS account ID to grant access to.

type VpcIds:

list

param VpcIds:

The virtual private cloud (VPC) identifiers to grant access to.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'Grantor': 'string',
    'Grantee': 'string',
    'ClusterIdentifier': 'string',
    'AuthorizeTime': datetime(2015, 1, 1),
    'ClusterStatus': 'string',
    'Status': 'Authorized'|'Revoking',
    'AllowedAllVPCs': True|False,
    'AllowedVPCs': [
        'string',
    ],
    'EndpointCount': 123
}

Response Structure

  • (dict) --

    Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts.

    • Grantor (string) --

      The AWS account ID of the cluster owner.

    • Grantee (string) --

      The AWS account ID of the grantee of the cluster.

    • ClusterIdentifier (string) --

      The cluster identifier.

    • AuthorizeTime (datetime) --

      The time (UTC) when the authorization was created.

    • ClusterStatus (string) --

      The status of the cluster.

    • Status (string) --

      The status of the authorization action.

    • AllowedAllVPCs (boolean) --

      Indicates whether all VPCs in the grantee account are allowed access to the cluster.

    • AllowedVPCs (list) --

      The VPCs allowed access to the cluster.

      • (string) --

    • EndpointCount (integer) --

      The number of Redshift-managed VPC endpoints created for the authorization.

RevokeEndpointAccess (new) Link ¶

Revokes access to a cluster.

See also: AWS API Documentation

Request Syntax

client.revoke_endpoint_access(
    ClusterIdentifier='string',
    Account='string',
    VpcIds=[
        'string',
    ],
    Force=True|False
)
type ClusterIdentifier:

string

param ClusterIdentifier:

The cluster to revoke access from.

type Account:

string

param Account:

The AWS account ID whose access is to be revoked.

type VpcIds:

list

param VpcIds:

The virtual private cloud (VPC) identifiers for which access is to be revoked.

  • (string) --

type Force:

boolean

param Force:

Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.

rtype:

dict

returns:

Response Syntax

{
    'Grantor': 'string',
    'Grantee': 'string',
    'ClusterIdentifier': 'string',
    'AuthorizeTime': datetime(2015, 1, 1),
    'ClusterStatus': 'string',
    'Status': 'Authorized'|'Revoking',
    'AllowedAllVPCs': True|False,
    'AllowedVPCs': [
        'string',
    ],
    'EndpointCount': 123
}

Response Structure

  • (dict) --

    Describes an endpoint authorization for authorizing Redshift-managed VPC endpoint access to a cluster across AWS accounts.

    • Grantor (string) --

      The AWS account ID of the cluster owner.

    • Grantee (string) --

      The AWS account ID of the grantee of the cluster.

    • ClusterIdentifier (string) --

      The cluster identifier.

    • AuthorizeTime (datetime) --

      The time (UTC) when the authorization was created.

    • ClusterStatus (string) --

      The status of the cluster.

    • Status (string) --

      The status of the authorization action.

    • AllowedAllVPCs (boolean) --

      Indicates whether all VPCs in the grantee account are allowed access to the cluster.

    • AllowedVPCs (list) --

      The VPCs allowed access to the cluster.

      • (string) --

    • EndpointCount (integer) --

      The number of Redshift-managed VPC endpoints created for the authorization.

ModifyEndpointAccess (new) Link ¶

Modifies a Redshift-managed VPC endpoint.

See also: AWS API Documentation

Request Syntax

client.modify_endpoint_access(
    EndpointName='string',
    VpcSecurityGroupIds=[
        'string',
    ]
)
type EndpointName:

string

param EndpointName:

[REQUIRED]

The endpoint to be modified.

type VpcSecurityGroupIds:

list

param VpcSecurityGroupIds:

The complete list of VPC security groups associated with the endpoint after the endpoint is modified.

  • (string) --

rtype:

dict

returns:

Response Syntax

{
    'ClusterIdentifier': 'string',
    'ResourceOwner': 'string',
    'SubnetGroupName': 'string',
    'EndpointStatus': 'string',
    'EndpointName': 'string',
    'EndpointCreateTime': datetime(2015, 1, 1),
    'Port': 123,
    'Address': 'string',
    'VpcSecurityGroups': [
        {
            'VpcSecurityGroupId': 'string',
            'Status': 'string'
        },
    ],
    'VpcEndpoint': {
        'VpcEndpointId': 'string',
        'VpcId': 'string',
        'NetworkInterfaces': [
            {
                'NetworkInterfaceId': 'string',
                'SubnetId': 'string',
                'PrivateIpAddress': 'string',
                'AvailabilityZone': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) --

    Describes a Redshift-managed VPC endpoint.

    • ClusterIdentifier (string) --

      The cluster identifier of the cluster associated with the endpoint.

    • ResourceOwner (string) --

      The AWS account ID of the owner of the cluster.

    • SubnetGroupName (string) --

      The subnet group name where Amazon Redshift chooses to deploy the endpoint.

    • EndpointStatus (string) --

      The status of the endpoint.

    • EndpointName (string) --

      The name of the endpoint.

    • EndpointCreateTime (datetime) --

      The time (UTC) that the endpoint was created.

    • Port (integer) --

      The port number on which the cluster accepts incoming connections.

    • Address (string) --

      The DNS address of the endpoint.

    • VpcSecurityGroups (list) --

      The security groups associated with the endpoint.

      • (dict) --

        Describes the members of a VPC security group.

        • VpcSecurityGroupId (string) --

          The identifier of the VPC security group.

        • Status (string) --

          The status of the VPC security group.

    • VpcEndpoint (dict) --

      The connection endpoint for connecting to an Amazon Redshift cluster through the proxy.

      • VpcEndpointId (string) --

        The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.

      • VpcId (string) --

        The VPC identifier that the endpoint is associated.

      • NetworkInterfaces (list) --

        One or more network interfaces of the endpoint. Also known as an interface endpoint.

        • (dict) --

          Describes a network interface.

          • NetworkInterfaceId (string) --

            The network interface identifier.

          • SubnetId (string) --

            The subnet identifier.

          • PrivateIpAddress (string) --

            The IPv4 address of the network interface within the subnet.

          • AvailabilityZone (string) --

            The Availability Zone.

DescribeEndpointAccess (new) Link ¶

Describes a Redshift-managed VPC endpoint.

See also: AWS API Documentation

Request Syntax

client.describe_endpoint_access(
    ClusterIdentifier='string',
    ResourceOwner='string',
    EndpointName='string',
    VpcId='string',
    MaxRecords=123,
    Marker='string'
)
type ClusterIdentifier:

string

param ClusterIdentifier:

The cluster identifier associated with the described endpoint.

type ResourceOwner:

string

param ResourceOwner:

The AWS account ID of the owner of the cluster.

type EndpointName:

string

param EndpointName:

The name of the endpoint to be described.

type VpcId:

string

param VpcId:

The virtual private cloud (VPC) identifier with access to the cluster.

type MaxRecords:

integer

param MaxRecords:

Reserved for Amazon Redshift internal use.

type Marker:

string

param Marker:

Reserved for Amazon Redshift internal use.

rtype:

dict

returns:

Response Syntax

{
    'EndpointAccessList': [
        {
            'ClusterIdentifier': 'string',
            'ResourceOwner': 'string',
            'SubnetGroupName': 'string',
            'EndpointStatus': 'string',
            'EndpointName': 'string',
            'EndpointCreateTime': datetime(2015, 1, 1),
            'Port': 123,
            'Address': 'string',
            'VpcSecurityGroups': [
                {
                    'VpcSecurityGroupId': 'string',
                    'Status': 'string'
                },
            ],
            'VpcEndpoint': {
                'VpcEndpointId': 'string',
                'VpcId': 'string',
                'NetworkInterfaces': [
                    {
                        'NetworkInterfaceId': 'string',
                        'SubnetId': 'string',
                        'PrivateIpAddress': 'string',
                        'AvailabilityZone': 'string'
                    },
                ]
            }
        },
    ],
    'Marker': 'string'
}

Response Structure

  • (dict) --

    • EndpointAccessList (list) --

      The list of endpoints with access to the cluster.

      • (dict) --

        Describes a Redshift-managed VPC endpoint.

        • ClusterIdentifier (string) --

          The cluster identifier of the cluster associated with the endpoint.

        • ResourceOwner (string) --

          The AWS account ID of the owner of the cluster.

        • SubnetGroupName (string) --

          The subnet group name where Amazon Redshift chooses to deploy the endpoint.

        • EndpointStatus (string) --

          The status of the endpoint.

        • EndpointName (string) --

          The name of the endpoint.

        • EndpointCreateTime (datetime) --

          The time (UTC) that the endpoint was created.

        • Port (integer) --

          The port number on which the cluster accepts incoming connections.

        • Address (string) --

          The DNS address of the endpoint.

        • VpcSecurityGroups (list) --

          The security groups associated with the endpoint.

          • (dict) --

            Describes the members of a VPC security group.

            • VpcSecurityGroupId (string) --

              The identifier of the VPC security group.

            • Status (string) --

              The status of the VPC security group.

        • VpcEndpoint (dict) --

          The connection endpoint for connecting to an Amazon Redshift cluster through the proxy.

          • VpcEndpointId (string) --

            The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.

          • VpcId (string) --

            The VPC identifier that the endpoint is associated.

          • NetworkInterfaces (list) --

            One or more network interfaces of the endpoint. Also known as an interface endpoint.

            • (dict) --

              Describes a network interface.

              • NetworkInterfaceId (string) --

                The network interface identifier.

              • SubnetId (string) --

                The subnet identifier.

              • PrivateIpAddress (string) --

                The IPv4 address of the network interface within the subnet.

              • AvailabilityZone (string) --

                The Availability Zone.

    • Marker (string) --

      Reserved for Amazon Redshift internal use.

DeleteEndpointAccess (new) Link ¶

Deletes a Redshift-managed VPC endpoint.

See also: AWS API Documentation

Request Syntax

client.delete_endpoint_access(
    EndpointName='string'
)
type EndpointName:

string

param EndpointName:

[REQUIRED]

The Redshift-managed VPC endpoint to delete.

rtype:

dict

returns:

Response Syntax

{
    'ClusterIdentifier': 'string',
    'ResourceOwner': 'string',
    'SubnetGroupName': 'string',
    'EndpointStatus': 'string',
    'EndpointName': 'string',
    'EndpointCreateTime': datetime(2015, 1, 1),
    'Port': 123,
    'Address': 'string',
    'VpcSecurityGroups': [
        {
            'VpcSecurityGroupId': 'string',
            'Status': 'string'
        },
    ],
    'VpcEndpoint': {
        'VpcEndpointId': 'string',
        'VpcId': 'string',
        'NetworkInterfaces': [
            {
                'NetworkInterfaceId': 'string',
                'SubnetId': 'string',
                'PrivateIpAddress': 'string',
                'AvailabilityZone': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) --

    Describes a Redshift-managed VPC endpoint.

    • ClusterIdentifier (string) --

      The cluster identifier of the cluster associated with the endpoint.

    • ResourceOwner (string) --

      The AWS account ID of the owner of the cluster.

    • SubnetGroupName (string) --

      The subnet group name where Amazon Redshift chooses to deploy the endpoint.

    • EndpointStatus (string) --

      The status of the endpoint.

    • EndpointName (string) --

      The name of the endpoint.

    • EndpointCreateTime (datetime) --

      The time (UTC) that the endpoint was created.

    • Port (integer) --

      The port number on which the cluster accepts incoming connections.

    • Address (string) --

      The DNS address of the endpoint.

    • VpcSecurityGroups (list) --

      The security groups associated with the endpoint.

      • (dict) --

        Describes the members of a VPC security group.

        • VpcSecurityGroupId (string) --

          The identifier of the VPC security group.

        • Status (string) --

          The status of the VPC security group.

    • VpcEndpoint (dict) --

      The connection endpoint for connecting to an Amazon Redshift cluster through the proxy.

      • VpcEndpointId (string) --

        The connection endpoint ID for connecting an Amazon Redshift cluster through the proxy.

      • VpcId (string) --

        The VPC identifier that the endpoint is associated.

      • NetworkInterfaces (list) --

        One or more network interfaces of the endpoint. Also known as an interface endpoint.

        • (dict) --

          Describes a network interface.

          • NetworkInterfaceId (string) --

            The network interface identifier.

          • SubnetId (string) --

            The subnet identifier.

          • PrivateIpAddress (string) --

            The IPv4 address of the network interface within the subnet.

          • AvailabilityZone (string) --

            The Availability Zone.