// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`StartAssetBundleExportJob`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`aws_account_id(impl Into<String>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::aws_account_id) / [`set_aws_account_id(Option<String>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::set_aws_account_id):<br>required: **true**<br><p>The ID of the Amazon Web Services account to export assets from.</p><br>
/// - [`asset_bundle_export_job_id(impl Into<String>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::asset_bundle_export_job_id) / [`set_asset_bundle_export_job_id(Option<String>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::set_asset_bundle_export_job_id):<br>required: **true**<br><p>The ID of the job. This ID is unique while the job is running. After the job is completed, you can reuse this ID for another job.</p><br>
/// - [`resource_arns(impl Into<String>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::resource_arns) / [`set_resource_arns(Option<Vec::<String>>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::set_resource_arns):<br>required: **true**<br><p>An array of resource ARNs to export. The following resources are supported.</p> <ul> <li> <p> <code>Analysis</code> </p> </li> <li> <p> <code>Dashboard</code> </p> </li> <li> <p> <code>DataSet</code> </p> </li> <li> <p> <code>DataSource</code> </p> </li> <li> <p> <code>RefreshSchedule</code> </p> </li> <li> <p> <code>Theme</code> </p> </li> <li> <p> <code>VPCConnection</code> </p> </li> </ul> <p>The API caller must have the necessary permissions in their IAM role to access each resource before the resources can be exported.</p><br>
/// - [`include_all_dependencies(bool)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::include_all_dependencies) / [`set_include_all_dependencies(Option<bool>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::set_include_all_dependencies):<br>required: **false**<br><p>A Boolean that determines whether all dependencies of each resource ARN are recursively exported with the job. For example, say you provided a Dashboard ARN to the <code>ResourceArns</code> parameter. If you set <code>IncludeAllDependencies</code> to <code>TRUE</code>, any theme, dataset, and data source resource that is a dependency of the dashboard is also exported.</p><br>
/// - [`export_format(AssetBundleExportFormat)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::export_format) / [`set_export_format(Option<AssetBundleExportFormat>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::set_export_format):<br>required: **true**<br><p>The export data format.</p><br>
/// - [`cloud_formation_override_property_configuration(AssetBundleCloudFormationOverridePropertyConfiguration)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::cloud_formation_override_property_configuration) / [`set_cloud_formation_override_property_configuration(Option<AssetBundleCloudFormationOverridePropertyConfiguration>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::set_cloud_formation_override_property_configuration):<br>required: **false**<br><p>An optional collection of structures that generate CloudFormation parameters to override the existing resource property values when the resource is exported to a new CloudFormation template.</p> <p>Use this field if the <code>ExportFormat</code> field of a <code>StartAssetBundleExportJobRequest</code> API call is set to <code>CLOUDFORMATION_JSON</code>.</p><br>
/// - [`include_permissions(bool)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::include_permissions) / [`set_include_permissions(Option<bool>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::set_include_permissions):<br>required: **false**<br><p>A Boolean that determines whether all permissions for each resource ARN are exported with the job. If you set <code>IncludePermissions</code> to <code>TRUE</code>, any permissions associated with each resource are exported. </p><br>
/// - [`include_tags(bool)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::include_tags) / [`set_include_tags(Option<bool>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::set_include_tags):<br>required: **false**<br><p> A Boolean that determines whether all tags for each resource ARN are exported with the job. If you set <code>IncludeTags</code> to <code>TRUE</code>, any tags associated with each resource are exported.</p><br>
/// - [`validation_strategy(AssetBundleExportJobValidationStrategy)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::validation_strategy) / [`set_validation_strategy(Option<AssetBundleExportJobValidationStrategy>)`](crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::set_validation_strategy):<br>required: **false**<br><p>An optional parameter that determines which validation strategy to use for the export job. If <code>StrictModeForAllResources</code> is set to <code>TRUE</code>, strict validation for every error is enforced. If it is set to <code>FALSE</code>, validation is skipped for specific UI errors that are shown as warnings. The default value for <code>StrictModeForAllResources</code> is <code>FALSE</code>.</p><br>
/// - On success, responds with [`StartAssetBundleExportJobOutput`](crate::operation::start_asset_bundle_export_job::StartAssetBundleExportJobOutput) with field(s):
/// - [`arn(Option<String>)`](crate::operation::start_asset_bundle_export_job::StartAssetBundleExportJobOutput::arn): <p>The Amazon Resource Name (ARN) for the export job.</p>
/// - [`asset_bundle_export_job_id(Option<String>)`](crate::operation::start_asset_bundle_export_job::StartAssetBundleExportJobOutput::asset_bundle_export_job_id): <p>The ID of the job. This ID is unique while the job is running. After the job is completed, you can reuse this ID for another job.</p>
/// - [`request_id(Option<String>)`](crate::operation::start_asset_bundle_export_job::StartAssetBundleExportJobOutput::request_id): <p>The Amazon Web Services response ID for this operation.</p>
/// - [`status(i32)`](crate::operation::start_asset_bundle_export_job::StartAssetBundleExportJobOutput::status): <p>The HTTP status of the response.</p>
/// - On failure, responds with [`SdkError<StartAssetBundleExportJobError>`](crate::operation::start_asset_bundle_export_job::StartAssetBundleExportJobError)
pub fn start_asset_bundle_export_job(&self) -> crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder {
crate::operation::start_asset_bundle_export_job::builders::StartAssetBundleExportJobFluentBuilder::new(self.handle.clone())
}
}