1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
impl super::Client {
    /// Constructs a fluent builder for the [`UpdateRoute`](crate::operation::update_route::builders::UpdateRouteFluentBuilder) operation.
    ///
    /// - The fluent builder is configurable:
    ///   - [`api_id(impl Into<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::api_id) / [`set_api_id(Option<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_api_id):<br>required: **true**<br><p>The API identifier.</p><br>
    ///   - [`api_key_required(bool)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::api_key_required) / [`set_api_key_required(Option<bool>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_api_key_required):<br>required: **false**<br><p>Specifies whether an API key is required for the route. Supported only for WebSocket APIs.</p><br>
    ///   - [`authorization_scopes(impl Into<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::authorization_scopes) / [`set_authorization_scopes(Option<Vec::<String>>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_authorization_scopes):<br>required: **false**<br><p>The authorization scopes supported by this route.</p><br>
    ///   - [`authorization_type(AuthorizationType)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::authorization_type) / [`set_authorization_type(Option<AuthorizationType>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_authorization_type):<br>required: **false**<br><p>The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.</p><br>
    ///   - [`authorizer_id(impl Into<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::authorizer_id) / [`set_authorizer_id(Option<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_authorizer_id):<br>required: **false**<br><p>The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.</p><br>
    ///   - [`model_selection_expression(impl Into<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::model_selection_expression) / [`set_model_selection_expression(Option<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_model_selection_expression):<br>required: **false**<br><p>The model selection expression for the route. Supported only for WebSocket APIs.</p><br>
    ///   - [`operation_name(impl Into<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::operation_name) / [`set_operation_name(Option<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_operation_name):<br>required: **false**<br><p>The operation name for the route.</p><br>
    ///   - [`request_models(impl Into<String>, impl Into<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::request_models) / [`set_request_models(Option<HashMap::<String, String>>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_request_models):<br>required: **false**<br><p>The request models for the route. Supported only for WebSocket APIs.</p><br>
    ///   - [`request_parameters(impl Into<String>, ParameterConstraints)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::request_parameters) / [`set_request_parameters(Option<HashMap::<String, ParameterConstraints>>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_request_parameters):<br>required: **false**<br><p>The request parameters for the route. Supported only for WebSocket APIs.</p><br>
    ///   - [`route_id(impl Into<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::route_id) / [`set_route_id(Option<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_route_id):<br>required: **true**<br><p>The route ID.</p><br>
    ///   - [`route_key(impl Into<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::route_key) / [`set_route_key(Option<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_route_key):<br>required: **false**<br><p>The route key for the route.</p><br>
    ///   - [`route_response_selection_expression(impl Into<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::route_response_selection_expression) / [`set_route_response_selection_expression(Option<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_route_response_selection_expression):<br>required: **false**<br><p>The route response selection expression for the route. Supported only for WebSocket APIs.</p><br>
    ///   - [`target(impl Into<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::target) / [`set_target(Option<String>)`](crate::operation::update_route::builders::UpdateRouteFluentBuilder::set_target):<br>required: **false**<br><p>The target for the route.</p><br>
    /// - On success, responds with [`UpdateRouteOutput`](crate::operation::update_route::UpdateRouteOutput) with field(s):
    ///   - [`api_gateway_managed(Option<bool>)`](crate::operation::update_route::UpdateRouteOutput::api_gateway_managed): <p>Specifies whether a route is managed by API Gateway. If you created an API using quick create, the $default route is managed by API Gateway. You can't modify the $default route key.</p>
    ///   - [`api_key_required(Option<bool>)`](crate::operation::update_route::UpdateRouteOutput::api_key_required): <p>Specifies whether an API key is required for this route. Supported only for WebSocket APIs.</p>
    ///   - [`authorization_scopes(Option<Vec::<String>>)`](crate::operation::update_route::UpdateRouteOutput::authorization_scopes): <p>A list of authorization scopes configured on a route. The scopes are used with a JWT authorizer to authorize the method invocation. The authorization works by matching the route scopes against the scopes parsed from the access token in the incoming request. The method invocation is authorized if any route scope matches a claimed scope in the access token. Otherwise, the invocation is not authorized. When the route scope is configured, the client must provide an access token instead of an identity token for authorization purposes.</p>
    ///   - [`authorization_type(Option<AuthorizationType>)`](crate::operation::update_route::UpdateRouteOutput::authorization_type): <p>The authorization type for the route. For WebSocket APIs, valid values are NONE for open access, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer For HTTP APIs, valid values are NONE for open access, JWT for using JSON Web Tokens, AWS_IAM for using AWS IAM permissions, and CUSTOM for using a Lambda authorizer.</p>
    ///   - [`authorizer_id(Option<String>)`](crate::operation::update_route::UpdateRouteOutput::authorizer_id): <p>The identifier of the Authorizer resource to be associated with this route. The authorizer identifier is generated by API Gateway when you created the authorizer.</p>
    ///   - [`model_selection_expression(Option<String>)`](crate::operation::update_route::UpdateRouteOutput::model_selection_expression): <p>The model selection expression for the route. Supported only for WebSocket APIs.</p>
    ///   - [`operation_name(Option<String>)`](crate::operation::update_route::UpdateRouteOutput::operation_name): <p>The operation name for the route.</p>
    ///   - [`request_models(Option<HashMap::<String, String>>)`](crate::operation::update_route::UpdateRouteOutput::request_models): <p>The request models for the route. Supported only for WebSocket APIs.</p>
    ///   - [`request_parameters(Option<HashMap::<String, ParameterConstraints>>)`](crate::operation::update_route::UpdateRouteOutput::request_parameters): <p>The request parameters for the route. Supported only for WebSocket APIs.</p>
    ///   - [`route_id(Option<String>)`](crate::operation::update_route::UpdateRouteOutput::route_id): <p>The route ID.</p>
    ///   - [`route_key(Option<String>)`](crate::operation::update_route::UpdateRouteOutput::route_key): <p>The route key for the route.</p>
    ///   - [`route_response_selection_expression(Option<String>)`](crate::operation::update_route::UpdateRouteOutput::route_response_selection_expression): <p>The route response selection expression for the route. Supported only for WebSocket APIs.</p>
    ///   - [`target(Option<String>)`](crate::operation::update_route::UpdateRouteOutput::target): <p>The target for the route.</p>
    /// - On failure, responds with [`SdkError<UpdateRouteError>`](crate::operation::update_route::UpdateRouteError)
    pub fn update_route(&self) -> crate::operation::update_route::builders::UpdateRouteFluentBuilder {
        crate::operation::update_route::builders::UpdateRouteFluentBuilder::new(self.handle.clone())
    }
}