// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`CreatePlacementGroup`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`dry_run(bool)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::dry_run) / [`set_dry_run(Option<bool>)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::set_dry_run):<br>required: **false**<br><p>Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is <code>DryRunOperation</code>. Otherwise, it is <code>UnauthorizedOperation</code>.</p><br>
/// - [`group_name(impl Into<String>)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::group_name) / [`set_group_name(Option<String>)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::set_group_name):<br>required: **false**<br><p>A name for the placement group. Must be unique within the scope of your account for the Region.</p> <p>Constraints: Up to 255 ASCII characters</p><br>
/// - [`strategy(PlacementStrategy)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::strategy) / [`set_strategy(Option<PlacementStrategy>)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::set_strategy):<br>required: **false**<br><p>The placement strategy.</p><br>
/// - [`partition_count(i32)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::partition_count) / [`set_partition_count(Option<i32>)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::set_partition_count):<br>required: **false**<br><p>The number of partitions. Valid only when <b>Strategy</b> is set to <code>partition</code>.</p><br>
/// - [`tag_specifications(TagSpecification)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::tag_specifications) / [`set_tag_specifications(Option<Vec::<TagSpecification>>)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::set_tag_specifications):<br>required: **false**<br><p>The tags to apply to the new placement group.</p><br>
/// - [`spread_level(SpreadLevel)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::spread_level) / [`set_spread_level(Option<SpreadLevel>)`](crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::set_spread_level):<br>required: **false**<br><p>Determines how placement groups spread instances. </p> <ul> <li> <p>Host – You can use <code>host</code> only with Outpost placement groups.</p> </li> <li> <p>Rack – No usage restrictions.</p> </li> </ul><br>
/// - On success, responds with [`CreatePlacementGroupOutput`](crate::operation::create_placement_group::CreatePlacementGroupOutput) with field(s):
/// - [`placement_group(Option<PlacementGroup>)`](crate::operation::create_placement_group::CreatePlacementGroupOutput::placement_group): <p>Information about the placement group.</p>
/// - On failure, responds with [`SdkError<CreatePlacementGroupError>`](crate::operation::create_placement_group::CreatePlacementGroupError)
pub fn create_placement_group(&self) -> crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder {
crate::operation::create_placement_group::builders::CreatePlacementGroupFluentBuilder::new(self.handle.clone())
}
}