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).
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', ] )
string
The cluster identifier of the cluster to access.
string
The AWS account ID of the owner of the cluster. This is only required if the cluster is in another AWS account.
string
[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.
string
[REQUIRED]
The subnet group from which Amazon Redshift chooses the subnet to deploy the endpoint.
list
The security group that defines the ports, protocols, and sources for inbound traffic that you are authorizing into your endpoint.
(string) --
dict
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.
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' )
string
The cluster identifier of the cluster to access.
string
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.
boolean
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.
integer
Reserved for Amazon Redshift internal use.
string
Reserved for Amazon Redshift internal use.
dict
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.
Grants access to a cluster.
See also: AWS API Documentation
Request Syntax
client.authorize_endpoint_access( ClusterIdentifier='string', Account='string', VpcIds=[ 'string', ] )
string
The cluster identifier of the cluster to grant access to.
string
[REQUIRED]
The AWS account ID to grant access to.
list
The virtual private cloud (VPC) identifiers to grant access to.
(string) --
dict
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.
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 )
string
The cluster to revoke access from.
string
The AWS account ID whose access is to be revoked.
list
The virtual private cloud (VPC) identifiers for which access is to be revoked.
(string) --
boolean
Indicates whether to force the revoke action. If true, the Redshift-managed VPC endpoints associated with the endpoint authorization are also deleted.
dict
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.
Modifies a Redshift-managed VPC endpoint.
See also: AWS API Documentation
Request Syntax
client.modify_endpoint_access( EndpointName='string', VpcSecurityGroupIds=[ 'string', ] )
string
[REQUIRED]
The endpoint to be modified.
list
The complete list of VPC security groups associated with the endpoint after the endpoint is modified.
(string) --
dict
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.
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' )
string
The cluster identifier associated with the described endpoint.
string
The AWS account ID of the owner of the cluster.
string
The name of the endpoint to be described.
string
The virtual private cloud (VPC) identifier with access to the cluster.
integer
Reserved for Amazon Redshift internal use.
string
Reserved for Amazon Redshift internal use.
dict
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.
Deletes a Redshift-managed VPC endpoint.
See also: AWS API Documentation
Request Syntax
client.delete_endpoint_access( EndpointName='string' )
string
[REQUIRED]
The Redshift-managed VPC endpoint to delete.
dict
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.