#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct ApiDestination {
#[doc(hidden)]
pub api_destination_arn: ::std::option::Option<::std::string::String>,
#[doc(hidden)]
pub name: ::std::option::Option<::std::string::String>,
#[doc(hidden)]
pub api_destination_state: ::std::option::Option<crate::types::ApiDestinationState>,
#[doc(hidden)]
pub connection_arn: ::std::option::Option<::std::string::String>,
#[doc(hidden)]
pub invocation_endpoint: ::std::option::Option<::std::string::String>,
#[doc(hidden)]
pub http_method: ::std::option::Option<crate::types::ApiDestinationHttpMethod>,
#[doc(hidden)]
pub invocation_rate_limit_per_second: ::std::option::Option<i32>,
#[doc(hidden)]
pub creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
#[doc(hidden)]
pub last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
}
impl ApiDestination {
pub fn api_destination_arn(&self) -> ::std::option::Option<&str> {
self.api_destination_arn.as_deref()
}
pub fn name(&self) -> ::std::option::Option<&str> {
self.name.as_deref()
}
pub fn api_destination_state(
&self,
) -> ::std::option::Option<&crate::types::ApiDestinationState> {
self.api_destination_state.as_ref()
}
pub fn connection_arn(&self) -> ::std::option::Option<&str> {
self.connection_arn.as_deref()
}
pub fn invocation_endpoint(&self) -> ::std::option::Option<&str> {
self.invocation_endpoint.as_deref()
}
pub fn http_method(&self) -> ::std::option::Option<&crate::types::ApiDestinationHttpMethod> {
self.http_method.as_ref()
}
pub fn invocation_rate_limit_per_second(&self) -> ::std::option::Option<i32> {
self.invocation_rate_limit_per_second
}
pub fn creation_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.creation_time.as_ref()
}
pub fn last_modified_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.last_modified_time.as_ref()
}
}
impl ApiDestination {
pub fn builder() -> crate::types::builders::ApiDestinationBuilder {
crate::types::builders::ApiDestinationBuilder::default()
}
}
#[non_exhaustive]
#[derive(
::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug,
)]
pub struct ApiDestinationBuilder {
pub(crate) api_destination_arn: ::std::option::Option<::std::string::String>,
pub(crate) name: ::std::option::Option<::std::string::String>,
pub(crate) api_destination_state: ::std::option::Option<crate::types::ApiDestinationState>,
pub(crate) connection_arn: ::std::option::Option<::std::string::String>,
pub(crate) invocation_endpoint: ::std::option::Option<::std::string::String>,
pub(crate) http_method: ::std::option::Option<crate::types::ApiDestinationHttpMethod>,
pub(crate) invocation_rate_limit_per_second: ::std::option::Option<i32>,
pub(crate) creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
}
impl ApiDestinationBuilder {
pub fn api_destination_arn(
mut self,
input: impl ::std::convert::Into<::std::string::String>,
) -> Self {
self.api_destination_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_api_destination_arn(
mut self,
input: ::std::option::Option<::std::string::String>,
) -> Self {
self.api_destination_arn = input;
self
}
pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.name = ::std::option::Option::Some(input.into());
self
}
pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.name = input;
self
}
pub fn api_destination_state(mut self, input: crate::types::ApiDestinationState) -> Self {
self.api_destination_state = ::std::option::Option::Some(input);
self
}
pub fn set_api_destination_state(
mut self,
input: ::std::option::Option<crate::types::ApiDestinationState>,
) -> Self {
self.api_destination_state = input;
self
}
pub fn connection_arn(
mut self,
input: impl ::std::convert::Into<::std::string::String>,
) -> Self {
self.connection_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_connection_arn(
mut self,
input: ::std::option::Option<::std::string::String>,
) -> Self {
self.connection_arn = input;
self
}
pub fn invocation_endpoint(
mut self,
input: impl ::std::convert::Into<::std::string::String>,
) -> Self {
self.invocation_endpoint = ::std::option::Option::Some(input.into());
self
}
pub fn set_invocation_endpoint(
mut self,
input: ::std::option::Option<::std::string::String>,
) -> Self {
self.invocation_endpoint = input;
self
}
pub fn http_method(mut self, input: crate::types::ApiDestinationHttpMethod) -> Self {
self.http_method = ::std::option::Option::Some(input);
self
}
pub fn set_http_method(
mut self,
input: ::std::option::Option<crate::types::ApiDestinationHttpMethod>,
) -> Self {
self.http_method = input;
self
}
pub fn invocation_rate_limit_per_second(mut self, input: i32) -> Self {
self.invocation_rate_limit_per_second = ::std::option::Option::Some(input);
self
}
pub fn set_invocation_rate_limit_per_second(
mut self,
input: ::std::option::Option<i32>,
) -> Self {
self.invocation_rate_limit_per_second = input;
self
}
pub fn creation_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.creation_time = ::std::option::Option::Some(input);
self
}
pub fn set_creation_time(
mut self,
input: ::std::option::Option<::aws_smithy_types::DateTime>,
) -> Self {
self.creation_time = input;
self
}
pub fn last_modified_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.last_modified_time = ::std::option::Option::Some(input);
self
}
pub fn set_last_modified_time(
mut self,
input: ::std::option::Option<::aws_smithy_types::DateTime>,
) -> Self {
self.last_modified_time = input;
self
}
pub fn build(self) -> crate::types::ApiDestination {
crate::types::ApiDestination {
api_destination_arn: self.api_destination_arn,
name: self.name,
api_destination_state: self.api_destination_state,
connection_arn: self.connection_arn,
invocation_endpoint: self.invocation_endpoint,
http_method: self.http_method,
invocation_rate_limit_per_second: self.invocation_rate_limit_per_second,
creation_time: self.creation_time,
last_modified_time: self.last_modified_time,
}
}
}