async def create_data_automation_project(
self,
project_name: "capo_bedrock_data_automation.types.data_automation_project_name.DataAutomationProjectName",
standard_output_configuration: "capo_bedrock_data_automation.types.standard_output_configuration.StandardOutputConfiguration",
*,
config_overrides: Optional[AsyncBedrockDataAutomationClientConfig] = None,
project_description: Optional[
"capo_bedrock_data_automation.types.data_automation_project_description.DataAutomationProjectDescription"
] = None,
project_stage: Optional[
"capo_bedrock_data_automation.types.data_automation_project_stage.DataAutomationProjectStage"
] = None,
project_type: Optional[
"capo_bedrock_data_automation.types.data_automation_project_type.DataAutomationProjectType"
] = None,
custom_output_configuration: Optional[
"capo_bedrock_data_automation.types.custom_output_configuration.CustomOutputConfiguration"
] = None,
override_configuration: Optional[
"capo_bedrock_data_automation.types.override_configuration.OverrideConfiguration"
] = None,
data_automation_library_configuration: Optional[
"capo_bedrock_data_automation.types.data_automation_library_configuration.DataAutomationLibraryConfiguration"
] = None,
client_token: Optional[
"capo_bedrock_data_automation.types.client_token.ClientToken"
] = None,
encryption_configuration: Optional[
"capo_bedrock_data_automation.types.encryption_configuration.EncryptionConfiguration"
] = None,
tags: Optional["capo_bedrock_data_automation.types.tag_list.TagList"] = None,
) -> "capo_bedrock_data_automation.types.create_data_automation_project_response.CreateDataAutomationProjectResponse":
"""Creates an Amazon Bedrock Data Automation Project
Raises:
capo_bedrock_data_automation.errors.access_denied_exception.AccessDeniedException: This exception is thrown when a request is denied per access permissions
capo_bedrock_data_automation.errors.conflict_exception.ConflictException: This exception is thrown when there is a conflict performing an operation
capo_bedrock_data_automation.errors.internal_server_exception.InternalServerException: This exception is thrown if there was an unexpected error during processing of request
capo_bedrock_data_automation.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: This exception is thrown when a request is made beyond the service quota
capo_bedrock_data_automation.errors.throttling_exception.ThrottlingException: This exception is thrown when the number of requests exceeds the limit
capo_bedrock_data_automation.errors.validation_exception.ValidationException: This exception is thrown when the request's input validation fails
capo_bedrock_data_automation.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
async def _handler(
req: "AsyncOperationRequest[capo_bedrock_data_automation.types.create_data_automation_project_request.CreateDataAutomationProjectRequest]",
) -> AsyncOperationResponse[
"capo_bedrock_data_automation.types.create_data_automation_project_response.CreateDataAutomationProjectResponse"
]:
import capo_bedrock_data_automation._operations.amazon_bedrock_keystone_build_time_service.create_data_automation_project
(
output,
http_response,
) = await capo_bedrock_data_automation._operations.amazon_bedrock_keystone_build_time_service.create_data_automation_project.async_create_data_automation_project(
req.options, req.input
)
return AsyncOperationResponse(output=output, response=http_response)
def _redact_input(
input_: "capo_bedrock_data_automation.types.create_data_automation_project_request.CreateDataAutomationProjectRequest",
) -> dict[str, Any]:
import capo_bedrock_data_automation.types.create_data_automation_project_request
return capo_bedrock_data_automation.types.create_data_automation_project_request.redact_sensitive(
input_
)
interceptors_, options_ = self.operation_options(
config_overrides,
OperationLogging("CreateDataAutomationProject", redact_input=_redact_input),
)
input_: capo_bedrock_data_automation.types.create_data_automation_project_request.CreateDataAutomationProjectRequest = {
"project_name": project_name,
"standard_output_configuration": standard_output_configuration,
}
if project_description is not None:
input_["project_description"] = project_description
if project_stage is not None:
input_["project_stage"] = project_stage
if project_type is not None:
input_["project_type"] = project_type
if custom_output_configuration is not None:
input_["custom_output_configuration"] = custom_output_configuration
if override_configuration is not None:
input_["override_configuration"] = override_configuration
if data_automation_library_configuration is not None:
input_["data_automation_library_configuration"] = (
data_automation_library_configuration
)
if client_token is None:
client_token = str(uuid.uuid4())
input_["client_token"] = client_token
if encryption_configuration is not None:
input_["encryption_configuration"] = encryption_configuration
if tags is not None:
input_["tags"] = tags
response = await aexecute_pipeline(
AsyncOperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
await response.response.aclose()
return response.output