aws_sdk_bedrockagentcorecontrol/client/
create_gateway.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2impl super::Client {
3    /// Constructs a fluent builder for the [`CreateGateway`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder) operation.
4    ///
5    /// - The fluent builder is configurable:
6    ///   - [`name(impl Into<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::name) / [`set_name(Option<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_name):<br>required: **true**<br><p>The name of the gateway. The name must be unique within your account.</p><br>
7    ///   - [`description(impl Into<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::description) / [`set_description(Option<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_description):<br>required: **false**<br><p>The description of the gateway.</p><br>
8    ///   - [`client_token(impl Into<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::client_token) / [`set_client_token(Option<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_client_token):<br>required: **false**<br><p>A unique, case-sensitive identifier to ensure that the API request completes no more than one time. If you don't specify this field, a value is randomly generated for you. If this token matches a previous request, the service ignores the request, but doesn't return an error. For more information, see <a href="https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html">Ensuring idempotency</a>.</p><br>
9    ///   - [`role_arn(impl Into<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::role_arn) / [`set_role_arn(Option<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_role_arn):<br>required: **true**<br><p>The Amazon Resource Name (ARN) of the IAM role that provides permissions for the gateway to access Amazon Web Services services.</p><br>
10    ///   - [`protocol_type(GatewayProtocolType)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::protocol_type) / [`set_protocol_type(Option<GatewayProtocolType>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_protocol_type):<br>required: **true**<br><p>The protocol type for the gateway.</p><br>
11    ///   - [`protocol_configuration(GatewayProtocolConfiguration)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::protocol_configuration) / [`set_protocol_configuration(Option<GatewayProtocolConfiguration>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_protocol_configuration):<br>required: **false**<br><p>The configuration settings for the protocol specified in the <code>protocolType</code> parameter.</p><br>
12    ///   - [`authorizer_type(AuthorizerType)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::authorizer_type) / [`set_authorizer_type(Option<AuthorizerType>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_authorizer_type):<br>required: **true**<br><p>The type of authorizer to use for the gateway.</p> <ul>  <li>   <p><code>CUSTOM_JWT</code> - Authorize with a bearer token.</p></li>  <li>   <p><code>AWS_IAM</code> - Authorize with your Amazon Web Services IAM credentials.</p></li> </ul><br>
13    ///   - [`authorizer_configuration(AuthorizerConfiguration)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::authorizer_configuration) / [`set_authorizer_configuration(Option<AuthorizerConfiguration>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_authorizer_configuration):<br>required: **false**<br><p>The authorizer configuration for the gateway. Required if <code>authorizerType</code> is <code>CUSTOM_JWT</code>.</p><br>
14    ///   - [`kms_key_arn(impl Into<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::kms_key_arn) / [`set_kms_key_arn(Option<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_kms_key_arn):<br>required: **false**<br><p>The Amazon Resource Name (ARN) of the KMS key used to encrypt data associated with the gateway.</p><br>
15    ///   - [`exception_level(ExceptionLevel)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::exception_level) / [`set_exception_level(Option<ExceptionLevel>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_exception_level):<br>required: **false**<br><p>The level of detail in error messages returned when invoking the gateway.</p> <ul>  <li>   <p>If the value is <code>DEBUG</code>, granular exception messages are returned to help a user debug the gateway.</p></li>  <li>   <p>If the value is omitted, a generic error message is returned to the end user.</p></li> </ul><br>
16    ///   - [`tags(impl Into<String>, impl Into<String>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::tags) / [`set_tags(Option<HashMap::<String, String>>)`](crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::set_tags):<br>required: **false**<br><p>A map of key-value pairs to associate with the gateway as metadata tags.</p><br>
17    /// - On success, responds with [`CreateGatewayOutput`](crate::operation::create_gateway::CreateGatewayOutput) with field(s):
18    ///   - [`gateway_arn(String)`](crate::operation::create_gateway::CreateGatewayOutput::gateway_arn): <p>The Amazon Resource Name (ARN) of the created gateway.</p>
19    ///   - [`gateway_id(String)`](crate::operation::create_gateway::CreateGatewayOutput::gateway_id): <p>The unique identifier of the created gateway.</p>
20    ///   - [`gateway_url(Option<String>)`](crate::operation::create_gateway::CreateGatewayOutput::gateway_url): <p>The URL endpoint for the created gateway.</p>
21    ///   - [`created_at(DateTime)`](crate::operation::create_gateway::CreateGatewayOutput::created_at): <p>The timestamp when the gateway was created.</p>
22    ///   - [`updated_at(DateTime)`](crate::operation::create_gateway::CreateGatewayOutput::updated_at): <p>The timestamp when the gateway was last updated.</p>
23    ///   - [`status(GatewayStatus)`](crate::operation::create_gateway::CreateGatewayOutput::status): <p>The current status of the gateway.</p>
24    ///   - [`status_reasons(Option<Vec::<String>>)`](crate::operation::create_gateway::CreateGatewayOutput::status_reasons): <p>The reasons for the current status of the gateway.</p>
25    ///   - [`name(String)`](crate::operation::create_gateway::CreateGatewayOutput::name): <p>The name of the gateway.</p>
26    ///   - [`description(Option<String>)`](crate::operation::create_gateway::CreateGatewayOutput::description): <p>The description of the gateway.</p>
27    ///   - [`role_arn(Option<String>)`](crate::operation::create_gateway::CreateGatewayOutput::role_arn): <p>The Amazon Resource Name (ARN) of the IAM role associated with the gateway.</p>
28    ///   - [`protocol_type(GatewayProtocolType)`](crate::operation::create_gateway::CreateGatewayOutput::protocol_type): <p>The protocol type of the gateway.</p>
29    ///   - [`protocol_configuration(Option<GatewayProtocolConfiguration>)`](crate::operation::create_gateway::CreateGatewayOutput::protocol_configuration): <p>The configuration settings for the protocol used by the gateway.</p>
30    ///   - [`authorizer_type(AuthorizerType)`](crate::operation::create_gateway::CreateGatewayOutput::authorizer_type): <p>The type of authorizer used by the gateway.</p>
31    ///   - [`authorizer_configuration(Option<AuthorizerConfiguration>)`](crate::operation::create_gateway::CreateGatewayOutput::authorizer_configuration): <p>The authorizer configuration for the created gateway.</p>
32    ///   - [`kms_key_arn(Option<String>)`](crate::operation::create_gateway::CreateGatewayOutput::kms_key_arn): <p>The Amazon Resource Name (ARN) of the KMS key used to encrypt data associated with the gateway.</p>
33    ///   - [`workload_identity_details(Option<WorkloadIdentityDetails>)`](crate::operation::create_gateway::CreateGatewayOutput::workload_identity_details): <p>The workload identity details for the created gateway.</p>
34    ///   - [`exception_level(Option<ExceptionLevel>)`](crate::operation::create_gateway::CreateGatewayOutput::exception_level): <p>The level of detail in error messages returned when invoking the gateway.</p> <ul>  <li>   <p>If the value is <code>DEBUG</code>, granular exception messages are returned to help a user debug the gateway.</p></li>  <li>   <p>If the value is omitted, a generic error message is returned to the end user.</p></li> </ul>
35    /// - On failure, responds with [`SdkError<CreateGatewayError>`](crate::operation::create_gateway::CreateGatewayError)
36    pub fn create_gateway(&self) -> crate::operation::create_gateway::builders::CreateGatewayFluentBuilder {
37        crate::operation::create_gateway::builders::CreateGatewayFluentBuilder::new(self.handle.clone())
38    }
39}