Skip to content

update_datasource_packages async

update_datasource_packages(
    graph_arn: GraphArn,
    datasource_packages: DatasourcePackageList,
    *,
    config_overrides: Optional[AsyncDetectiveClientConfig] = None,
) -> None

Starts a data source package for the Detective behavior graph.

Parameters:

  • graph_arn (GraphArn) –

    The ARN of the behavior graph.

  • datasource_packages (DatasourcePackageList) –

    The data source package to start for the behavior graph.

Raises:

  • AccessDeniedException –

    The request issuer does not have permission to access this resource or perform this operation.

  • InternalServerException –

    The request was valid but failed because of a problem with the service.

  • ResourceNotFoundException –

    The request refers to a nonexistent resource.

  • ServiceQuotaExceededException –

    This request cannot be completed for one of the following reasons.

    • This request cannot be completed if it would cause the number of member accounts in the behavior graph to exceed the maximum allowed. A behavior graph cannot have more than 1,200 member accounts.

    • This request cannot be completed if the current volume ingested is above the limit of 10 TB per day. Detective will not allow you to add additional member accounts.

  • ValidationException –

    The request parameters are invalid.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_detective/_services/async_detective.py
async def update_datasource_packages(
    self,
    graph_arn: "capo_detective.types.graph_arn.GraphArn",
    datasource_packages: "capo_detective.types.datasource_package_list.DatasourcePackageList",
    *,
    config_overrides: Optional[AsyncDetectiveClientConfig] = None,
) -> None:
    """<p>Starts a data source package for the Detective behavior graph.</p>

    Args:
        graph_arn: <p>The ARN of the behavior graph.</p>
        datasource_packages: <p>The data source package to start for the behavior graph.</p>

    Raises:
        capo_detective.errors.access_denied_exception.AccessDeniedException: <p>The request issuer does not have permission to access this resource or perform this operation.</p>
        capo_detective.errors.internal_server_exception.InternalServerException: <p>The request was valid but failed because of a problem with the service.</p>
        capo_detective.errors.resource_not_found_exception.ResourceNotFoundException: <p>The request refers to a nonexistent resource.</p>
        capo_detective.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>This request cannot be completed for one of the following reasons.</p> <ul> <li> <p>This request cannot be completed if it would cause the number of member accounts in the behavior graph to exceed the maximum allowed. A behavior graph cannot have more than 1,200 member accounts.</p> </li> <li> <p>This request cannot be completed if the current volume ingested is above the limit of 10 TB per day. Detective will not allow you to add additional member accounts.</p> </li> </ul>
        capo_detective.errors.validation_exception.ValidationException: <p>The request parameters are invalid.</p>
        capo_detective.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_detective.types.update_datasource_packages_request.UpdateDatasourcePackagesRequest]",
    ) -> AsyncOperationResponse[None]:
        import capo_detective._operations.amazon_detective.update_datasource_packages

        (
            output,
            http_response,
        ) = await capo_detective._operations.amazon_detective.update_datasource_packages.async_update_datasource_packages(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("UpdateDatasourcePackages")
    )
    input_: capo_detective.types.update_datasource_packages_request.UpdateDatasourcePackagesRequest = {
        "graph_arn": graph_arn,
        "datasource_packages": datasource_packages,
    }

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