pub struct JobGraphBuilder { /* private fields */ }Expand description
Builder for branched CloudConvert job graphs.
JobGraphBuilder is usually used through JobCreateRequest::graph. Each
task method appends one task and returns a TaskName handle that can be
passed to later graph methods.
use cloudconvert_sdk::{FileExtension, JobCreateRequest};
let request = JobCreateRequest::graph(|job| {
let imported = job.import_url("https://example.test/input.docx");
let pdf = job.convert(&imported, FileExtension::Pdf);
let png = job.convert(&imported, FileExtension::Png);
job.export_url(vec![&pdf, &png]);
})
.build();
let payload = serde_json::to_value(request).unwrap();
assert_eq!(payload["tasks"]["export-url"]["input"], serde_json::json!(["convert", "convert-2"]));Implementations§
Source§impl JobGraphBuilder
impl JobGraphBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates an empty graph builder.
Prefer JobCreateRequest::graph when the graph can be configured in a
single closure.
Sourcepub fn webhook_url(&mut self, webhook_url: impl Into<String>) -> &mut Self
pub fn webhook_url(&mut self, webhook_url: impl Into<String>) -> &mut Self
Sets the webhook URL CloudConvert should call for this job.
Sourcepub fn redirect(&mut self, redirect: bool) -> &mut Self
pub fn redirect(&mut self, redirect: bool) -> &mut Self
Sets whether CloudConvert should redirect on synchronous job completion.
Sourcepub fn option(
&mut self,
key: impl Into<String>,
value: impl Into<Value>,
) -> &mut Self
pub fn option( &mut self, key: impl Into<String>, value: impl Into<Value>, ) -> &mut Self
Adds a custom top-level job field.
Sourcepub fn add_task(&mut self, task: impl Into<TaskRequest>) -> TaskName
pub fn add_task(&mut self, task: impl Into<TaskRequest>) -> TaskName
Adds a task with a generated task name and returns that name as a handle.
Sourcepub fn add_named_task(
&mut self,
name: impl Into<String>,
task: impl Into<TaskRequest>,
) -> TaskName
pub fn add_named_task( &mut self, name: impl Into<String>, task: impl Into<TaskRequest>, ) -> TaskName
Adds a task with an explicit task name and returns that name as a handle.
Sourcepub fn import_url(&mut self, url: impl Into<String>) -> TaskName
pub fn import_url(&mut self, url: impl Into<String>) -> TaskName
Adds an import/url task.
Sourcepub fn import_url_with<F>(
&mut self,
url: impl Into<String>,
configure: F,
) -> TaskName
pub fn import_url_with<F>( &mut self, url: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an import/url task.
Sourcepub fn import_upload(&mut self) -> TaskName
pub fn import_upload(&mut self) -> TaskName
Adds an import/upload task.
Sourcepub fn import_upload_with<F>(&mut self, configure: F) -> TaskName
pub fn import_upload_with<F>(&mut self, configure: F) -> TaskName
Adds and configures an import/upload task.
Sourcepub fn import_base64(
&mut self,
file: impl Into<String>,
filename: impl Into<String>,
) -> TaskName
pub fn import_base64( &mut self, file: impl Into<String>, filename: impl Into<String>, ) -> TaskName
Adds an import/base64 task.
Sourcepub fn import_raw(
&mut self,
file: impl Into<String>,
filename: impl Into<String>,
) -> TaskName
pub fn import_raw( &mut self, file: impl Into<String>, filename: impl Into<String>, ) -> TaskName
Adds an import/raw task.
Sourcepub fn import_s3(
&mut self,
bucket: impl Into<String>,
region: impl Into<String>,
access_key_id: impl Into<String>,
secret_access_key: impl Into<String>,
) -> TaskName
pub fn import_s3( &mut self, bucket: impl Into<String>, region: impl Into<String>, access_key_id: impl Into<String>, secret_access_key: impl Into<String>, ) -> TaskName
Adds an import/s3 task.
Sourcepub fn import_s3_with<F>(
&mut self,
bucket: impl Into<String>,
region: impl Into<String>,
access_key_id: impl Into<String>,
secret_access_key: impl Into<String>,
configure: F,
) -> TaskName
pub fn import_s3_with<F>( &mut self, bucket: impl Into<String>, region: impl Into<String>, access_key_id: impl Into<String>, secret_access_key: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an import/s3 task.
Sourcepub fn import_azure_blob(
&mut self,
storage_account: impl Into<String>,
container: impl Into<String>,
) -> TaskName
pub fn import_azure_blob( &mut self, storage_account: impl Into<String>, container: impl Into<String>, ) -> TaskName
Adds an import/azure/blob task.
Sourcepub fn import_azure_blob_with<F>(
&mut self,
storage_account: impl Into<String>,
container: impl Into<String>,
configure: F,
) -> TaskName
pub fn import_azure_blob_with<F>( &mut self, storage_account: impl Into<String>, container: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an import/azure/blob task.
Sourcepub fn import_google_cloud_storage(
&mut self,
project_id: impl Into<String>,
bucket: impl Into<String>,
client_email: impl Into<String>,
private_key: impl Into<String>,
) -> TaskName
pub fn import_google_cloud_storage( &mut self, project_id: impl Into<String>, bucket: impl Into<String>, client_email: impl Into<String>, private_key: impl Into<String>, ) -> TaskName
Adds an import/google-cloud-storage task.
Sourcepub fn import_google_cloud_storage_with<F>(
&mut self,
project_id: impl Into<String>,
bucket: impl Into<String>,
client_email: impl Into<String>,
private_key: impl Into<String>,
configure: F,
) -> TaskName
pub fn import_google_cloud_storage_with<F>( &mut self, project_id: impl Into<String>, bucket: impl Into<String>, client_email: impl Into<String>, private_key: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an import/google-cloud-storage task.
Sourcepub fn import_openstack(
&mut self,
auth_url: impl Into<String>,
username: impl Into<String>,
password: impl Into<String>,
region: impl Into<String>,
container: impl Into<String>,
) -> TaskName
pub fn import_openstack( &mut self, auth_url: impl Into<String>, username: impl Into<String>, password: impl Into<String>, region: impl Into<String>, container: impl Into<String>, ) -> TaskName
Adds an import/openstack task.
Sourcepub fn import_openstack_with<F>(
&mut self,
auth_url: impl Into<String>,
username: impl Into<String>,
password: impl Into<String>,
region: impl Into<String>,
container: impl Into<String>,
configure: F,
) -> TaskName
pub fn import_openstack_with<F>( &mut self, auth_url: impl Into<String>, username: impl Into<String>, password: impl Into<String>, region: impl Into<String>, container: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an import/openstack task.
Sourcepub fn import_sftp(
&mut self,
host: impl Into<String>,
username: impl Into<String>,
) -> TaskName
pub fn import_sftp( &mut self, host: impl Into<String>, username: impl Into<String>, ) -> TaskName
Adds an import/sftp task.
Sourcepub fn import_sftp_with<F>(
&mut self,
host: impl Into<String>,
username: impl Into<String>,
configure: F,
) -> TaskName
pub fn import_sftp_with<F>( &mut self, host: impl Into<String>, username: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an import/sftp task.
Sourcepub fn convert(
&mut self,
input: impl Into<Input>,
output_format: impl Into<String>,
) -> TaskName
pub fn convert( &mut self, input: impl Into<Input>, output_format: impl Into<String>, ) -> TaskName
Adds a convert task.
Sourcepub fn convert_with<F>(
&mut self,
input: impl Into<Input>,
output_format: impl Into<String>,
configure: F,
) -> TaskName
pub fn convert_with<F>( &mut self, input: impl Into<Input>, output_format: impl Into<String>, configure: F, ) -> TaskName
Adds and configures a convert task.
Sourcepub fn optimize_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn optimize_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures an optimize task.
Sourcepub fn watermark_text(
&mut self,
input: impl Into<Input>,
text: impl Into<String>,
) -> TaskName
pub fn watermark_text( &mut self, input: impl Into<Input>, text: impl Into<String>, ) -> TaskName
Adds a text watermark task.
Sourcepub fn watermark_text_with<F>(
&mut self,
input: impl Into<Input>,
text: impl Into<String>,
configure: F,
) -> TaskName
pub fn watermark_text_with<F>( &mut self, input: impl Into<Input>, text: impl Into<String>, configure: F, ) -> TaskName
Adds and configures a text watermark task.
Sourcepub fn watermark_image(
&mut self,
input: impl Into<Input>,
image_task_name: impl Into<String>,
) -> TaskName
pub fn watermark_image( &mut self, input: impl Into<Input>, image_task_name: impl Into<String>, ) -> TaskName
Adds an image watermark task.
Sourcepub fn watermark_image_with<F>(
&mut self,
input: impl Into<Input>,
image_task_name: impl Into<String>,
configure: F,
) -> TaskName
pub fn watermark_image_with<F>( &mut self, input: impl Into<Input>, image_task_name: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an image watermark task.
Sourcepub fn capture_website(
&mut self,
url: impl Into<String>,
output_format: impl Into<String>,
) -> TaskName
pub fn capture_website( &mut self, url: impl Into<String>, output_format: impl Into<String>, ) -> TaskName
Adds a capture-website task.
Sourcepub fn capture_website_with<F>(
&mut self,
url: impl Into<String>,
output_format: impl Into<String>,
configure: F,
) -> TaskName
pub fn capture_website_with<F>( &mut self, url: impl Into<String>, output_format: impl Into<String>, configure: F, ) -> TaskName
Adds and configures a capture-website task.
Sourcepub fn thumbnail(
&mut self,
input: impl Into<Input>,
output_format: impl Into<String>,
) -> TaskName
pub fn thumbnail( &mut self, input: impl Into<Input>, output_format: impl Into<String>, ) -> TaskName
Adds a thumbnail task.
Sourcepub fn thumbnail_with<F>(
&mut self,
input: impl Into<Input>,
output_format: impl Into<String>,
configure: F,
) -> TaskName
pub fn thumbnail_with<F>( &mut self, input: impl Into<Input>, output_format: impl Into<String>, configure: F, ) -> TaskName
Adds and configures a thumbnail task.
Sourcepub fn metadata_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn metadata_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures a metadata task.
Sourcepub fn metadata_write(&mut self, input: impl Into<Input>) -> TaskName
pub fn metadata_write(&mut self, input: impl Into<Input>) -> TaskName
Adds a metadata/write task.
Sourcepub fn metadata_write_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn metadata_write_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures a metadata/write task.
Sourcepub fn merge(
&mut self,
input: impl Into<Input>,
output_format: impl Into<String>,
) -> TaskName
pub fn merge( &mut self, input: impl Into<Input>, output_format: impl Into<String>, ) -> TaskName
Adds a merge task.
Sourcepub fn merge_with<F>(
&mut self,
input: impl Into<Input>,
output_format: impl Into<String>,
configure: F,
) -> TaskName
pub fn merge_with<F>( &mut self, input: impl Into<Input>, output_format: impl Into<String>, configure: F, ) -> TaskName
Adds and configures a merge task.
Sourcepub fn archive(
&mut self,
input: impl Into<Input>,
output_format: impl Into<String>,
) -> TaskName
pub fn archive( &mut self, input: impl Into<Input>, output_format: impl Into<String>, ) -> TaskName
Adds an archive task.
Sourcepub fn archive_with<F>(
&mut self,
input: impl Into<Input>,
output_format: impl Into<String>,
configure: F,
) -> TaskName
pub fn archive_with<F>( &mut self, input: impl Into<Input>, output_format: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an archive task.
Sourcepub fn command(
&mut self,
input: impl Into<Input>,
engine: impl Into<String>,
command: impl Into<String>,
arguments: impl Into<String>,
) -> TaskName
pub fn command( &mut self, input: impl Into<Input>, engine: impl Into<String>, command: impl Into<String>, arguments: impl Into<String>, ) -> TaskName
Adds a command task.
Sourcepub fn command_with<F>(
&mut self,
input: impl Into<Input>,
engine: impl Into<String>,
command: impl Into<String>,
arguments: impl Into<String>,
configure: F,
) -> TaskName
pub fn command_with<F>( &mut self, input: impl Into<Input>, engine: impl Into<String>, command: impl Into<String>, arguments: impl Into<String>, configure: F, ) -> TaskName
Adds and configures a command task.
Sourcepub fn pdf_a_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn pdf_a_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures a PDF operation task.
Sourcepub fn pdf_x_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn pdf_x_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures a PDF operation task.
Sourcepub fn pdf_ocr_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn pdf_ocr_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures a PDF operation task.
Sourcepub fn pdf_encrypt(&mut self, input: impl Into<Input>) -> TaskName
pub fn pdf_encrypt(&mut self, input: impl Into<Input>) -> TaskName
Adds a PDF operation task.
Sourcepub fn pdf_encrypt_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn pdf_encrypt_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures a PDF operation task.
Sourcepub fn pdf_decrypt(&mut self, input: impl Into<Input>) -> TaskName
pub fn pdf_decrypt(&mut self, input: impl Into<Input>) -> TaskName
Adds a PDF operation task.
Sourcepub fn pdf_decrypt_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn pdf_decrypt_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures a PDF operation task.
Sourcepub fn pdf_split_pages(&mut self, input: impl Into<Input>) -> TaskName
pub fn pdf_split_pages(&mut self, input: impl Into<Input>) -> TaskName
Adds a PDF operation task.
Sourcepub fn pdf_split_pages_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn pdf_split_pages_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures a PDF operation task.
Sourcepub fn pdf_extract_pages(&mut self, input: impl Into<Input>) -> TaskName
pub fn pdf_extract_pages(&mut self, input: impl Into<Input>) -> TaskName
Adds a PDF operation task.
Sourcepub fn pdf_extract_pages_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn pdf_extract_pages_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures a PDF operation task.
Sourcepub fn pdf_rotate_pages(&mut self, input: impl Into<Input>) -> TaskName
pub fn pdf_rotate_pages(&mut self, input: impl Into<Input>) -> TaskName
Adds a PDF operation task.
Sourcepub fn pdf_rotate_pages_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn pdf_rotate_pages_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures a PDF operation task.
Sourcepub fn export_url(&mut self, input: impl Into<Input>) -> TaskName
pub fn export_url(&mut self, input: impl Into<Input>) -> TaskName
Adds an export/url task.
Sourcepub fn export_url_with<F>(
&mut self,
input: impl Into<Input>,
configure: F,
) -> TaskName
pub fn export_url_with<F>( &mut self, input: impl Into<Input>, configure: F, ) -> TaskName
Adds and configures an export/url task.
Sourcepub fn export_s3(
&mut self,
input: impl Into<Input>,
bucket: impl Into<String>,
region: impl Into<String>,
access_key_id: impl Into<String>,
secret_access_key: impl Into<String>,
) -> TaskName
pub fn export_s3( &mut self, input: impl Into<Input>, bucket: impl Into<String>, region: impl Into<String>, access_key_id: impl Into<String>, secret_access_key: impl Into<String>, ) -> TaskName
Adds an export/s3 task.
Sourcepub fn export_s3_with<F>(
&mut self,
input: impl Into<Input>,
bucket: impl Into<String>,
region: impl Into<String>,
access_key_id: impl Into<String>,
secret_access_key: impl Into<String>,
configure: F,
) -> TaskName
pub fn export_s3_with<F>( &mut self, input: impl Into<Input>, bucket: impl Into<String>, region: impl Into<String>, access_key_id: impl Into<String>, secret_access_key: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an export/s3 task.
Sourcepub fn export_azure_blob(
&mut self,
input: impl Into<Input>,
storage_account: impl Into<String>,
container: impl Into<String>,
) -> TaskName
pub fn export_azure_blob( &mut self, input: impl Into<Input>, storage_account: impl Into<String>, container: impl Into<String>, ) -> TaskName
Adds an export/azure/blob task.
Sourcepub fn export_azure_blob_with<F>(
&mut self,
input: impl Into<Input>,
storage_account: impl Into<String>,
container: impl Into<String>,
configure: F,
) -> TaskName
pub fn export_azure_blob_with<F>( &mut self, input: impl Into<Input>, storage_account: impl Into<String>, container: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an export/azure/blob task.
Sourcepub fn export_google_cloud_storage(
&mut self,
input: impl Into<Input>,
project_id: impl Into<String>,
bucket: impl Into<String>,
client_email: impl Into<String>,
private_key: impl Into<String>,
) -> TaskName
pub fn export_google_cloud_storage( &mut self, input: impl Into<Input>, project_id: impl Into<String>, bucket: impl Into<String>, client_email: impl Into<String>, private_key: impl Into<String>, ) -> TaskName
Adds an export/google-cloud-storage task.
Sourcepub fn export_google_cloud_storage_with<F>(
&mut self,
input: impl Into<Input>,
project_id: impl Into<String>,
bucket: impl Into<String>,
client_email: impl Into<String>,
private_key: impl Into<String>,
configure: F,
) -> TaskName
pub fn export_google_cloud_storage_with<F>( &mut self, input: impl Into<Input>, project_id: impl Into<String>, bucket: impl Into<String>, client_email: impl Into<String>, private_key: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an export/google-cloud-storage task.
Sourcepub fn export_openstack(
&mut self,
input: impl Into<Input>,
auth_url: impl Into<String>,
username: impl Into<String>,
password: impl Into<String>,
region: impl Into<String>,
container: impl Into<String>,
) -> TaskName
pub fn export_openstack( &mut self, input: impl Into<Input>, auth_url: impl Into<String>, username: impl Into<String>, password: impl Into<String>, region: impl Into<String>, container: impl Into<String>, ) -> TaskName
Adds an export/openstack task.
Sourcepub fn export_openstack_with<F>(
&mut self,
input: impl Into<Input>,
auth_url: impl Into<String>,
username: impl Into<String>,
password: impl Into<String>,
region: impl Into<String>,
container: impl Into<String>,
configure: F,
) -> TaskName
pub fn export_openstack_with<F>( &mut self, input: impl Into<Input>, auth_url: impl Into<String>, username: impl Into<String>, password: impl Into<String>, region: impl Into<String>, container: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an export/openstack task.
Sourcepub fn export_sftp(
&mut self,
input: impl Into<Input>,
host: impl Into<String>,
username: impl Into<String>,
) -> TaskName
pub fn export_sftp( &mut self, input: impl Into<Input>, host: impl Into<String>, username: impl Into<String>, ) -> TaskName
Adds an export/sftp task.
Sourcepub fn export_sftp_with<F>(
&mut self,
input: impl Into<Input>,
host: impl Into<String>,
username: impl Into<String>,
configure: F,
) -> TaskName
pub fn export_sftp_with<F>( &mut self, input: impl Into<Input>, host: impl Into<String>, username: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an export/sftp task.
Sourcepub fn export_upload(
&mut self,
input: impl Into<Input>,
url: impl Into<String>,
) -> TaskName
pub fn export_upload( &mut self, input: impl Into<Input>, url: impl Into<String>, ) -> TaskName
Adds an export/upload task.
Sourcepub fn export_upload_with<F>(
&mut self,
input: impl Into<Input>,
url: impl Into<String>,
configure: F,
) -> TaskName
pub fn export_upload_with<F>( &mut self, input: impl Into<Input>, url: impl Into<String>, configure: F, ) -> TaskName
Adds and configures an export/upload task.
Sourcepub fn into_builder(self) -> JobBuilder
pub fn into_builder(self) -> JobBuilder
Finishes the graph builder and returns a regular JobBuilder.
Sourcepub fn build(self) -> JobCreateRequest
pub fn build(self) -> JobCreateRequest
Finishes the graph builder and returns the job creation request.
Trait Implementations§
Source§impl Clone for JobGraphBuilder
impl Clone for JobGraphBuilder
Source§fn clone(&self) -> JobGraphBuilder
fn clone(&self) -> JobGraphBuilder
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more