Skip to content

create_subnet_cidr_reservation

create_subnet_cidr_reservation(
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    subnet_id: Optional[SubnetId] = None,
    cidr: Optional[String] = None,
    reservation_type: Optional[SubnetCidrReservationType] = None,
    description: Optional[String] = None,
    dry_run: Optional[Boolean] = None,
    tag_specifications: Optional[TagSpecificationList] = None,
) -> CreateSubnetCidrReservationResult

Creates a subnet CIDR reservation. For more information, see Subnet CIDR reservations in the Amazon VPC User Guide and Manage prefixes for your network interfaces in the Amazon EC2 User Guide.

Parameters:

  • subnet_id (Optional[SubnetId], default: None ) –

    The ID of the subnet.

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

    The IPv4 or IPV6 CIDR range to reserve.

  • reservation_type (Optional[SubnetCidrReservationType], default: None ) –

    The type of reservation. The reservation type determines how the reserved IP addresses are assigned to resources.

    • prefix - Amazon Web Services assigns the reserved IP addresses to network interfaces.

    • explicit - You assign the reserved IP addresses to network interfaces.

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

    The description to assign to the subnet CIDR reservation.

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

  • tag_specifications (Optional[TagSpecificationList], default: None ) –

    The tags to assign to the subnet CIDR reservation.

Raises:

Source code in docs_src/capo_ec2/_services/ec2.py
def create_subnet_cidr_reservation(
    self,
    *,
    config_overrides: Optional[EC2ClientConfig] = None,
    subnet_id: Optional["capo_ec2.types.subnet_id.SubnetId"] = None,
    cidr: Optional["capo_ec2.types.string.String"] = None,
    reservation_type: Optional[
        "capo_ec2.types.subnet_cidr_reservation_type.SubnetCidrReservationType"
    ] = None,
    description: Optional["capo_ec2.types.string.String"] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
    tag_specifications: Optional[
        "capo_ec2.types.tag_specification_list.TagSpecificationList"
    ] = None,
) -> "capo_ec2.types.create_subnet_cidr_reservation_result.CreateSubnetCidrReservationResult":
    """<p>Creates a subnet CIDR reservation. For more information, see <a href="https://docs.aws.amazon.com/vpc/latest/userguide/subnet-cidr-reservation.html">Subnet CIDR reservations</a> in the <i>Amazon VPC User Guide</i> and <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/work-with-prefixes.html">Manage prefixes for your network interfaces</a> in the <i>Amazon EC2 User Guide</i>.</p>

    Args:
        subnet_id: <p>The ID of the subnet.</p>
        cidr: <p>The IPv4 or IPV6 CIDR range to reserve.</p>
        reservation_type: <p>The type of reservation. The reservation type determines how the reserved IP addresses are assigned to resources.</p> <ul> <li> <p> <code>prefix</code> - Amazon Web Services assigns the reserved IP addresses to network interfaces.</p> </li> <li> <p> <code>explicit</code> - You assign the reserved IP addresses to network interfaces.</p> </li> </ul>
        description: <p>The description to assign to the subnet CIDR reservation.</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>
        tag_specifications: <p>The tags to assign to the subnet CIDR reservation.</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_subnet_cidr_reservation_request.CreateSubnetCidrReservationRequest]",
    ) -> OperationResponse[
        "capo_ec2.types.create_subnet_cidr_reservation_result.CreateSubnetCidrReservationResult"
    ]:
        import capo_ec2._operations.amazon_ec2.create_subnet_cidr_reservation

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateSubnetCidrReservation")
    )
    input_: capo_ec2.types.create_subnet_cidr_reservation_request.CreateSubnetCidrReservationRequest = {}
    if subnet_id is not None:
        input_["subnet_id"] = subnet_id
    if cidr is not None:
        input_["cidr"] = cidr
    if reservation_type is not None:
        input_["reservation_type"] = reservation_type
    if description is not None:
        input_["description"] = description
    if dry_run is not None:
        input_["dry_run"] = dry_run
    if tag_specifications is not None:
        input_["tag_specifications"] = tag_specifications

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