// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateDestination`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`name(impl Into<String>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::set_name):<br>required: **true**<br><p>The name of the new resource.</p><br>
/// - [`expression_type(ExpressionType)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::expression_type) / [`set_expression_type(Option<ExpressionType>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::set_expression_type):<br>required: **true**<br><p>The type of value in <code>Expression</code>.</p><br>
/// - [`expression(impl Into<String>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::expression) / [`set_expression(Option<String>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::set_expression):<br>required: **true**<br><p>The rule name or topic rule to send messages to.</p><br>
/// - [`description(impl Into<String>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::set_description):<br>required: **false**<br><p>The description of the new resource.</p><br>
/// - [`role_arn(impl Into<String>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::set_role_arn):<br>required: **true**<br><p>The ARN of the IAM Role that authorizes the destination.</p><br>
/// - [`tags(Tag)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to attach to the new destination. Tags are metadata that you can use to manage a resource.</p><br>
/// - [`client_request_token(impl Into<String>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::client_request_token) / [`set_client_request_token(Option<String>)`](crate::operation::create_destination::builders::CreateDestinationFluentBuilder::set_client_request_token):<br>required: **false**<br><p>Each resource must have a unique client request token. The client token is used to implement idempotency. It ensures that the request completes no more than one time. If you retry a request with the same token and the same parameters, the request will complete successfully. However, if you try to create a new resource using the same token but different parameters, an HTTP 409 conflict occurs. If you omit this value, AWS SDKs will automatically generate a unique client request. For more information about idempotency, see <a href="https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html">Ensuring idempotency in Amazon EC2 API requests</a>.</p><br>
/// - On success, responds with [`CreateDestinationOutput`](crate::operation::create_destination::CreateDestinationOutput) with field(s):
/// - [`arn(Option<String>)`](crate::operation::create_destination::CreateDestinationOutput::arn): <p>The Amazon Resource Name of the new resource.</p>
/// - [`name(Option<String>)`](crate::operation::create_destination::CreateDestinationOutput::name): <p>The name of the new resource.</p>
/// - On failure, responds with [`SdkError<CreateDestinationError>`](crate::operation::create_destination::CreateDestinationError)
pub fn create_destination(&self) -> crate::operation::create_destination::builders::CreateDestinationFluentBuilder {
crate::operation::create_destination::builders::CreateDestinationFluentBuilder::new(self.handle.clone())
}
}