Skip to content

modify_vpc_tenancy async

modify_vpc_tenancy(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    vpc_id: Optional[VpcId] = None,
    instance_tenancy: Optional[VpcTenancy] = None,
    dry_run: Optional[Boolean] = None,
) -> ModifyVpcTenancyResult

Modifies the instance tenancy attribute of the specified VPC. You can change the instance tenancy attribute of a VPC to default only. You cannot change the instance tenancy attribute to dedicated.

After you modify the tenancy of the VPC, any new instances that you launch into the VPC have a tenancy of default, unless you specify otherwise during launch. The tenancy of any existing instances in the VPC is not affected.

For more information, see Dedicated Instances in the Amazon EC2 User Guide.

Parameters:

  • vpc_id (Optional[VpcId], default: None ) –

    The ID of the VPC.

  • instance_tenancy (Optional[VpcTenancy], default: None ) –

    The instance tenancy attribute for the VPC.

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

Raises:

Source code in docs_src/capo_ec2/_services/async_ec2.py
async def modify_vpc_tenancy(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    vpc_id: Optional["capo_ec2.types.vpc_id.VpcId"] = None,
    instance_tenancy: Optional["capo_ec2.types.vpc_tenancy.VpcTenancy"] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
) -> "capo_ec2.types.modify_vpc_tenancy_result.ModifyVpcTenancyResult":
    """<p>Modifies the instance tenancy attribute of the specified VPC. You can change the instance tenancy attribute of a VPC to <code>default</code> only. You cannot change the instance tenancy attribute to <code>dedicated</code>.</p> <p>After you modify the tenancy of the VPC, any new instances that you launch into the VPC have a tenancy of <code>default</code>, unless you specify otherwise during launch. The tenancy of any existing instances in the VPC is not affected.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html">Dedicated Instances</a> in the <i>Amazon EC2 User Guide</i>.</p>

    Args:
        vpc_id: <p>The ID of the VPC.</p>
        instance_tenancy: <p>The instance tenancy attribute for the VPC. </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>

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

    async def _handler(
        req: "AsyncOperationRequest[capo_ec2.types.modify_vpc_tenancy_request.ModifyVpcTenancyRequest]",
    ) -> AsyncOperationResponse[
        "capo_ec2.types.modify_vpc_tenancy_result.ModifyVpcTenancyResult"
    ]:
        import capo_ec2._operations.amazon_ec2.modify_vpc_tenancy

        (
            output,
            http_response,
        ) = await capo_ec2._operations.amazon_ec2.modify_vpc_tenancy.async_modify_vpc_tenancy(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("ModifyVpcTenancy")
    )
    input_: capo_ec2.types.modify_vpc_tenancy_request.ModifyVpcTenancyRequest = {}
    if vpc_id is not None:
        input_["vpc_id"] = vpc_id
    if instance_tenancy is not None:
        input_["instance_tenancy"] = instance_tenancy
    if dry_run is not None:
        input_["dry_run"] = dry_run

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output