// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreateScopeSnapshot`](crate::operation::create_scope_snapshot::builders::CreateScopeSnapshotFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`scope_identifier(impl Into<String>)`](crate::operation::create_scope_snapshot::builders::CreateScopeSnapshotFluentBuilder::scope_identifier) / [`set_scope_identifier(Option<String>)`](crate::operation::create_scope_snapshot::builders::CreateScopeSnapshotFluentBuilder::set_scope_identifier):<br>required: **true**<br><p>The identifier of the scope. This is the scope's Amazon Resource Name (ARN).</p><br>
/// - [`client_token(impl Into<String>)`](crate::operation::create_scope_snapshot::builders::CreateScopeSnapshotFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_scope_snapshot::builders::CreateScopeSnapshotFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive token that you provide to ensure that the operation completes no more than one time. If you retry a request with the same client token and the same parameters, the service returns the result of the original successful request.</p><br>
/// - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_scope_snapshot::builders::CreateScopeSnapshotFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_scope_snapshot::builders::CreateScopeSnapshotFluentBuilder::set_tags):<br>required: **false**<br><p>The tags to add to the snapshot when it is created.</p><br>
/// - On success, responds with [`CreateScopeSnapshotOutput`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput) with field(s):
/// - [`scope_id(String)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::scope_id): <p>The service-generated id of the scope.</p>
/// - [`scope_arn(String)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::scope_arn): <p>The Amazon Resource Name (ARN) of the scope.</p>
/// - [`scope_name(String)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::scope_name): <p>The name of the scope.</p>
/// - [`scope_description(Option<String>)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::scope_description): <p>A description of the scope.</p>
/// - [`scope_configuration(Option<ScopeConfiguration>)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::scope_configuration): <p>The configuration that defines which accounts and resources are in scope.</p>
/// - [`status(EntityStatus)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::status): <p>The current status of the resource: <code>DRAFT</code> (unpublished, editable) or <code>ACTIVE</code> (published, in use).</p>
/// - [`version(String)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::version): <p>The version of the resource.</p>
/// - [`update_token(Option<String>)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::update_token): <p>A token used for optimistic concurrency control. Each read and write returns an <code>updateToken</code>. Provide the most recent value on your next update to detect and prevent conflicting concurrent modifications.</p>
/// - [`is_snapshot(Option<bool>)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::is_snapshot): <p>Specifies whether the resource is a snapshot of a published version.</p>
/// - [`has_published_version(Option<bool>)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::has_published_version): <p>Specifies whether a published version of the resource exists.</p>
/// - [`updated_at(Option<DateTime>)`](crate::operation::create_scope_snapshot::CreateScopeSnapshotOutput::updated_at): <p>The time when the snapshot was created.</p>
/// - On failure, responds with [`SdkError<CreateScopeSnapshotError>`](crate::operation::create_scope_snapshot::CreateScopeSnapshotError)
pub fn create_scope_snapshot(&self) -> crate::operation::create_scope_snapshot::builders::CreateScopeSnapshotFluentBuilder {
crate::operation::create_scope_snapshot::builders::CreateScopeSnapshotFluentBuilder::new(self.handle.clone())
}
}