Skip to content

authorize_endpoint_access

authorize_endpoint_access(
    *,
    config_overrides: Optional[RedshiftClientConfig] = None,
    cluster_identifier: Optional[String] = None,
    account: Optional[String] = None,
    vpc_ids: Optional[VpcIdentifierList] = None,
) -> EndpointAuthorization

Grants access to a cluster.

Parameters:

  • cluster_identifier (Optional[String], default: None ) –

    The cluster identifier of the cluster to grant access to.

  • account (Optional[String], default: None ) –

    The Amazon Web Services account ID to grant access to.

  • vpc_ids (Optional[VpcIdentifierList], default: None ) –

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

Raises:

Source code in docs_src/capo_redshift/_services/redshift.py
def authorize_endpoint_access(
    self,
    *,
    config_overrides: Optional[RedshiftClientConfig] = None,
    cluster_identifier: Optional["capo_redshift.types.string.String"] = None,
    account: Optional["capo_redshift.types.string.String"] = None,
    vpc_ids: Optional[
        "capo_redshift.types.vpc_identifier_list.VpcIdentifierList"
    ] = None,
) -> "capo_redshift.types.endpoint_authorization.EndpointAuthorization":
    """<p>Grants access to a cluster.</p>

    Args:
        cluster_identifier: <p>The cluster identifier of the cluster to grant access to.</p>
        account: <p>The Amazon Web Services account ID to grant access to.</p>
        vpc_ids: <p>The virtual private cloud (VPC) identifiers to grant access to.</p>

    Raises:
        capo_redshift.errors.cluster_not_found_fault.ClusterNotFoundFault: <p>The <code>ClusterIdentifier</code> parameter does not refer to an existing cluster. </p>
        capo_redshift.errors.endpoint_authorization_already_exists_fault.EndpointAuthorizationAlreadyExistsFault: <p>The authorization already exists for this endpoint.</p>
        capo_redshift.errors.endpoint_authorizations_per_cluster_limit_exceeded_fault.EndpointAuthorizationsPerClusterLimitExceededFault: <p>The number of endpoint authorizations per cluster has exceeded its limit.</p>
        capo_redshift.errors.invalid_authorization_state_fault.InvalidAuthorizationStateFault: <p>The status of the authorization is not valid.</p>
        capo_redshift.errors.invalid_cluster_state_fault.InvalidClusterStateFault: <p>The specified cluster is not in the <code>available</code> state. </p>
        capo_redshift.errors.unsupported_operation_fault.UnsupportedOperationFault: <p>The requested operation isn't supported.</p>
        capo_redshift.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_redshift.types.authorize_endpoint_access_message.AuthorizeEndpointAccessMessage]",
    ) -> OperationResponse[
        "capo_redshift.types.endpoint_authorization.EndpointAuthorization"
    ]:
        import capo_redshift._operations.redshift_service_version20121201.authorize_endpoint_access

        output, http_response = (
            capo_redshift._operations.redshift_service_version20121201.authorize_endpoint_access.authorize_endpoint_access(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("AuthorizeEndpointAccess")
    )
    input_: capo_redshift.types.authorize_endpoint_access_message.AuthorizeEndpointAccessMessage = {}
    if cluster_identifier is not None:
        input_["cluster_identifier"] = cluster_identifier
    if account is not None:
        input_["account"] = account
    if vpc_ids is not None:
        input_["vpc_ids"] = vpc_ids

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output