#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
pub struct Explanation {
pub acl: ::std::option::Option<crate::types::AnalysisComponent>,
pub acl_rule: ::std::option::Option<crate::types::AnalysisAclRule>,
pub address: ::std::option::Option<::std::string::String>,
pub addresses: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub attached_to: ::std::option::Option<crate::types::AnalysisComponent>,
pub availability_zones: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub cidrs: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub component: ::std::option::Option<crate::types::AnalysisComponent>,
pub customer_gateway: ::std::option::Option<crate::types::AnalysisComponent>,
pub destination: ::std::option::Option<crate::types::AnalysisComponent>,
pub destination_vpc: ::std::option::Option<crate::types::AnalysisComponent>,
pub direction: ::std::option::Option<::std::string::String>,
pub explanation_code: ::std::option::Option<::std::string::String>,
pub ingress_route_table: ::std::option::Option<crate::types::AnalysisComponent>,
pub internet_gateway: ::std::option::Option<crate::types::AnalysisComponent>,
pub load_balancer_arn: ::std::option::Option<::std::string::String>,
pub classic_load_balancer_listener: ::std::option::Option<crate::types::AnalysisLoadBalancerListener>,
pub load_balancer_listener_port: ::std::option::Option<i32>,
pub load_balancer_target: ::std::option::Option<crate::types::AnalysisLoadBalancerTarget>,
pub load_balancer_target_group: ::std::option::Option<crate::types::AnalysisComponent>,
pub load_balancer_target_groups: ::std::option::Option<::std::vec::Vec<crate::types::AnalysisComponent>>,
pub load_balancer_target_port: ::std::option::Option<i32>,
pub elastic_load_balancer_listener: ::std::option::Option<crate::types::AnalysisComponent>,
pub missing_component: ::std::option::Option<::std::string::String>,
pub nat_gateway: ::std::option::Option<crate::types::AnalysisComponent>,
pub network_interface: ::std::option::Option<crate::types::AnalysisComponent>,
pub packet_field: ::std::option::Option<::std::string::String>,
pub vpc_peering_connection: ::std::option::Option<crate::types::AnalysisComponent>,
pub port: ::std::option::Option<i32>,
pub port_ranges: ::std::option::Option<::std::vec::Vec<crate::types::PortRange>>,
pub prefix_list: ::std::option::Option<crate::types::AnalysisComponent>,
pub protocols: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub route_table_route: ::std::option::Option<crate::types::AnalysisRouteTableRoute>,
pub route_table: ::std::option::Option<crate::types::AnalysisComponent>,
pub security_group: ::std::option::Option<crate::types::AnalysisComponent>,
pub security_group_rule: ::std::option::Option<crate::types::AnalysisSecurityGroupRule>,
pub security_groups: ::std::option::Option<::std::vec::Vec<crate::types::AnalysisComponent>>,
pub source_vpc: ::std::option::Option<crate::types::AnalysisComponent>,
pub state: ::std::option::Option<::std::string::String>,
pub subnet: ::std::option::Option<crate::types::AnalysisComponent>,
pub subnet_route_table: ::std::option::Option<crate::types::AnalysisComponent>,
pub vpc: ::std::option::Option<crate::types::AnalysisComponent>,
pub vpc_endpoint: ::std::option::Option<crate::types::AnalysisComponent>,
pub vpn_connection: ::std::option::Option<crate::types::AnalysisComponent>,
pub vpn_gateway: ::std::option::Option<crate::types::AnalysisComponent>,
pub transit_gateway: ::std::option::Option<crate::types::AnalysisComponent>,
pub transit_gateway_route_table: ::std::option::Option<crate::types::AnalysisComponent>,
pub transit_gateway_route_table_route: ::std::option::Option<crate::types::TransitGatewayRouteTableRoute>,
pub transit_gateway_attachment: ::std::option::Option<crate::types::AnalysisComponent>,
pub component_account: ::std::option::Option<::std::string::String>,
pub component_region: ::std::option::Option<::std::string::String>,
pub firewall_stateless_rule: ::std::option::Option<crate::types::FirewallStatelessRule>,
pub firewall_stateful_rule: ::std::option::Option<crate::types::FirewallStatefulRule>,
}
impl Explanation {
pub fn acl(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.acl.as_ref()
}
pub fn acl_rule(&self) -> ::std::option::Option<&crate::types::AnalysisAclRule> {
self.acl_rule.as_ref()
}
pub fn address(&self) -> ::std::option::Option<&str> {
self.address.as_deref()
}
pub fn addresses(&self) -> ::std::option::Option<&[::std::string::String]> {
self.addresses.as_deref()
}
pub fn attached_to(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.attached_to.as_ref()
}
pub fn availability_zones(&self) -> ::std::option::Option<&[::std::string::String]> {
self.availability_zones.as_deref()
}
pub fn cidrs(&self) -> ::std::option::Option<&[::std::string::String]> {
self.cidrs.as_deref()
}
pub fn component(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.component.as_ref()
}
pub fn customer_gateway(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.customer_gateway.as_ref()
}
pub fn destination(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.destination.as_ref()
}
pub fn destination_vpc(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.destination_vpc.as_ref()
}
pub fn direction(&self) -> ::std::option::Option<&str> {
self.direction.as_deref()
}
pub fn explanation_code(&self) -> ::std::option::Option<&str> {
self.explanation_code.as_deref()
}
pub fn ingress_route_table(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.ingress_route_table.as_ref()
}
pub fn internet_gateway(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.internet_gateway.as_ref()
}
pub fn load_balancer_arn(&self) -> ::std::option::Option<&str> {
self.load_balancer_arn.as_deref()
}
pub fn classic_load_balancer_listener(&self) -> ::std::option::Option<&crate::types::AnalysisLoadBalancerListener> {
self.classic_load_balancer_listener.as_ref()
}
pub fn load_balancer_listener_port(&self) -> ::std::option::Option<i32> {
self.load_balancer_listener_port
}
pub fn load_balancer_target(&self) -> ::std::option::Option<&crate::types::AnalysisLoadBalancerTarget> {
self.load_balancer_target.as_ref()
}
pub fn load_balancer_target_group(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.load_balancer_target_group.as_ref()
}
pub fn load_balancer_target_groups(&self) -> ::std::option::Option<&[crate::types::AnalysisComponent]> {
self.load_balancer_target_groups.as_deref()
}
pub fn load_balancer_target_port(&self) -> ::std::option::Option<i32> {
self.load_balancer_target_port
}
pub fn elastic_load_balancer_listener(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.elastic_load_balancer_listener.as_ref()
}
pub fn missing_component(&self) -> ::std::option::Option<&str> {
self.missing_component.as_deref()
}
pub fn nat_gateway(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.nat_gateway.as_ref()
}
pub fn network_interface(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.network_interface.as_ref()
}
pub fn packet_field(&self) -> ::std::option::Option<&str> {
self.packet_field.as_deref()
}
pub fn vpc_peering_connection(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.vpc_peering_connection.as_ref()
}
pub fn port(&self) -> ::std::option::Option<i32> {
self.port
}
pub fn port_ranges(&self) -> ::std::option::Option<&[crate::types::PortRange]> {
self.port_ranges.as_deref()
}
pub fn prefix_list(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.prefix_list.as_ref()
}
pub fn protocols(&self) -> ::std::option::Option<&[::std::string::String]> {
self.protocols.as_deref()
}
pub fn route_table_route(&self) -> ::std::option::Option<&crate::types::AnalysisRouteTableRoute> {
self.route_table_route.as_ref()
}
pub fn route_table(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.route_table.as_ref()
}
pub fn security_group(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.security_group.as_ref()
}
pub fn security_group_rule(&self) -> ::std::option::Option<&crate::types::AnalysisSecurityGroupRule> {
self.security_group_rule.as_ref()
}
pub fn security_groups(&self) -> ::std::option::Option<&[crate::types::AnalysisComponent]> {
self.security_groups.as_deref()
}
pub fn source_vpc(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.source_vpc.as_ref()
}
pub fn state(&self) -> ::std::option::Option<&str> {
self.state.as_deref()
}
pub fn subnet(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.subnet.as_ref()
}
pub fn subnet_route_table(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.subnet_route_table.as_ref()
}
pub fn vpc(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.vpc.as_ref()
}
pub fn vpc_endpoint(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.vpc_endpoint.as_ref()
}
pub fn vpn_connection(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.vpn_connection.as_ref()
}
pub fn vpn_gateway(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.vpn_gateway.as_ref()
}
pub fn transit_gateway(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.transit_gateway.as_ref()
}
pub fn transit_gateway_route_table(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.transit_gateway_route_table.as_ref()
}
pub fn transit_gateway_route_table_route(&self) -> ::std::option::Option<&crate::types::TransitGatewayRouteTableRoute> {
self.transit_gateway_route_table_route.as_ref()
}
pub fn transit_gateway_attachment(&self) -> ::std::option::Option<&crate::types::AnalysisComponent> {
self.transit_gateway_attachment.as_ref()
}
pub fn component_account(&self) -> ::std::option::Option<&str> {
self.component_account.as_deref()
}
pub fn component_region(&self) -> ::std::option::Option<&str> {
self.component_region.as_deref()
}
pub fn firewall_stateless_rule(&self) -> ::std::option::Option<&crate::types::FirewallStatelessRule> {
self.firewall_stateless_rule.as_ref()
}
pub fn firewall_stateful_rule(&self) -> ::std::option::Option<&crate::types::FirewallStatefulRule> {
self.firewall_stateful_rule.as_ref()
}
}
impl Explanation {
pub fn builder() -> crate::types::builders::ExplanationBuilder {
crate::types::builders::ExplanationBuilder::default()
}
}
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
pub struct ExplanationBuilder {
pub(crate) acl: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) acl_rule: ::std::option::Option<crate::types::AnalysisAclRule>,
pub(crate) address: ::std::option::Option<::std::string::String>,
pub(crate) addresses: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) attached_to: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) availability_zones: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) cidrs: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) component: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) customer_gateway: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) destination: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) destination_vpc: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) direction: ::std::option::Option<::std::string::String>,
pub(crate) explanation_code: ::std::option::Option<::std::string::String>,
pub(crate) ingress_route_table: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) internet_gateway: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) load_balancer_arn: ::std::option::Option<::std::string::String>,
pub(crate) classic_load_balancer_listener: ::std::option::Option<crate::types::AnalysisLoadBalancerListener>,
pub(crate) load_balancer_listener_port: ::std::option::Option<i32>,
pub(crate) load_balancer_target: ::std::option::Option<crate::types::AnalysisLoadBalancerTarget>,
pub(crate) load_balancer_target_group: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) load_balancer_target_groups: ::std::option::Option<::std::vec::Vec<crate::types::AnalysisComponent>>,
pub(crate) load_balancer_target_port: ::std::option::Option<i32>,
pub(crate) elastic_load_balancer_listener: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) missing_component: ::std::option::Option<::std::string::String>,
pub(crate) nat_gateway: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) network_interface: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) packet_field: ::std::option::Option<::std::string::String>,
pub(crate) vpc_peering_connection: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) port: ::std::option::Option<i32>,
pub(crate) port_ranges: ::std::option::Option<::std::vec::Vec<crate::types::PortRange>>,
pub(crate) prefix_list: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) protocols: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) route_table_route: ::std::option::Option<crate::types::AnalysisRouteTableRoute>,
pub(crate) route_table: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) security_group: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) security_group_rule: ::std::option::Option<crate::types::AnalysisSecurityGroupRule>,
pub(crate) security_groups: ::std::option::Option<::std::vec::Vec<crate::types::AnalysisComponent>>,
pub(crate) source_vpc: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) state: ::std::option::Option<::std::string::String>,
pub(crate) subnet: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) subnet_route_table: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) vpc: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) vpc_endpoint: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) vpn_connection: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) vpn_gateway: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) transit_gateway: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) transit_gateway_route_table: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) transit_gateway_route_table_route: ::std::option::Option<crate::types::TransitGatewayRouteTableRoute>,
pub(crate) transit_gateway_attachment: ::std::option::Option<crate::types::AnalysisComponent>,
pub(crate) component_account: ::std::option::Option<::std::string::String>,
pub(crate) component_region: ::std::option::Option<::std::string::String>,
pub(crate) firewall_stateless_rule: ::std::option::Option<crate::types::FirewallStatelessRule>,
pub(crate) firewall_stateful_rule: ::std::option::Option<crate::types::FirewallStatefulRule>,
}
impl ExplanationBuilder {
pub fn acl(mut self, input: crate::types::AnalysisComponent) -> Self {
self.acl = ::std::option::Option::Some(input);
self
}
pub fn set_acl(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.acl = input;
self
}
pub fn get_acl(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.acl
}
pub fn acl_rule(mut self, input: crate::types::AnalysisAclRule) -> Self {
self.acl_rule = ::std::option::Option::Some(input);
self
}
pub fn set_acl_rule(mut self, input: ::std::option::Option<crate::types::AnalysisAclRule>) -> Self {
self.acl_rule = input;
self
}
pub fn get_acl_rule(&self) -> &::std::option::Option<crate::types::AnalysisAclRule> {
&self.acl_rule
}
pub fn address(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.address = ::std::option::Option::Some(input.into());
self
}
pub fn set_address(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.address = input;
self
}
pub fn get_address(&self) -> &::std::option::Option<::std::string::String> {
&self.address
}
pub fn addresses(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.addresses.unwrap_or_default();
v.push(input.into());
self.addresses = ::std::option::Option::Some(v);
self
}
pub fn set_addresses(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.addresses = input;
self
}
pub fn get_addresses(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.addresses
}
pub fn attached_to(mut self, input: crate::types::AnalysisComponent) -> Self {
self.attached_to = ::std::option::Option::Some(input);
self
}
pub fn set_attached_to(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.attached_to = input;
self
}
pub fn get_attached_to(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.attached_to
}
pub fn availability_zones(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.availability_zones.unwrap_or_default();
v.push(input.into());
self.availability_zones = ::std::option::Option::Some(v);
self
}
pub fn set_availability_zones(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.availability_zones = input;
self
}
pub fn get_availability_zones(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.availability_zones
}
pub fn cidrs(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.cidrs.unwrap_or_default();
v.push(input.into());
self.cidrs = ::std::option::Option::Some(v);
self
}
pub fn set_cidrs(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.cidrs = input;
self
}
pub fn get_cidrs(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.cidrs
}
pub fn component(mut self, input: crate::types::AnalysisComponent) -> Self {
self.component = ::std::option::Option::Some(input);
self
}
pub fn set_component(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.component = input;
self
}
pub fn get_component(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.component
}
pub fn customer_gateway(mut self, input: crate::types::AnalysisComponent) -> Self {
self.customer_gateway = ::std::option::Option::Some(input);
self
}
pub fn set_customer_gateway(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.customer_gateway = input;
self
}
pub fn get_customer_gateway(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.customer_gateway
}
pub fn destination(mut self, input: crate::types::AnalysisComponent) -> Self {
self.destination = ::std::option::Option::Some(input);
self
}
pub fn set_destination(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.destination = input;
self
}
pub fn get_destination(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.destination
}
pub fn destination_vpc(mut self, input: crate::types::AnalysisComponent) -> Self {
self.destination_vpc = ::std::option::Option::Some(input);
self
}
pub fn set_destination_vpc(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.destination_vpc = input;
self
}
pub fn get_destination_vpc(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.destination_vpc
}
pub fn direction(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.direction = ::std::option::Option::Some(input.into());
self
}
pub fn set_direction(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.direction = input;
self
}
pub fn get_direction(&self) -> &::std::option::Option<::std::string::String> {
&self.direction
}
pub fn explanation_code(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.explanation_code = ::std::option::Option::Some(input.into());
self
}
pub fn set_explanation_code(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.explanation_code = input;
self
}
pub fn get_explanation_code(&self) -> &::std::option::Option<::std::string::String> {
&self.explanation_code
}
pub fn ingress_route_table(mut self, input: crate::types::AnalysisComponent) -> Self {
self.ingress_route_table = ::std::option::Option::Some(input);
self
}
pub fn set_ingress_route_table(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.ingress_route_table = input;
self
}
pub fn get_ingress_route_table(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.ingress_route_table
}
pub fn internet_gateway(mut self, input: crate::types::AnalysisComponent) -> Self {
self.internet_gateway = ::std::option::Option::Some(input);
self
}
pub fn set_internet_gateway(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.internet_gateway = input;
self
}
pub fn get_internet_gateway(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.internet_gateway
}
pub fn load_balancer_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.load_balancer_arn = ::std::option::Option::Some(input.into());
self
}
pub fn set_load_balancer_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.load_balancer_arn = input;
self
}
pub fn get_load_balancer_arn(&self) -> &::std::option::Option<::std::string::String> {
&self.load_balancer_arn
}
pub fn classic_load_balancer_listener(mut self, input: crate::types::AnalysisLoadBalancerListener) -> Self {
self.classic_load_balancer_listener = ::std::option::Option::Some(input);
self
}
pub fn set_classic_load_balancer_listener(mut self, input: ::std::option::Option<crate::types::AnalysisLoadBalancerListener>) -> Self {
self.classic_load_balancer_listener = input;
self
}
pub fn get_classic_load_balancer_listener(&self) -> &::std::option::Option<crate::types::AnalysisLoadBalancerListener> {
&self.classic_load_balancer_listener
}
pub fn load_balancer_listener_port(mut self, input: i32) -> Self {
self.load_balancer_listener_port = ::std::option::Option::Some(input);
self
}
pub fn set_load_balancer_listener_port(mut self, input: ::std::option::Option<i32>) -> Self {
self.load_balancer_listener_port = input;
self
}
pub fn get_load_balancer_listener_port(&self) -> &::std::option::Option<i32> {
&self.load_balancer_listener_port
}
pub fn load_balancer_target(mut self, input: crate::types::AnalysisLoadBalancerTarget) -> Self {
self.load_balancer_target = ::std::option::Option::Some(input);
self
}
pub fn set_load_balancer_target(mut self, input: ::std::option::Option<crate::types::AnalysisLoadBalancerTarget>) -> Self {
self.load_balancer_target = input;
self
}
pub fn get_load_balancer_target(&self) -> &::std::option::Option<crate::types::AnalysisLoadBalancerTarget> {
&self.load_balancer_target
}
pub fn load_balancer_target_group(mut self, input: crate::types::AnalysisComponent) -> Self {
self.load_balancer_target_group = ::std::option::Option::Some(input);
self
}
pub fn set_load_balancer_target_group(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.load_balancer_target_group = input;
self
}
pub fn get_load_balancer_target_group(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.load_balancer_target_group
}
pub fn load_balancer_target_groups(mut self, input: crate::types::AnalysisComponent) -> Self {
let mut v = self.load_balancer_target_groups.unwrap_or_default();
v.push(input);
self.load_balancer_target_groups = ::std::option::Option::Some(v);
self
}
pub fn set_load_balancer_target_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AnalysisComponent>>) -> Self {
self.load_balancer_target_groups = input;
self
}
pub fn get_load_balancer_target_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AnalysisComponent>> {
&self.load_balancer_target_groups
}
pub fn load_balancer_target_port(mut self, input: i32) -> Self {
self.load_balancer_target_port = ::std::option::Option::Some(input);
self
}
pub fn set_load_balancer_target_port(mut self, input: ::std::option::Option<i32>) -> Self {
self.load_balancer_target_port = input;
self
}
pub fn get_load_balancer_target_port(&self) -> &::std::option::Option<i32> {
&self.load_balancer_target_port
}
pub fn elastic_load_balancer_listener(mut self, input: crate::types::AnalysisComponent) -> Self {
self.elastic_load_balancer_listener = ::std::option::Option::Some(input);
self
}
pub fn set_elastic_load_balancer_listener(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.elastic_load_balancer_listener = input;
self
}
pub fn get_elastic_load_balancer_listener(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.elastic_load_balancer_listener
}
pub fn missing_component(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.missing_component = ::std::option::Option::Some(input.into());
self
}
pub fn set_missing_component(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.missing_component = input;
self
}
pub fn get_missing_component(&self) -> &::std::option::Option<::std::string::String> {
&self.missing_component
}
pub fn nat_gateway(mut self, input: crate::types::AnalysisComponent) -> Self {
self.nat_gateway = ::std::option::Option::Some(input);
self
}
pub fn set_nat_gateway(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.nat_gateway = input;
self
}
pub fn get_nat_gateway(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.nat_gateway
}
pub fn network_interface(mut self, input: crate::types::AnalysisComponent) -> Self {
self.network_interface = ::std::option::Option::Some(input);
self
}
pub fn set_network_interface(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.network_interface = input;
self
}
pub fn get_network_interface(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.network_interface
}
pub fn packet_field(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.packet_field = ::std::option::Option::Some(input.into());
self
}
pub fn set_packet_field(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.packet_field = input;
self
}
pub fn get_packet_field(&self) -> &::std::option::Option<::std::string::String> {
&self.packet_field
}
pub fn vpc_peering_connection(mut self, input: crate::types::AnalysisComponent) -> Self {
self.vpc_peering_connection = ::std::option::Option::Some(input);
self
}
pub fn set_vpc_peering_connection(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.vpc_peering_connection = input;
self
}
pub fn get_vpc_peering_connection(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.vpc_peering_connection
}
pub fn port(mut self, input: i32) -> Self {
self.port = ::std::option::Option::Some(input);
self
}
pub fn set_port(mut self, input: ::std::option::Option<i32>) -> Self {
self.port = input;
self
}
pub fn get_port(&self) -> &::std::option::Option<i32> {
&self.port
}
pub fn port_ranges(mut self, input: crate::types::PortRange) -> Self {
let mut v = self.port_ranges.unwrap_or_default();
v.push(input);
self.port_ranges = ::std::option::Option::Some(v);
self
}
pub fn set_port_ranges(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::PortRange>>) -> Self {
self.port_ranges = input;
self
}
pub fn get_port_ranges(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::PortRange>> {
&self.port_ranges
}
pub fn prefix_list(mut self, input: crate::types::AnalysisComponent) -> Self {
self.prefix_list = ::std::option::Option::Some(input);
self
}
pub fn set_prefix_list(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.prefix_list = input;
self
}
pub fn get_prefix_list(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.prefix_list
}
pub fn protocols(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.protocols.unwrap_or_default();
v.push(input.into());
self.protocols = ::std::option::Option::Some(v);
self
}
pub fn set_protocols(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.protocols = input;
self
}
pub fn get_protocols(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.protocols
}
pub fn route_table_route(mut self, input: crate::types::AnalysisRouteTableRoute) -> Self {
self.route_table_route = ::std::option::Option::Some(input);
self
}
pub fn set_route_table_route(mut self, input: ::std::option::Option<crate::types::AnalysisRouteTableRoute>) -> Self {
self.route_table_route = input;
self
}
pub fn get_route_table_route(&self) -> &::std::option::Option<crate::types::AnalysisRouteTableRoute> {
&self.route_table_route
}
pub fn route_table(mut self, input: crate::types::AnalysisComponent) -> Self {
self.route_table = ::std::option::Option::Some(input);
self
}
pub fn set_route_table(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.route_table = input;
self
}
pub fn get_route_table(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.route_table
}
pub fn security_group(mut self, input: crate::types::AnalysisComponent) -> Self {
self.security_group = ::std::option::Option::Some(input);
self
}
pub fn set_security_group(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.security_group = input;
self
}
pub fn get_security_group(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.security_group
}
pub fn security_group_rule(mut self, input: crate::types::AnalysisSecurityGroupRule) -> Self {
self.security_group_rule = ::std::option::Option::Some(input);
self
}
pub fn set_security_group_rule(mut self, input: ::std::option::Option<crate::types::AnalysisSecurityGroupRule>) -> Self {
self.security_group_rule = input;
self
}
pub fn get_security_group_rule(&self) -> &::std::option::Option<crate::types::AnalysisSecurityGroupRule> {
&self.security_group_rule
}
pub fn security_groups(mut self, input: crate::types::AnalysisComponent) -> Self {
let mut v = self.security_groups.unwrap_or_default();
v.push(input);
self.security_groups = ::std::option::Option::Some(v);
self
}
pub fn set_security_groups(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AnalysisComponent>>) -> Self {
self.security_groups = input;
self
}
pub fn get_security_groups(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AnalysisComponent>> {
&self.security_groups
}
pub fn source_vpc(mut self, input: crate::types::AnalysisComponent) -> Self {
self.source_vpc = ::std::option::Option::Some(input);
self
}
pub fn set_source_vpc(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.source_vpc = input;
self
}
pub fn get_source_vpc(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.source_vpc
}
pub fn state(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.state = ::std::option::Option::Some(input.into());
self
}
pub fn set_state(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.state = input;
self
}
pub fn get_state(&self) -> &::std::option::Option<::std::string::String> {
&self.state
}
pub fn subnet(mut self, input: crate::types::AnalysisComponent) -> Self {
self.subnet = ::std::option::Option::Some(input);
self
}
pub fn set_subnet(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.subnet = input;
self
}
pub fn get_subnet(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.subnet
}
pub fn subnet_route_table(mut self, input: crate::types::AnalysisComponent) -> Self {
self.subnet_route_table = ::std::option::Option::Some(input);
self
}
pub fn set_subnet_route_table(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.subnet_route_table = input;
self
}
pub fn get_subnet_route_table(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.subnet_route_table
}
pub fn vpc(mut self, input: crate::types::AnalysisComponent) -> Self {
self.vpc = ::std::option::Option::Some(input);
self
}
pub fn set_vpc(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.vpc = input;
self
}
pub fn get_vpc(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.vpc
}
pub fn vpc_endpoint(mut self, input: crate::types::AnalysisComponent) -> Self {
self.vpc_endpoint = ::std::option::Option::Some(input);
self
}
pub fn set_vpc_endpoint(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.vpc_endpoint = input;
self
}
pub fn get_vpc_endpoint(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.vpc_endpoint
}
pub fn vpn_connection(mut self, input: crate::types::AnalysisComponent) -> Self {
self.vpn_connection = ::std::option::Option::Some(input);
self
}
pub fn set_vpn_connection(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.vpn_connection = input;
self
}
pub fn get_vpn_connection(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.vpn_connection
}
pub fn vpn_gateway(mut self, input: crate::types::AnalysisComponent) -> Self {
self.vpn_gateway = ::std::option::Option::Some(input);
self
}
pub fn set_vpn_gateway(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.vpn_gateway = input;
self
}
pub fn get_vpn_gateway(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.vpn_gateway
}
pub fn transit_gateway(mut self, input: crate::types::AnalysisComponent) -> Self {
self.transit_gateway = ::std::option::Option::Some(input);
self
}
pub fn set_transit_gateway(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.transit_gateway = input;
self
}
pub fn get_transit_gateway(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.transit_gateway
}
pub fn transit_gateway_route_table(mut self, input: crate::types::AnalysisComponent) -> Self {
self.transit_gateway_route_table = ::std::option::Option::Some(input);
self
}
pub fn set_transit_gateway_route_table(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.transit_gateway_route_table = input;
self
}
pub fn get_transit_gateway_route_table(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.transit_gateway_route_table
}
pub fn transit_gateway_route_table_route(mut self, input: crate::types::TransitGatewayRouteTableRoute) -> Self {
self.transit_gateway_route_table_route = ::std::option::Option::Some(input);
self
}
pub fn set_transit_gateway_route_table_route(mut self, input: ::std::option::Option<crate::types::TransitGatewayRouteTableRoute>) -> Self {
self.transit_gateway_route_table_route = input;
self
}
pub fn get_transit_gateway_route_table_route(&self) -> &::std::option::Option<crate::types::TransitGatewayRouteTableRoute> {
&self.transit_gateway_route_table_route
}
pub fn transit_gateway_attachment(mut self, input: crate::types::AnalysisComponent) -> Self {
self.transit_gateway_attachment = ::std::option::Option::Some(input);
self
}
pub fn set_transit_gateway_attachment(mut self, input: ::std::option::Option<crate::types::AnalysisComponent>) -> Self {
self.transit_gateway_attachment = input;
self
}
pub fn get_transit_gateway_attachment(&self) -> &::std::option::Option<crate::types::AnalysisComponent> {
&self.transit_gateway_attachment
}
pub fn component_account(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.component_account = ::std::option::Option::Some(input.into());
self
}
pub fn set_component_account(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.component_account = input;
self
}
pub fn get_component_account(&self) -> &::std::option::Option<::std::string::String> {
&self.component_account
}
pub fn component_region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.component_region = ::std::option::Option::Some(input.into());
self
}
pub fn set_component_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.component_region = input;
self
}
pub fn get_component_region(&self) -> &::std::option::Option<::std::string::String> {
&self.component_region
}
pub fn firewall_stateless_rule(mut self, input: crate::types::FirewallStatelessRule) -> Self {
self.firewall_stateless_rule = ::std::option::Option::Some(input);
self
}
pub fn set_firewall_stateless_rule(mut self, input: ::std::option::Option<crate::types::FirewallStatelessRule>) -> Self {
self.firewall_stateless_rule = input;
self
}
pub fn get_firewall_stateless_rule(&self) -> &::std::option::Option<crate::types::FirewallStatelessRule> {
&self.firewall_stateless_rule
}
pub fn firewall_stateful_rule(mut self, input: crate::types::FirewallStatefulRule) -> Self {
self.firewall_stateful_rule = ::std::option::Option::Some(input);
self
}
pub fn set_firewall_stateful_rule(mut self, input: ::std::option::Option<crate::types::FirewallStatefulRule>) -> Self {
self.firewall_stateful_rule = input;
self
}
pub fn get_firewall_stateful_rule(&self) -> &::std::option::Option<crate::types::FirewallStatefulRule> {
&self.firewall_stateful_rule
}
pub fn build(self) -> crate::types::Explanation {
crate::types::Explanation {
acl: self.acl,
acl_rule: self.acl_rule,
address: self.address,
addresses: self.addresses,
attached_to: self.attached_to,
availability_zones: self.availability_zones,
cidrs: self.cidrs,
component: self.component,
customer_gateway: self.customer_gateway,
destination: self.destination,
destination_vpc: self.destination_vpc,
direction: self.direction,
explanation_code: self.explanation_code,
ingress_route_table: self.ingress_route_table,
internet_gateway: self.internet_gateway,
load_balancer_arn: self.load_balancer_arn,
classic_load_balancer_listener: self.classic_load_balancer_listener,
load_balancer_listener_port: self.load_balancer_listener_port,
load_balancer_target: self.load_balancer_target,
load_balancer_target_group: self.load_balancer_target_group,
load_balancer_target_groups: self.load_balancer_target_groups,
load_balancer_target_port: self.load_balancer_target_port,
elastic_load_balancer_listener: self.elastic_load_balancer_listener,
missing_component: self.missing_component,
nat_gateway: self.nat_gateway,
network_interface: self.network_interface,
packet_field: self.packet_field,
vpc_peering_connection: self.vpc_peering_connection,
port: self.port,
port_ranges: self.port_ranges,
prefix_list: self.prefix_list,
protocols: self.protocols,
route_table_route: self.route_table_route,
route_table: self.route_table,
security_group: self.security_group,
security_group_rule: self.security_group_rule,
security_groups: self.security_groups,
source_vpc: self.source_vpc,
state: self.state,
subnet: self.subnet,
subnet_route_table: self.subnet_route_table,
vpc: self.vpc,
vpc_endpoint: self.vpc_endpoint,
vpn_connection: self.vpn_connection,
vpn_gateway: self.vpn_gateway,
transit_gateway: self.transit_gateway,
transit_gateway_route_table: self.transit_gateway_route_table,
transit_gateway_route_table_route: self.transit_gateway_route_table_route,
transit_gateway_attachment: self.transit_gateway_attachment,
component_account: self.component_account,
component_region: self.component_region,
firewall_stateless_rule: self.firewall_stateless_rule,
firewall_stateful_rule: self.firewall_stateful_rule,
}
}
}