aws-sdk-networkfirewall 1.121.0

AWS SDK for AWS Network Firewall
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateContainerAssociation`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`container_association_name(impl Into<String>)`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::container_association_name) / [`set_container_association_name(Option<String>)`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::set_container_association_name):<br>required: **true**<br><p>The descriptive name of the container association. You can't change the name of a container association after you create it.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::set_description):<br>required: **false**<br><p>A description of the container association.</p><br>
    ///   - [`r#type(ContainerMonitoringType)`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::type) / [`set_type(Option<ContainerMonitoringType>)`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::set_type):<br>required: **true**<br><p>The type of containers to monitor. You can't change the container type after creation. Valid values:</p> <ul>  <li>   <p><code>ECS</code> - Amazon Elastic Container Service</p></li>  <li>   <p><code>EKS</code> - Amazon Elastic Kubernetes Service</p></li> </ul><br>
    ///   - [`container_monitoring_configurations(ContainerMonitoringConfiguration)`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::container_monitoring_configurations) / [`set_container_monitoring_configurations(Option<Vec::<ContainerMonitoringConfiguration>>)`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::set_container_monitoring_configurations):<br>required: **true**<br><p>The monitoring configurations for the container association. Each configuration specifies an Amazon ECS or Amazon EKS cluster to monitor and optional attribute filters to narrow which containers are tracked.</p><br>
    ///   - [`tags(Tag)`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::tags) / [`set_tags(Option<Vec::<Tag>>)`](crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::set_tags):<br>required: **false**<br><p>The key:value pairs to associate with the resource.</p><br>
    /// - On success, responds with [`CreateContainerAssociationOutput`](crate::operation::create_container_association::CreateContainerAssociationOutput) with field(s):
    ///   - [`container_association_name(Option<String>)`](crate::operation::create_container_association::CreateContainerAssociationOutput::container_association_name): <p>The descriptive name of the container association.</p>
    ///   - [`container_association_arn(Option<String>)`](crate::operation::create_container_association::CreateContainerAssociationOutput::container_association_arn): <p>The Amazon Resource Name (ARN) of the container association.</p>
    ///   - [`description(Option<String>)`](crate::operation::create_container_association::CreateContainerAssociationOutput::description): <p>A description of the container association.</p>
    ///   - [`r#type(Option<ContainerMonitoringType>)`](crate::operation::create_container_association::CreateContainerAssociationOutput::type): <p>The container type. Valid values:</p> <ul>  <li>   <p><code>ECS</code> - Amazon Elastic Container Service</p></li>  <li>   <p><code>EKS</code> - Amazon Elastic Kubernetes Service</p></li> </ul>
    ///   - [`container_monitoring_configurations(Option<Vec::<ContainerMonitoringConfiguration>>)`](crate::operation::create_container_association::CreateContainerAssociationOutput::container_monitoring_configurations): <p>The monitoring configurations for the container association.</p>
    ///   - [`status(Option<ContainerAssociationStatus>)`](crate::operation::create_container_association::CreateContainerAssociationOutput::status): <p>The current status of the container association. For a new container association, the status is <code>CREATING</code>.</p>
    ///   - [`tags(Option<Vec::<Tag>>)`](crate::operation::create_container_association::CreateContainerAssociationOutput::tags): <p>The key:value pairs to associate with the resource.</p>
    ///   - [`update_token(Option<String>)`](crate::operation::create_container_association::CreateContainerAssociationOutput::update_token): <p>A token used for optimistic locking. Network Firewall returns a token to your requests that access the container association. The token marks the state of the container association resource at the time of the request.</p> <p>To make changes to the container association, you provide the token in your request. Network Firewall uses the token to ensure that the container association hasn't changed since you last retrieved it. If it has changed, the operation fails with an <code>InvalidTokenException</code>. If this happens, retrieve the container association again to get a current copy of it with a current token. Reapply your changes as needed, then try the operation again using the new token.</p>
    /// - On failure, responds with [`SdkError<CreateContainerAssociationError>`](crate::operation::create_container_association::CreateContainerAssociationError)
    pub fn create_container_association(&self) -> crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder {
        crate::operation::create_container_association::builders::CreateContainerAssociationFluentBuilder::new(self.handle.clone())
    }
}