Skip to content

create_default_subnet

create_default_subnet(
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    availability_zone: Optional[AvailabilityZoneName] = None,
    dry_run: Optional[Boolean] = None,
    ipv6_native: Optional[Boolean] = None,
    availability_zone_id: Optional[AvailabilityZoneId] = None,
) -> CreateDefaultSubnetResult

Creates a default subnet with a size /20 IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see Create a default subnet in the Amazon VPC User Guide.

Parameters:

  • availability_zone (Optional[AvailabilityZoneName], default: None ) –

    The Availability Zone in which to create the default subnet.

    Either AvailabilityZone or AvailabilityZoneId must be specified, but not both.

  • dry_run (Optional[Boolean], default: None ) –

    Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.

  • ipv6_native (Optional[Boolean], default: None ) –

    Indicates whether to create an IPv6 only subnet. If you already have a default subnet for this Availability Zone, you must delete it before you can create an IPv6 only subnet.

  • availability_zone_id (Optional[AvailabilityZoneId], default: None ) –

    The ID of the Availability Zone.

    Either AvailabilityZone or AvailabilityZoneId must be specified, but not both.

Raises:

Source code in docs_src/capo_ec2/_services/ec2.py
def create_default_subnet(
    self,
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    availability_zone: Optional[
        "capo_ec2.types.availability_zone_name.AvailabilityZoneName"
    ] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
    ipv6_native: Optional["capo_ec2.types.boolean.Boolean"] = None,
    availability_zone_id: Optional[
        "capo_ec2.types.availability_zone_id.AvailabilityZoneId"
    ] = None,
) -> "capo_ec2.types.create_default_subnet_result.CreateDefaultSubnetResult":
    """<p>Creates a default subnet with a size <code>/20</code> IPv4 CIDR block in the specified Availability Zone in your default VPC. You can have only one default subnet per Availability Zone. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/work-with-default-vpc.html#create-default-subnet">Create a default subnet</a> in the <i>Amazon VPC User Guide</i>.</p>

    Args:
        availability_zone: <p>The Availability Zone in which to create the default subnet.</p> <p>Either <code>AvailabilityZone</code> or <code>AvailabilityZoneId</code> must be specified, but not both.</p>
        dry_run: <p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p>
        ipv6_native: <p>Indicates whether to create an IPv6 only subnet. If you already have a default subnet for this Availability Zone, you must delete it before you can create an IPv6 only subnet.</p>
        availability_zone_id: <p>The ID of the Availability Zone.</p> <p>Either <code>AvailabilityZone</code> or <code>AvailabilityZoneId</code> must be specified, but not both.</p>

    Raises:
        capo_ec2.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    def _handler(
        req: "OperationRequest[capo_ec2.types.create_default_subnet_request.CreateDefaultSubnetRequest]",
    ) -> OperationResponse[
        "capo_ec2.types.create_default_subnet_result.CreateDefaultSubnetResult"
    ]:
        import capo_ec2._operations.amazon_ec2.create_default_subnet

        output, http_response = (
            capo_ec2._operations.amazon_ec2.create_default_subnet.create_default_subnet(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateDefaultSubnet")
    )
    input_: capo_ec2.types.create_default_subnet_request.CreateDefaultSubnetRequest = {}
    if availability_zone is not None:
        input_["availability_zone"] = availability_zone
    if dry_run is not None:
        input_["dry_run"] = dry_run
    if ipv6_native is not None:
        input_["ipv6_native"] = ipv6_native
    if availability_zone_id is not None:
        input_["availability_zone_id"] = availability_zone_id

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