aws_sdk_securityhub/types/
_aws_code_build_project_vpc_config.rs1#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct AwsCodeBuildProjectVpcConfig {
7 pub vpc_id: ::std::option::Option<::std::string::String>,
9 pub subnets: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
11 pub security_group_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
13}
14impl AwsCodeBuildProjectVpcConfig {
15 pub fn vpc_id(&self) -> ::std::option::Option<&str> {
17 self.vpc_id.as_deref()
18 }
19 pub fn subnets(&self) -> &[::std::string::String] {
23 self.subnets.as_deref().unwrap_or_default()
24 }
25 pub fn security_group_ids(&self) -> &[::std::string::String] {
29 self.security_group_ids.as_deref().unwrap_or_default()
30 }
31}
32impl AwsCodeBuildProjectVpcConfig {
33 pub fn builder() -> crate::types::builders::AwsCodeBuildProjectVpcConfigBuilder {
35 crate::types::builders::AwsCodeBuildProjectVpcConfigBuilder::default()
36 }
37}
38
39#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
41#[non_exhaustive]
42pub struct AwsCodeBuildProjectVpcConfigBuilder {
43 pub(crate) vpc_id: ::std::option::Option<::std::string::String>,
44 pub(crate) subnets: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
45 pub(crate) security_group_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
46}
47impl AwsCodeBuildProjectVpcConfigBuilder {
48 pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
50 self.vpc_id = ::std::option::Option::Some(input.into());
51 self
52 }
53 pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
55 self.vpc_id = input;
56 self
57 }
58 pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
60 &self.vpc_id
61 }
62 pub fn subnets(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
68 let mut v = self.subnets.unwrap_or_default();
69 v.push(input.into());
70 self.subnets = ::std::option::Option::Some(v);
71 self
72 }
73 pub fn set_subnets(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
75 self.subnets = input;
76 self
77 }
78 pub fn get_subnets(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
80 &self.subnets
81 }
82 pub fn security_group_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
88 let mut v = self.security_group_ids.unwrap_or_default();
89 v.push(input.into());
90 self.security_group_ids = ::std::option::Option::Some(v);
91 self
92 }
93 pub fn set_security_group_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
95 self.security_group_ids = input;
96 self
97 }
98 pub fn get_security_group_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
100 &self.security_group_ids
101 }
102 pub fn build(self) -> crate::types::AwsCodeBuildProjectVpcConfig {
104 crate::types::AwsCodeBuildProjectVpcConfig {
105 vpc_id: self.vpc_id,
106 subnets: self.subnets,
107 security_group_ids: self.security_group_ids,
108 }
109 }
110}