Skip to content

associate_transit_gateway_multicast_domain async

associate_transit_gateway_multicast_domain(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    transit_gateway_multicast_domain_id: Optional[
        TransitGatewayMulticastDomainId
    ] = None,
    transit_gateway_attachment_id: Optional[TransitGatewayAttachmentId] = None,
    subnet_ids: Optional[TransitGatewaySubnetIdList] = None,
    dry_run: Optional[Boolean] = None,
) -> AssociateTransitGatewayMulticastDomainResult

Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain.

The transit gateway attachment must be in the available state before you can add a resource. Use DescribeTransitGatewayAttachments to see the state of the attachment.

Parameters:

  • transit_gateway_multicast_domain_id (Optional[TransitGatewayMulticastDomainId], default: None ) –

    The ID of the transit gateway multicast domain.

  • transit_gateway_attachment_id (Optional[TransitGatewayAttachmentId], default: None ) –

    The ID of the transit gateway attachment to associate with the transit gateway multicast domain.

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

    The IDs of the subnets to associate with the transit gateway multicast domain.

  • 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 associate_transit_gateway_multicast_domain(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    transit_gateway_multicast_domain_id: Optional[
        "capo_ec2.types.transit_gateway_multicast_domain_id.TransitGatewayMulticastDomainId"
    ] = None,
    transit_gateway_attachment_id: Optional[
        "capo_ec2.types.transit_gateway_attachment_id.TransitGatewayAttachmentId"
    ] = None,
    subnet_ids: Optional[
        "capo_ec2.types.transit_gateway_subnet_id_list.TransitGatewaySubnetIdList"
    ] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
) -> "capo_ec2.types.associate_transit_gateway_multicast_domain_result.AssociateTransitGatewayMulticastDomainResult":
    """<p>Associates the specified subnets and transit gateway attachments with the specified transit gateway multicast domain.</p> <p>The transit gateway attachment must be in the available state before you can add a resource. Use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGatewayAttachments.html">DescribeTransitGatewayAttachments</a> to see the state of the attachment.</p>

    Args:
        transit_gateway_multicast_domain_id: <p>The ID of the transit gateway multicast domain.</p>
        transit_gateway_attachment_id: <p>The ID of the transit gateway attachment to associate with the transit gateway multicast domain.</p>
        subnet_ids: <p>The IDs of the subnets to associate with the transit gateway multicast domain.</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.associate_transit_gateway_multicast_domain_request.AssociateTransitGatewayMulticastDomainRequest]",
    ) -> AsyncOperationResponse[
        "capo_ec2.types.associate_transit_gateway_multicast_domain_result.AssociateTransitGatewayMulticastDomainResult"
    ]:
        import capo_ec2._operations.amazon_ec2.associate_transit_gateway_multicast_domain

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("AssociateTransitGatewayMulticastDomain")
    )
    input_: capo_ec2.types.associate_transit_gateway_multicast_domain_request.AssociateTransitGatewayMulticastDomainRequest = {}
    if transit_gateway_multicast_domain_id is not None:
        input_["transit_gateway_multicast_domain_id"] = (
            transit_gateway_multicast_domain_id
        )
    if transit_gateway_attachment_id is not None:
        input_["transit_gateway_attachment_id"] = transit_gateway_attachment_id
    if subnet_ids is not None:
        input_["subnet_ids"] = subnet_ids
    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