Skip to content

create_cluster_subnet_group

create_cluster_subnet_group(
    *,
    config_overrides: Optional[RedshiftClientConfig] = None,
    cluster_subnet_group_name: Optional[String] = None,
    description: Optional[String] = None,
    subnet_ids: Optional[SubnetIdentifierList] = None,
    tags: Optional[TagList] = None,
) -> CreateClusterSubnetGroupResult

Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.

For information about subnet groups, go to Amazon Redshift Cluster Subnet Groups in the Amazon Redshift Cluster Management Guide.

Parameters:

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

    The name for the subnet group. Amazon Redshift stores the value as a lowercase string.

    Constraints:

    • Must contain no more than 255 alphanumeric characters or hyphens.

    • Must not be "Default".

    • Must be unique for all subnet groups that are created by your Amazon Web Services account.

    Example: examplesubnetgroup

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

    A description for the subnet group.

  • subnet_ids (Optional[SubnetIdentifierList], default: None ) –

    An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single request.

  • tags (Optional[TagList], default: None ) –

    A list of tag instances.

Raises:

Source code in docs_src/capo_redshift/_services/redshift.py
def create_cluster_subnet_group(
    self,
    *,
    config_overrides: Optional[RedshiftClientConfig] = None,
    cluster_subnet_group_name: Optional["capo_redshift.types.string.String"] = None,
    description: Optional["capo_redshift.types.string.String"] = None,
    subnet_ids: Optional[
        "capo_redshift.types.subnet_identifier_list.SubnetIdentifierList"
    ] = None,
    tags: Optional["capo_redshift.types.tag_list.TagList"] = None,
) -> "capo_redshift.types.create_cluster_subnet_group_result.CreateClusterSubnetGroupResult":
    """<p>Creates a new Amazon Redshift subnet group. You must provide a list of one or more subnets in your existing Amazon Virtual Private Cloud (Amazon VPC) when creating Amazon Redshift subnet group.</p> <p> For information about subnet groups, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-cluster-subnet-groups.html">Amazon Redshift Cluster Subnet Groups</a> in the <i>Amazon Redshift Cluster Management Guide</i>.</p>

    Args:
        cluster_subnet_group_name: <p>The name for the subnet group. Amazon Redshift stores the value as a lowercase string.</p> <p>Constraints:</p> <ul> <li> <p>Must contain no more than 255 alphanumeric characters or hyphens.</p> </li> <li> <p>Must not be "Default".</p> </li> <li> <p>Must be unique for all subnet groups that are created by your Amazon Web Services account.</p> </li> </ul> <p>Example: <code>examplesubnetgroup</code> </p>
        description: <p>A description for the subnet group.</p>
        subnet_ids: <p>An array of VPC subnet IDs. A maximum of 20 subnets can be modified in a single request.</p>
        tags: <p>A list of tag instances.</p>

    Raises:
        capo_redshift.errors.cluster_subnet_group_already_exists_fault.ClusterSubnetGroupAlreadyExistsFault: <p>A <i>ClusterSubnetGroupName</i> is already used by an existing cluster subnet group. </p>
        capo_redshift.errors.cluster_subnet_group_quota_exceeded_fault.ClusterSubnetGroupQuotaExceededFault: <p>The request would result in user exceeding the allowed number of cluster subnet groups. For information about increasing your quota, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html">Limits in Amazon Redshift</a> in the <i>Amazon Redshift Cluster Management Guide</i>. </p>
        capo_redshift.errors.cluster_subnet_quota_exceeded_fault.ClusterSubnetQuotaExceededFault: <p>The request would result in user exceeding the allowed number of subnets in a cluster subnet groups. For information about increasing your quota, go to <a href="https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html">Limits in Amazon Redshift</a> in the <i>Amazon Redshift Cluster Management Guide</i>. </p>
        capo_redshift.errors.dependent_service_request_throttling_fault.DependentServiceRequestThrottlingFault: <p>The request cannot be completed because a dependent service is throttling requests made by Amazon Redshift on your behalf. Wait and retry the request.</p>
        capo_redshift.errors.invalid_subnet.InvalidSubnet: <p>The requested subnet is not valid, or not all of the subnets are in the same VPC.</p>
        capo_redshift.errors.invalid_tag_fault.InvalidTagFault: <p>The tag is invalid.</p>
        capo_redshift.errors.tag_limit_exceeded_fault.TagLimitExceededFault: <p>You have exceeded the number of tags allowed.</p>
        capo_redshift.errors.unauthorized_operation.UnauthorizedOperation: <p>Your account is not authorized to perform the requested operation.</p>
        capo_redshift.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_redshift.types.create_cluster_subnet_group_message.CreateClusterSubnetGroupMessage]",
    ) -> OperationResponse[
        "capo_redshift.types.create_cluster_subnet_group_result.CreateClusterSubnetGroupResult"
    ]:
        import capo_redshift._operations.redshift_service_version20121201.create_cluster_subnet_group

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateClusterSubnetGroup")
    )
    input_: capo_redshift.types.create_cluster_subnet_group_message.CreateClusterSubnetGroupMessage = {}
    if cluster_subnet_group_name is not None:
        input_["cluster_subnet_group_name"] = cluster_subnet_group_name
    if description is not None:
        input_["description"] = description
    if subnet_ids is not None:
        input_["subnet_ids"] = subnet_ids
    if tags is not None:
        input_["tags"] = tags

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