// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
/// Constructs a fluent builder for the [`DescribeContainerGroupPortMappings`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder) operation.
///
/// - The fluent builder is configurable:
/// - [`fleet_id(impl Into<String>)`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::fleet_id) / [`set_fleet_id(Option<String>)`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::set_fleet_id):<br>required: **true**<br><p>A unique identifier for the container fleet. You can use either the fleet ID or ARN value.</p><br>
/// - [`container_group_type(ContainerGroupType)`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::container_group_type) / [`set_container_group_type(Option<ContainerGroupType>)`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::set_container_group_type):<br>required: **true**<br><p>The type of container group to retrieve port mappings for.</p> <ul> <li> <p><code>GAME_SERVER</code> -- Get port mappings for a game server container group.</p></li> <li> <p><code>PER_INSTANCE</code> -- Get port mappings for a per-instance container group.</p></li> </ul><br>
/// - [`compute_name(impl Into<String>)`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::compute_name) / [`set_compute_name(Option<String>)`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::set_compute_name):<br>required: **false**<br><p>A unique identifier for the compute resource for which to retrieve port mappings. For a container fleet, a compute represents a game server container group running on a fleet instance. You can use either the compute name or ARN value.</p> <p>When <code>ContainerGroupType</code> is <code>GAME_SERVER</code>, this parameter is required.</p> <p>When <code>ContainerGroupType</code> is <code>PER_INSTANCE</code>, do not provide this parameter. If you provide a compute name with <code>PER_INSTANCE</code>, the request fails with an <code>InvalidRequestException</code>.</p><br>
/// - [`instance_id(impl Into<String>)`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::instance_id) / [`set_instance_id(Option<String>)`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::set_instance_id):<br>required: **false**<br><p>A unique identifier for the fleet instance to retrieve port mappings for.</p> <p>When <code>ContainerGroupType</code> is <code>PER_INSTANCE</code>, this parameter is required.</p> <p>When <code>ContainerGroupType</code> is <code>GAME_SERVER</code>, this parameter is optional. If you provide an instance ID, it must match the instance that's running the specified compute. If the instance ID doesn't match, the request fails with an <code>InvalidRequestException</code>.</p><br>
/// - [`container_name(impl Into<String>)`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::container_name) / [`set_container_name(Option<String>)`](crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::set_container_name):<br>required: **false**<br><p>A container name to filter the results. When provided, the operation returns port mappings for the specified container only. If no container with the specified name exists in the container group, the request fails with a <code>NotFoundException</code>.</p> <p>If not provided, the operation returns port mappings for all containers in the container group.</p><br>
/// - On success, responds with [`DescribeContainerGroupPortMappingsOutput`](crate::operation::describe_container_group_port_mappings::DescribeContainerGroupPortMappingsOutput) with field(s):
/// - [`fleet_id(Option<String>)`](crate::operation::describe_container_group_port_mappings::DescribeContainerGroupPortMappingsOutput::fleet_id): <p>A unique identifier for the container fleet.</p>
/// - [`fleet_arn(Option<String>)`](crate::operation::describe_container_group_port_mappings::DescribeContainerGroupPortMappingsOutput::fleet_arn): <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) that is assigned to a Amazon GameLift Servers fleet resource and uniquely identifies it. ARNs are unique across all Regions. Format is <code>arn:aws:gamelift:<region> ::fleet/fleet-a1234567-b8c9-0d1e-2fa3-b45c6d7e8912 </region></code>. In a GameLift fleet ARN, the resource ID matches the <code>FleetId</code> value.</p>
/// - [`location(Option<String>)`](crate::operation::describe_container_group_port_mappings::DescribeContainerGroupPortMappingsOutput::location): <p>The location of the fleet instance, expressed as an Amazon Web Services Region code, such as <code>us-west-2</code>.</p>
/// - [`container_group_definition_arn(Option<String>)`](crate::operation::describe_container_group_port_mappings::DescribeContainerGroupPortMappingsOutput::container_group_definition_arn): <p>The Amazon Resource Name (<a href="https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html">ARN</a>) that is assigned to the container group definition. The ARN value also identifies the specific container group definition version in use.</p>
/// - [`container_group_type(Option<ContainerGroupType>)`](crate::operation::describe_container_group_port_mappings::DescribeContainerGroupPortMappingsOutput::container_group_type): <p>The type of container group that was specified in the request. Valid values are <code>GAME_SERVER</code> or <code>PER_INSTANCE</code>.</p>
/// - [`compute_name(Option<String>)`](crate::operation::describe_container_group_port_mappings::DescribeContainerGroupPortMappingsOutput::compute_name): <p>A unique identifier for the compute resource running the game server container group. Returned when <code>ContainerGroupType</code> is <code>GAME_SERVER</code>.</p>
/// - [`instance_id(Option<String>)`](crate::operation::describe_container_group_port_mappings::DescribeContainerGroupPortMappingsOutput::instance_id): <p>A unique identifier for the fleet instance. For <code>GAME_SERVER</code> requests, this is the instance running the specified compute. For <code>PER_INSTANCE</code> requests, this is the instance specified in the request.</p>
/// - [`container_group_port_mappings(Option<Vec::<ContainerGroupPortMapping>>)`](crate::operation::describe_container_group_port_mappings::DescribeContainerGroupPortMappingsOutput::container_group_port_mappings): <p>A list of <code>ContainerGroupPortMapping</code> objects that describe the port mappings for each container in the container group.</p>
/// - On failure, responds with [`SdkError<DescribeContainerGroupPortMappingsError>`](crate::operation::describe_container_group_port_mappings::DescribeContainerGroupPortMappingsError)
pub fn describe_container_group_port_mappings(
&self,
) -> crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder {
crate::operation::describe_container_group_port_mappings::builders::DescribeContainerGroupPortMappingsFluentBuilder::new(self.handle.clone())
}
}