Skip to content

ungroup_resources async

ungroup_resources(
    group: GroupStringV2,
    resource_arns: ResourceArnList,
    *,
    config_overrides: Optional[AsyncResourceGroupsClientConfig] = None,
) -> UngroupResourcesOutput

Removes the specified resources from the specified group. This operation works only with static groups that you populated using the GroupResources operation. It doesn't work with any resource groups that are automatically populated by tag-based or CloudFormation stack-based queries.

Minimum permissions

To run this command, you must have the following permissions:

  • resource-groups:UngroupResources

Parameters:

  • group (GroupStringV2) –

    The name or the Amazon resource name (ARN) of the resource group from which to remove the resources.

  • resource_arns (ResourceArnList) –

    The Amazon resource names (ARNs) of the resources to be removed from the group.

Raises:

Source code in docs_src/capo_resource_groups/_services/async_resource_groups.py
async def ungroup_resources(
    self,
    group: "capo_resource_groups.types.group_string_v2.GroupStringV2",
    resource_arns: "capo_resource_groups.types.resource_arn_list.ResourceArnList",
    *,
    config_overrides: Optional[AsyncResourceGroupsClientConfig] = None,
) -> "capo_resource_groups.types.ungroup_resources_output.UngroupResourcesOutput":
    """<p>Removes the specified resources from the specified group. This operation works only with static groups that you populated using the <a>GroupResources</a> operation. It doesn't work with any resource groups that are automatically populated by tag-based or CloudFormation stack-based queries.</p> <p> <b>Minimum permissions</b> </p> <p>To run this command, you must have the following permissions:</p> <ul> <li> <p> <code>resource-groups:UngroupResources</code> </p> </li> </ul>

    Args:
        group: <p>The name or the Amazon resource name (ARN) of the resource group from which to remove the resources.</p>
        resource_arns: <p>The Amazon resource names (ARNs) of the resources to be removed from the group.</p>

    Raises:
        capo_resource_groups.errors.bad_request_exception.BadRequestException: <p>The request includes one or more parameters that violate validation rules.</p>
        capo_resource_groups.errors.forbidden_exception.ForbiddenException: <p>The caller isn't authorized to make the request. Check permissions.</p>
        capo_resource_groups.errors.internal_server_error_exception.InternalServerErrorException: <p>An internal error occurred while processing the request. Try again later.</p>
        capo_resource_groups.errors.method_not_allowed_exception.MethodNotAllowedException: <p>The request uses an HTTP method that isn't allowed for the specified resource.</p>
        capo_resource_groups.errors.not_found_exception.NotFoundException: <p>One or more of the specified resources don't exist.</p>
        capo_resource_groups.errors.too_many_requests_exception.TooManyRequestsException: <p>You've exceeded throttling limits by making too many requests in a period of time.</p>
        capo_resource_groups.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_resource_groups.types.ungroup_resources_input.UngroupResourcesInput]",
    ) -> AsyncOperationResponse[
        "capo_resource_groups.types.ungroup_resources_output.UngroupResourcesOutput"
    ]:
        import capo_resource_groups._operations.ardi.ungroup_resources

        (
            output,
            http_response,
        ) = await capo_resource_groups._operations.ardi.ungroup_resources.async_ungroup_resources(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UngroupResources")
    )
    input_: capo_resource_groups.types.ungroup_resources_input.UngroupResourcesInput = {
        "group": group,
        "resource_arns": resource_arns,
    }

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