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

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.

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.

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.

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.

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.

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.

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.