// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateFramework`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`framework_name(impl ::std::convert::Into<String>)`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::framework_name) / [`set_framework_name(Option<String>)`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::set_framework_name): <p>The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).</p>
/// - [`framework_description(impl ::std::convert::Into<String>)`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::framework_description) / [`set_framework_description(Option<String>)`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::set_framework_description): <p>An optional description of the framework with a maximum of 1,024 characters.</p>
/// - [`framework_controls(Vec<FrameworkControl>)`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::framework_controls) / [`set_framework_controls(Option<Vec<FrameworkControl>>)`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::set_framework_controls): <p>A list of the controls that make up the framework. Each control in the list has a name, input parameters, and scope.</p>
/// - [`idempotency_token(impl ::std::convert::Into<String>)`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::idempotency_token) / [`set_idempotency_token(Option<String>)`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::set_idempotency_token): <p>A customer-chosen string that you can use to distinguish between otherwise identical calls to <code>CreateFrameworkInput</code>. Retrying a successful request with the same idempotency token results in a success message with no action taken.</p>
/// - [`framework_tags(HashMap<String, String>)`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::framework_tags) / [`set_framework_tags(Option<HashMap<String, String>>)`](crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::set_framework_tags): <p>Metadata that you can assign to help organize the frameworks that you create. Each tag is a key-value pair.</p>
/// - On success, responds with [`CreateFrameworkOutput`](crate::operation::create_framework::CreateFrameworkOutput) with field(s):
/// - [`framework_name(Option<String>)`](crate::operation::create_framework::CreateFrameworkOutput::framework_name): <p>The unique name of the framework. The name must be between 1 and 256 characters, starting with a letter, and consisting of letters (a-z, A-Z), numbers (0-9), and underscores (_).</p>
/// - [`framework_arn(Option<String>)`](crate::operation::create_framework::CreateFrameworkOutput::framework_arn): <p>An Amazon Resource Name (ARN) that uniquely identifies a resource. The format of the ARN depends on the resource type.</p>
/// - On failure, responds with [`SdkError<CreateFrameworkError>`](crate::operation::create_framework::CreateFrameworkError)
pub fn create_framework(&self) -> crate::operation::create_framework::builders::CreateFrameworkFluentBuilder {
crate::operation::create_framework::builders::CreateFrameworkFluentBuilder::new(self.handle.clone())
}
}