1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateContainerGroupDefinition`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`name(impl Into<String>)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::set_name):<br>required: **true**<br><p>A descriptive identifier for the container group definition. The name value must be unique in an Amazon Web Services Region.</p><br>
    ///   - [`scheduling_strategy(ContainerSchedulingStrategy)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::scheduling_strategy) / [`set_scheduling_strategy(Option<ContainerSchedulingStrategy>)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::set_scheduling_strategy):<br>required: **false**<br><p>The method for deploying the container group across fleet instances. A replica container group might have multiple copies on each fleet instance. A daemon container group has one copy per fleet instance. Default value is <code>REPLICA</code>.</p><br>
    ///   - [`total_memory_limit(i32)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::total_memory_limit) / [`set_total_memory_limit(Option<i32>)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::set_total_memory_limit):<br>required: **true**<br><p>The maximum amount of memory (in MiB) to allocate to the container group. All containers in the group share this memory. If you specify memory limits for individual containers, set this parameter based on the following guidelines. The value must be (1) greater than the sum of the soft memory limits for all containers in the group, and (2) greater than any individual container's hard memory limit.</p><br>
    ///   - [`total_cpu_limit(i32)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::total_cpu_limit) / [`set_total_cpu_limit(Option<i32>)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::set_total_cpu_limit):<br>required: **true**<br><p>The maximum amount of CPU units to allocate to the container group. Set this parameter to an integer value in CPU units (1 vCPU is equal to 1024 CPU units). All containers in the group share this memory. If you specify CPU limits for individual containers, set this parameter based on the following guidelines. The value must be equal to or greater than the sum of the CPU limits for all containers in the group.</p><br>
    ///   - [`container_definitions(ContainerDefinitionInput)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::container_definitions) / [`set_container_definitions(Option<Vec::<ContainerDefinitionInput>>)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::set_container_definitions):<br>required: **true**<br><p>Definitions for all containers in this group. Each container definition identifies the container image and specifies configuration settings for the container. See the <a href="https://docs.aws.amazon.com/gamelift/latest/developerguide/containers-design-fleet.html"> Container fleet design guide</a> for container guidelines.</p><br>
    ///   - [`operating_system(ContainerOperatingSystem)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::operating_system) / [`set_operating_system(Option<ContainerOperatingSystem>)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::set_operating_system):<br>required: **true**<br><p>The platform that is used by containers in the container group definition. All containers in a group must run on the same operating system.</p><br>
    ///   - [`tags(Tag)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::set_tags):<br>required: **false**<br><p>A list of labels to assign to the container group definition resource. Tags are developer-defined key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access management and cost allocation. For more information, see <a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"> Tagging Amazon Web Services Resources</a> in the <i>Amazon Web Services General Reference</i>.</p><br>
    /// - On success, responds with [`CreateContainerGroupDefinitionOutput`](crate::operation::create_container_group_definition::CreateContainerGroupDefinitionOutput) with field(s):
    ///   - [`container_group_definition(Option<ContainerGroupDefinition>)`](crate::operation::create_container_group_definition::CreateContainerGroupDefinitionOutput::container_group_definition): <p>The properties of the newly created container group definition resource. You use this resource to create a container fleet.</p>
    /// - On failure, responds with [`SdkError<CreateContainerGroupDefinitionError>`](crate::operation::create_container_group_definition::CreateContainerGroupDefinitionError)
    pub fn create_container_group_definition(
        &self,
    ) -> crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder {
        crate::operation::create_container_group_definition::builders::CreateContainerGroupDefinitionFluentBuilder::new(self.handle.clone())
    }
}