aws-sdk-rtbfabric 1.30.0

AWS SDK for RTBFabric
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`CreateResponderGateway`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`vpc_id(impl Into<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::vpc_id) / [`set_vpc_id(Option<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_vpc_id):<br>required: **true**<br><p>The unique identifier of the Virtual Private Cloud (VPC).</p><br>
    ///   - [`subnet_ids(impl Into<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::subnet_ids) / [`set_subnet_ids(Option<Vec::<String>>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_subnet_ids):<br>required: **true**<br><p>Unique identifiers of the subnets. A service quota for your account sets the number of Availability Zones that your subnets can span. By default, this quota is one Availability Zone. To span more Availability Zones, request a quota increase.</p><br>
    ///   - [`security_group_ids(impl Into<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::security_group_ids) / [`set_security_group_ids(Option<Vec::<String>>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_security_group_ids):<br>required: **true**<br><p>The unique identifiers of the security groups.</p><br>
    ///   - [`domain_name(impl Into<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::domain_name) / [`set_domain_name(Option<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_domain_name):<br>required: **false**<br><p>The domain name for the responder gateway.</p><br>
    ///   - [`port(i32)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::port) / [`set_port(Option<i32>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_port):<br>required: **true**<br><p>The networking port to use.</p><br>
    ///   - [`protocol(Protocol)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::protocol) / [`set_protocol(Option<Protocol>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_protocol):<br>required: **true**<br><p>The networking protocol to use.</p><br>
    ///   - [`listener_config(ListenerConfig)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::listener_config) / [`set_listener_config(Option<ListenerConfig>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_listener_config):<br>required: **false**<br><p>Listener configuration for the protocols (HTTP, HTTPS, or both) accepted by the gateway.</p><br>
    ///   - [`trust_store_configuration(TrustStoreConfiguration)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::trust_store_configuration) / [`set_trust_store_configuration(Option<TrustStoreConfiguration>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_trust_store_configuration):<br>required: **false**<br><p>The configuration of the trust store.</p><br>
    ///   - [`managed_endpoint_configuration(ManagedEndpointConfiguration)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::managed_endpoint_configuration) / [`set_managed_endpoint_configuration(Option<ManagedEndpointConfiguration>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_managed_endpoint_configuration):<br>required: **false**<br><p>The configuration for the managed endpoint.</p><br>
    ///   - [`client_token(impl Into<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_client_token):<br>required: **true**<br><p>Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a <a href="https://wikipedia.org/wiki/Universally_unique_identifier">UUID type of value</a>.</p> <p>If you don't provide this value, then Amazon Web Services generates a random one for you.</p> <p>If you retry the operation with the same <code>clientToken</code>, but with different parameters, the retry fails with an <code>IdempotentParameterMismatch</code> error.</p><br>
    ///   - [`description(impl Into<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_description):<br>required: **false**<br><p>An optional description for the responder gateway.</p><br>
    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_tags):<br>required: **false**<br><p>A map of the key-value pairs of the tag or tags to assign to the resource.</p><br>
    ///   - [`gateway_type(GatewayType)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::gateway_type) / [`set_gateway_type(Option<GatewayType>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_gateway_type):<br>required: **false**<br><p>The type of gateway. Valid values are <code>EXTERNAL</code> or <code>INTERNAL</code>.</p><br>
    ///   - [`client_routing_policy(ClientRoutingPolicy)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::client_routing_policy) / [`set_client_routing_policy(Option<ClientRoutingPolicy>)`](crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::set_client_routing_policy):<br>required: **false**<br><p>The client routing policy of the gateway. This policy controls which Availability Zones RTB Fabric uses to reach the gateway for the requester gateways that send traffic to it. Valid values are the following:</p> <ul>  <li>   <p><code>AVAILABILITY_ZONE_AFFINITY</code>: RTB Fabric routes each requester's traffic to gateway capacity in the requester's own Availability Zone when the gateway has capacity available there. Otherwise, RTB Fabric routes the traffic to gateway capacity in the other Availability Zones of the gateway.</p></li>  <li>   <p><code>ANY_AVAILABILITY_ZONE</code>: RTB Fabric routes each requester's traffic to gateway capacity in every Availability Zone that the subnets of the gateway span. The Availability Zone that the requester is in does not change this.</p></li> </ul> <p>If you don't specify a value, RTB Fabric uses <code>AVAILABILITY_ZONE_AFFINITY</code>. To get the behavior of <code>ANY_AVAILABILITY_ZONE</code>, create the gateway with subnets in more than one Availability Zone. RTB Fabric does not support partial Availability Zone affinity, so <code>PARTIAL_AVAILABILITY_ZONE_AFFINITY</code> is not a valid value. For more information, see <a href="https://docs.aws.amazon.com/rtb-fabric/latest/userguide/working-with-responder-gateways.html#configuring-availability-zone-affinity">Configuring Availability Zone affinity</a> in the <i>Amazon Web Services RTB Fabric User Guide</i>.</p><br>
    /// - On success, responds with [`CreateResponderGatewayOutput`](crate::operation::create_responder_gateway::CreateResponderGatewayOutput) with field(s):
    ///   - [`gateway_id(String)`](crate::operation::create_responder_gateway::CreateResponderGatewayOutput::gateway_id): <p>The unique identifier of the gateway.</p>
    ///   - [`status(ResponderGatewayStatus)`](crate::operation::create_responder_gateway::CreateResponderGatewayOutput::status): <p>The status of the request.</p>
    ///   - [`listener_config(Option<ListenerConfig>)`](crate::operation::create_responder_gateway::CreateResponderGatewayOutput::listener_config): <p>The listener configuration for the responder gateway.</p>
    ///   - [`external_inbound_endpoint(Option<String>)`](crate::operation::create_responder_gateway::CreateResponderGatewayOutput::external_inbound_endpoint): <p>The external inbound endpoint for the responder gateway.</p>
    ///   - [`client_routing_policy(Option<ClientRoutingPolicy>)`](crate::operation::create_responder_gateway::CreateResponderGatewayOutput::client_routing_policy): <p>The client routing policy of the gateway. This policy controls which Availability Zones RTB Fabric uses to reach the gateway for the requester gateways that send traffic to it. For more information, see <a href="https://docs.aws.amazon.com/rtb-fabric/latest/userguide/working-with-responder-gateways.html#configuring-availability-zone-affinity">Configuring Availability Zone affinity</a> in the <i>Amazon Web Services RTB Fabric User Guide</i>.</p>
    /// - On failure, responds with [`SdkError<CreateResponderGatewayError>`](crate::operation::create_responder_gateway::CreateResponderGatewayError)
    pub fn create_responder_gateway(&self) -> crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder {
        crate::operation::create_responder_gateway::builders::CreateResponderGatewayFluentBuilder::new(self.handle.clone())
    }
}