Skip to content

create_transit_gateway_multicast_domain async

create_transit_gateway_multicast_domain(
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    transit_gateway_id: Optional[TransitGatewayId] = None,
    options: Optional[CreateTransitGatewayMulticastDomainRequestOptions] = None,
    tag_specifications: Optional[TagSpecificationList] = None,
    dry_run: Optional[Boolean] = None,
) -> CreateTransitGatewayMulticastDomainResult

Creates a multicast domain using the specified transit gateway.

The transit gateway must be in the available state before you create a domain. Use DescribeTransitGateways to see the state of transit gateway.

Parameters:

  • transit_gateway_id (Optional[TransitGatewayId], default: None ) –

    The ID of the transit gateway.

  • options (Optional[CreateTransitGatewayMulticastDomainRequestOptions], default: None ) –

    The options for the transit gateway multicast domain.

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

    The tags for 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 create_transit_gateway_multicast_domain(
    self,
    *,
    config_overrides: Optional[AsyncEC2ClientConfig] = None,
    transit_gateway_id: Optional[
        "capo_ec2.types.transit_gateway_id.TransitGatewayId"
    ] = None,
    options: Optional[
        "capo_ec2.types.create_transit_gateway_multicast_domain_request_options.CreateTransitGatewayMulticastDomainRequestOptions"
    ] = None,
    tag_specifications: Optional[
        "capo_ec2.types.tag_specification_list.TagSpecificationList"
    ] = None,
    dry_run: Optional["capo_ec2.types.boolean.Boolean"] = None,
) -> "capo_ec2.types.create_transit_gateway_multicast_domain_result.CreateTransitGatewayMulticastDomainResult":
    """<p>Creates a multicast domain using the specified transit gateway.</p> <p>The transit gateway must be in the available state before you create a domain. Use <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html">DescribeTransitGateways</a> to see the state of transit gateway.</p>

    Args:
        transit_gateway_id: <p>The ID of the transit gateway.</p>
        options: <p>The options for the transit gateway multicast domain.</p>
        tag_specifications: <p>The tags for 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.create_transit_gateway_multicast_domain_request.CreateTransitGatewayMulticastDomainRequest]",
    ) -> AsyncOperationResponse[
        "capo_ec2.types.create_transit_gateway_multicast_domain_result.CreateTransitGatewayMulticastDomainResult"
    ]:
        import capo_ec2._operations.amazon_ec2.create_transit_gateway_multicast_domain

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

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateTransitGatewayMulticastDomain")
    )
    input_: capo_ec2.types.create_transit_gateway_multicast_domain_request.CreateTransitGatewayMulticastDomainRequest = {}
    if transit_gateway_id is not None:
        input_["transit_gateway_id"] = transit_gateway_id
    if options is not None:
        input_["options"] = options
    if tag_specifications is not None:
        input_["tag_specifications"] = tag_specifications
    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