aws-sdk-rtbfabric 1.24.0

AWS SDK for RTBFabric
Documentation
// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
#[allow(missing_docs)] // documentation missing in model
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct CreateResponderGatewayInput {
    /// <p>The unique identifier of the Virtual Private Cloud (VPC).</p>
    pub vpc_id: ::std::option::Option<::std::string::String>,
    /// <p>The unique identifiers of the subnets.</p>
    pub subnet_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    /// <p>The unique identifiers of the security groups.</p>
    pub security_group_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    /// <p>The domain name for the responder gateway.</p>
    pub domain_name: ::std::option::Option<::std::string::String>,
    /// <p>The networking port to use.</p>
    pub port: ::std::option::Option<i32>,
    /// <p>The networking protocol to use.</p>
    pub protocol: ::std::option::Option<crate::types::Protocol>,
    /// <p>Listener configuration for the protocols (HTTP, HTTPS, or both) accepted by the gateway.</p>
    pub listener_config: ::std::option::Option<crate::types::ListenerConfig>,
    /// <p>The configuration of the trust store.</p>
    pub trust_store_configuration: ::std::option::Option<crate::types::TrustStoreConfiguration>,
    /// <p>The configuration for the managed endpoint.</p>
    pub managed_endpoint_configuration: ::std::option::Option<crate::types::ManagedEndpointConfiguration>,
    /// <p>The unique client token.</p>
    pub client_token: ::std::option::Option<::std::string::String>,
    /// <p>An optional description for the responder gateway.</p>
    pub description: ::std::option::Option<::std::string::String>,
    /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
    /// <p>The type of gateway. Valid values are <code>EXTERNAL</code> or <code>INTERNAL</code>.</p>
    pub gateway_type: ::std::option::Option<crate::types::GatewayType>,
}
impl CreateResponderGatewayInput {
    /// <p>The unique identifier of the Virtual Private Cloud (VPC).</p>
    pub fn vpc_id(&self) -> ::std::option::Option<&str> {
        self.vpc_id.as_deref()
    }
    /// <p>The unique identifiers of the subnets.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.subnet_ids.is_none()`.
    pub fn subnet_ids(&self) -> &[::std::string::String] {
        self.subnet_ids.as_deref().unwrap_or_default()
    }
    /// <p>The unique identifiers of the security groups.</p>
    ///
    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.security_group_ids.is_none()`.
    pub fn security_group_ids(&self) -> &[::std::string::String] {
        self.security_group_ids.as_deref().unwrap_or_default()
    }
    /// <p>The domain name for the responder gateway.</p>
    pub fn domain_name(&self) -> ::std::option::Option<&str> {
        self.domain_name.as_deref()
    }
    /// <p>The networking port to use.</p>
    pub fn port(&self) -> ::std::option::Option<i32> {
        self.port
    }
    /// <p>The networking protocol to use.</p>
    pub fn protocol(&self) -> ::std::option::Option<&crate::types::Protocol> {
        self.protocol.as_ref()
    }
    /// <p>Listener configuration for the protocols (HTTP, HTTPS, or both) accepted by the gateway.</p>
    pub fn listener_config(&self) -> ::std::option::Option<&crate::types::ListenerConfig> {
        self.listener_config.as_ref()
    }
    /// <p>The configuration of the trust store.</p>
    pub fn trust_store_configuration(&self) -> ::std::option::Option<&crate::types::TrustStoreConfiguration> {
        self.trust_store_configuration.as_ref()
    }
    /// <p>The configuration for the managed endpoint.</p>
    pub fn managed_endpoint_configuration(&self) -> ::std::option::Option<&crate::types::ManagedEndpointConfiguration> {
        self.managed_endpoint_configuration.as_ref()
    }
    /// <p>The unique client token.</p>
    pub fn client_token(&self) -> ::std::option::Option<&str> {
        self.client_token.as_deref()
    }
    /// <p>An optional description for the responder gateway.</p>
    pub fn description(&self) -> ::std::option::Option<&str> {
        self.description.as_deref()
    }
    /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
        self.tags.as_ref()
    }
    /// <p>The type of gateway. Valid values are <code>EXTERNAL</code> or <code>INTERNAL</code>.</p>
    pub fn gateway_type(&self) -> ::std::option::Option<&crate::types::GatewayType> {
        self.gateway_type.as_ref()
    }
}
impl CreateResponderGatewayInput {
    /// Creates a new builder-style object to manufacture [`CreateResponderGatewayInput`](crate::operation::create_responder_gateway::CreateResponderGatewayInput).
    pub fn builder() -> crate::operation::create_responder_gateway::builders::CreateResponderGatewayInputBuilder {
        crate::operation::create_responder_gateway::builders::CreateResponderGatewayInputBuilder::default()
    }
}

/// A builder for [`CreateResponderGatewayInput`](crate::operation::create_responder_gateway::CreateResponderGatewayInput).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
#[non_exhaustive]
pub struct CreateResponderGatewayInputBuilder {
    pub(crate) vpc_id: ::std::option::Option<::std::string::String>,
    pub(crate) subnet_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    pub(crate) security_group_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
    pub(crate) domain_name: ::std::option::Option<::std::string::String>,
    pub(crate) port: ::std::option::Option<i32>,
    pub(crate) protocol: ::std::option::Option<crate::types::Protocol>,
    pub(crate) listener_config: ::std::option::Option<crate::types::ListenerConfig>,
    pub(crate) trust_store_configuration: ::std::option::Option<crate::types::TrustStoreConfiguration>,
    pub(crate) managed_endpoint_configuration: ::std::option::Option<crate::types::ManagedEndpointConfiguration>,
    pub(crate) client_token: ::std::option::Option<::std::string::String>,
    pub(crate) description: ::std::option::Option<::std::string::String>,
    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
    pub(crate) gateway_type: ::std::option::Option<crate::types::GatewayType>,
}
impl CreateResponderGatewayInputBuilder {
    /// <p>The unique identifier of the Virtual Private Cloud (VPC).</p>
    /// This field is required.
    pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.vpc_id = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique identifier of the Virtual Private Cloud (VPC).</p>
    pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.vpc_id = input;
        self
    }
    /// <p>The unique identifier of the Virtual Private Cloud (VPC).</p>
    pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
        &self.vpc_id
    }
    /// Appends an item to `subnet_ids`.
    ///
    /// To override the contents of this collection use [`set_subnet_ids`](Self::set_subnet_ids).
    ///
    /// <p>The unique identifiers of the subnets.</p>
    pub fn subnet_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        let mut v = self.subnet_ids.unwrap_or_default();
        v.push(input.into());
        self.subnet_ids = ::std::option::Option::Some(v);
        self
    }
    /// <p>The unique identifiers of the subnets.</p>
    pub fn set_subnet_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
        self.subnet_ids = input;
        self
    }
    /// <p>The unique identifiers of the subnets.</p>
    pub fn get_subnet_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
        &self.subnet_ids
    }
    /// Appends an item to `security_group_ids`.
    ///
    /// To override the contents of this collection use [`set_security_group_ids`](Self::set_security_group_ids).
    ///
    /// <p>The unique identifiers of the security groups.</p>
    pub fn security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        let mut v = self.security_group_ids.unwrap_or_default();
        v.push(input.into());
        self.security_group_ids = ::std::option::Option::Some(v);
        self
    }
    /// <p>The unique identifiers of the security groups.</p>
    pub fn set_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
        self.security_group_ids = input;
        self
    }
    /// <p>The unique identifiers of the security groups.</p>
    pub fn get_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
        &self.security_group_ids
    }
    /// <p>The domain name for the responder gateway.</p>
    pub fn domain_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.domain_name = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The domain name for the responder gateway.</p>
    pub fn set_domain_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.domain_name = input;
        self
    }
    /// <p>The domain name for the responder gateway.</p>
    pub fn get_domain_name(&self) -> &::std::option::Option<::std::string::String> {
        &self.domain_name
    }
    /// <p>The networking port to use.</p>
    /// This field is required.
    pub fn port(mut self, input: i32) -> Self {
        self.port = ::std::option::Option::Some(input);
        self
    }
    /// <p>The networking port to use.</p>
    pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
        self.port = input;
        self
    }
    /// <p>The networking port to use.</p>
    pub fn get_port(&self) -> &::std::option::Option<i32> {
        &self.port
    }
    /// <p>The networking protocol to use.</p>
    /// This field is required.
    pub fn protocol(mut self, input: crate::types::Protocol) -> Self {
        self.protocol = ::std::option::Option::Some(input);
        self
    }
    /// <p>The networking protocol to use.</p>
    pub fn set_protocol(mut self, input: ::std::option::Option<crate::types::Protocol>) -> Self {
        self.protocol = input;
        self
    }
    /// <p>The networking protocol to use.</p>
    pub fn get_protocol(&self) -> &::std::option::Option<crate::types::Protocol> {
        &self.protocol
    }
    /// <p>Listener configuration for the protocols (HTTP, HTTPS, or both) accepted by the gateway.</p>
    pub fn listener_config(mut self, input: crate::types::ListenerConfig) -> Self {
        self.listener_config = ::std::option::Option::Some(input);
        self
    }
    /// <p>Listener configuration for the protocols (HTTP, HTTPS, or both) accepted by the gateway.</p>
    pub fn set_listener_config(mut self, input: ::std::option::Option<crate::types::ListenerConfig>) -> Self {
        self.listener_config = input;
        self
    }
    /// <p>Listener configuration for the protocols (HTTP, HTTPS, or both) accepted by the gateway.</p>
    pub fn get_listener_config(&self) -> &::std::option::Option<crate::types::ListenerConfig> {
        &self.listener_config
    }
    /// <p>The configuration of the trust store.</p>
    pub fn trust_store_configuration(mut self, input: crate::types::TrustStoreConfiguration) -> Self {
        self.trust_store_configuration = ::std::option::Option::Some(input);
        self
    }
    /// <p>The configuration of the trust store.</p>
    pub fn set_trust_store_configuration(mut self, input: ::std::option::Option<crate::types::TrustStoreConfiguration>) -> Self {
        self.trust_store_configuration = input;
        self
    }
    /// <p>The configuration of the trust store.</p>
    pub fn get_trust_store_configuration(&self) -> &::std::option::Option<crate::types::TrustStoreConfiguration> {
        &self.trust_store_configuration
    }
    /// <p>The configuration for the managed endpoint.</p>
    pub fn managed_endpoint_configuration(mut self, input: crate::types::ManagedEndpointConfiguration) -> Self {
        self.managed_endpoint_configuration = ::std::option::Option::Some(input);
        self
    }
    /// <p>The configuration for the managed endpoint.</p>
    pub fn set_managed_endpoint_configuration(mut self, input: ::std::option::Option<crate::types::ManagedEndpointConfiguration>) -> Self {
        self.managed_endpoint_configuration = input;
        self
    }
    /// <p>The configuration for the managed endpoint.</p>
    pub fn get_managed_endpoint_configuration(&self) -> &::std::option::Option<crate::types::ManagedEndpointConfiguration> {
        &self.managed_endpoint_configuration
    }
    /// <p>The unique client token.</p>
    /// This field is required.
    pub fn client_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.client_token = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>The unique client token.</p>
    pub fn set_client_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.client_token = input;
        self
    }
    /// <p>The unique client token.</p>
    pub fn get_client_token(&self) -> &::std::option::Option<::std::string::String> {
        &self.client_token
    }
    /// <p>An optional description for the responder gateway.</p>
    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
        self.description = ::std::option::Option::Some(input.into());
        self
    }
    /// <p>An optional description for the responder gateway.</p>
    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
        self.description = input;
        self
    }
    /// <p>An optional description for the responder gateway.</p>
    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
        &self.description
    }
    /// Adds a key-value pair to `tags`.
    ///
    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
    ///
    /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
        let mut hash_map = self.tags.unwrap_or_default();
        hash_map.insert(k.into(), v.into());
        self.tags = ::std::option::Option::Some(hash_map);
        self
    }
    /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
        self.tags = input;
        self
    }
    /// <p>A map of the key-value pairs of the tag or tags to assign to the resource.</p>
    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
        &self.tags
    }
    /// <p>The type of gateway. Valid values are <code>EXTERNAL</code> or <code>INTERNAL</code>.</p>
    pub fn gateway_type(mut self, input: crate::types::GatewayType) -> Self {
        self.gateway_type = ::std::option::Option::Some(input);
        self
    }
    /// <p>The type of gateway. Valid values are <code>EXTERNAL</code> or <code>INTERNAL</code>.</p>
    pub fn set_gateway_type(mut self, input: ::std::option::Option<crate::types::GatewayType>) -> Self {
        self.gateway_type = input;
        self
    }
    /// <p>The type of gateway. Valid values are <code>EXTERNAL</code> or <code>INTERNAL</code>.</p>
    pub fn get_gateway_type(&self) -> &::std::option::Option<crate::types::GatewayType> {
        &self.gateway_type
    }
    /// Consumes the builder and constructs a [`CreateResponderGatewayInput`](crate::operation::create_responder_gateway::CreateResponderGatewayInput).
    pub fn build(
        self,
    ) -> ::std::result::Result<
        crate::operation::create_responder_gateway::CreateResponderGatewayInput,
        ::aws_smithy_types::error::operation::BuildError,
    > {
        ::std::result::Result::Ok(crate::operation::create_responder_gateway::CreateResponderGatewayInput {
            vpc_id: self.vpc_id,
            subnet_ids: self.subnet_ids,
            security_group_ids: self.security_group_ids,
            domain_name: self.domain_name,
            port: self.port,
            protocol: self.protocol,
            listener_config: self.listener_config,
            trust_store_configuration: self.trust_store_configuration,
            managed_endpoint_configuration: self.managed_endpoint_configuration,
            client_token: self.client_token,
            description: self.description,
            tags: self.tags,
            gateway_type: self.gateway_type,
        })
    }
}