// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`StartBulkDeployment`](crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`amzn_client_token(impl Into<String>)`](crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder::amzn_client_token) / [`set_amzn_client_token(Option<String>)`](crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder::set_amzn_client_token):<br>required: **false**<br>A client token used to correlate requests and responses.<br>
/// - [`execution_role_arn(impl Into<String>)`](crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder::execution_role_arn) / [`set_execution_role_arn(Option<String>)`](crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder::set_execution_role_arn):<br>required: **true**<br>The ARN of the execution role to associate with the bulk deployment operation. This IAM role must allow the ''greengrass:CreateDeployment'' action for all group versions that are listed in the input file. This IAM role must have access to the S3 bucket containing the input file.<br>
/// - [`input_file_uri(impl Into<String>)`](crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder::input_file_uri) / [`set_input_file_uri(Option<String>)`](crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder::set_input_file_uri):<br>required: **true**<br>The URI of the input file contained in the S3 bucket. The execution role must have ''getObject'' permissions on this bucket to access the input file. The input file is a JSON-serialized, line delimited file with UTF-8 encoding that provides a list of group and version IDs and the deployment type. This file must be less than 100 MB. Currently, AWS IoT Greengrass supports only ''NewDeployment'' deployment types.<br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder::set_tags):<br>required: **false**<br>Tag(s) to add to the new resource.<br>
/// - On success, responds with [`StartBulkDeploymentOutput`](crate::operation::start_bulk_deployment::StartBulkDeploymentOutput) with field(s):
/// - [`bulk_deployment_arn(Option<String>)`](crate::operation::start_bulk_deployment::StartBulkDeploymentOutput::bulk_deployment_arn): The ARN of the bulk deployment.
/// - [`bulk_deployment_id(Option<String>)`](crate::operation::start_bulk_deployment::StartBulkDeploymentOutput::bulk_deployment_id): The ID of the bulk deployment.
/// - On failure, responds with [`SdkError<StartBulkDeploymentError>`](crate::operation::start_bulk_deployment::StartBulkDeploymentError)
pub fn start_bulk_deployment(&self) -> crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder {
crate::operation::start_bulk_deployment::builders::StartBulkDeploymentFluentBuilder::new(self.handle.clone())
}
}