aws_sdk_apigatewayv2/operation/create_api/_create_api_input.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Creates a new Api resource to represent an API.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct CreateApiInput {
7 /// <p>An API key selection expression. Supported only for WebSocket APIs. See <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions">API Key Selection Expressions</a>.</p>
8 pub api_key_selection_expression: ::std::option::Option<::std::string::String>,
9 /// <p>A CORS configuration. Supported only for HTTP APIs. See <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html">Configuring CORS</a> for more information.</p>
10 pub cors_configuration: ::std::option::Option<crate::types::Cors>,
11 /// <p>This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.</p>
12 pub credentials_arn: ::std::option::Option<::std::string::String>,
13 /// <p>The description of the API.</p>
14 pub description: ::std::option::Option<::std::string::String>,
15 /// <p>Avoid validating models when creating a deployment. Supported only for WebSocket APIs.</p>
16 pub disable_schema_validation: ::std::option::Option<bool>,
17 /// <p>Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.</p>
18 pub disable_execute_api_endpoint: ::std::option::Option<bool>,
19 /// <p>The IP address types that can invoke the API.</p>
20 pub ip_address_type: ::std::option::Option<crate::types::IpAddressType>,
21 /// <p>The name of the API.</p>
22 pub name: ::std::option::Option<::std::string::String>,
23 /// <p>The API protocol.</p>
24 pub protocol_type: ::std::option::Option<crate::types::ProtocolType>,
25 /// <p>This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.</p>
26 pub route_key: ::std::option::Option<::std::string::String>,
27 /// <p>The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.</p>
28 pub route_selection_expression: ::std::option::Option<::std::string::String>,
29 /// <p>The collection of tags. Each tag element is associated with a given resource.</p>
30 pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
31 /// <p>This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.</p>
32 pub target: ::std::option::Option<::std::string::String>,
33 /// <p>A version identifier for the API.</p>
34 pub version: ::std::option::Option<::std::string::String>,
35}
36impl CreateApiInput {
37 /// <p>An API key selection expression. Supported only for WebSocket APIs. See <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions">API Key Selection Expressions</a>.</p>
38 pub fn api_key_selection_expression(&self) -> ::std::option::Option<&str> {
39 self.api_key_selection_expression.as_deref()
40 }
41 /// <p>A CORS configuration. Supported only for HTTP APIs. See <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html">Configuring CORS</a> for more information.</p>
42 pub fn cors_configuration(&self) -> ::std::option::Option<&crate::types::Cors> {
43 self.cors_configuration.as_ref()
44 }
45 /// <p>This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.</p>
46 pub fn credentials_arn(&self) -> ::std::option::Option<&str> {
47 self.credentials_arn.as_deref()
48 }
49 /// <p>The description of the API.</p>
50 pub fn description(&self) -> ::std::option::Option<&str> {
51 self.description.as_deref()
52 }
53 /// <p>Avoid validating models when creating a deployment. Supported only for WebSocket APIs.</p>
54 pub fn disable_schema_validation(&self) -> ::std::option::Option<bool> {
55 self.disable_schema_validation
56 }
57 /// <p>Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.</p>
58 pub fn disable_execute_api_endpoint(&self) -> ::std::option::Option<bool> {
59 self.disable_execute_api_endpoint
60 }
61 /// <p>The IP address types that can invoke the API.</p>
62 pub fn ip_address_type(&self) -> ::std::option::Option<&crate::types::IpAddressType> {
63 self.ip_address_type.as_ref()
64 }
65 /// <p>The name of the API.</p>
66 pub fn name(&self) -> ::std::option::Option<&str> {
67 self.name.as_deref()
68 }
69 /// <p>The API protocol.</p>
70 pub fn protocol_type(&self) -> ::std::option::Option<&crate::types::ProtocolType> {
71 self.protocol_type.as_ref()
72 }
73 /// <p>This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.</p>
74 pub fn route_key(&self) -> ::std::option::Option<&str> {
75 self.route_key.as_deref()
76 }
77 /// <p>The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.</p>
78 pub fn route_selection_expression(&self) -> ::std::option::Option<&str> {
79 self.route_selection_expression.as_deref()
80 }
81 /// <p>The collection of tags. Each tag element is associated with a given resource.</p>
82 pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
83 self.tags.as_ref()
84 }
85 /// <p>This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.</p>
86 pub fn target(&self) -> ::std::option::Option<&str> {
87 self.target.as_deref()
88 }
89 /// <p>A version identifier for the API.</p>
90 pub fn version(&self) -> ::std::option::Option<&str> {
91 self.version.as_deref()
92 }
93}
94impl CreateApiInput {
95 /// Creates a new builder-style object to manufacture [`CreateApiInput`](crate::operation::create_api::CreateApiInput).
96 pub fn builder() -> crate::operation::create_api::builders::CreateApiInputBuilder {
97 crate::operation::create_api::builders::CreateApiInputBuilder::default()
98 }
99}
100
101/// A builder for [`CreateApiInput`](crate::operation::create_api::CreateApiInput).
102#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
103#[non_exhaustive]
104pub struct CreateApiInputBuilder {
105 pub(crate) api_key_selection_expression: ::std::option::Option<::std::string::String>,
106 pub(crate) cors_configuration: ::std::option::Option<crate::types::Cors>,
107 pub(crate) credentials_arn: ::std::option::Option<::std::string::String>,
108 pub(crate) description: ::std::option::Option<::std::string::String>,
109 pub(crate) disable_schema_validation: ::std::option::Option<bool>,
110 pub(crate) disable_execute_api_endpoint: ::std::option::Option<bool>,
111 pub(crate) ip_address_type: ::std::option::Option<crate::types::IpAddressType>,
112 pub(crate) name: ::std::option::Option<::std::string::String>,
113 pub(crate) protocol_type: ::std::option::Option<crate::types::ProtocolType>,
114 pub(crate) route_key: ::std::option::Option<::std::string::String>,
115 pub(crate) route_selection_expression: ::std::option::Option<::std::string::String>,
116 pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
117 pub(crate) target: ::std::option::Option<::std::string::String>,
118 pub(crate) version: ::std::option::Option<::std::string::String>,
119}
120impl CreateApiInputBuilder {
121 /// <p>An API key selection expression. Supported only for WebSocket APIs. See <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions">API Key Selection Expressions</a>.</p>
122 pub fn api_key_selection_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
123 self.api_key_selection_expression = ::std::option::Option::Some(input.into());
124 self
125 }
126 /// <p>An API key selection expression. Supported only for WebSocket APIs. See <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions">API Key Selection Expressions</a>.</p>
127 pub fn set_api_key_selection_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
128 self.api_key_selection_expression = input;
129 self
130 }
131 /// <p>An API key selection expression. Supported only for WebSocket APIs. See <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-apikey-selection-expressions">API Key Selection Expressions</a>.</p>
132 pub fn get_api_key_selection_expression(&self) -> &::std::option::Option<::std::string::String> {
133 &self.api_key_selection_expression
134 }
135 /// <p>A CORS configuration. Supported only for HTTP APIs. See <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html">Configuring CORS</a> for more information.</p>
136 pub fn cors_configuration(mut self, input: crate::types::Cors) -> Self {
137 self.cors_configuration = ::std::option::Option::Some(input);
138 self
139 }
140 /// <p>A CORS configuration. Supported only for HTTP APIs. See <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html">Configuring CORS</a> for more information.</p>
141 pub fn set_cors_configuration(mut self, input: ::std::option::Option<crate::types::Cors>) -> Self {
142 self.cors_configuration = input;
143 self
144 }
145 /// <p>A CORS configuration. Supported only for HTTP APIs. See <a href="https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html">Configuring CORS</a> for more information.</p>
146 pub fn get_cors_configuration(&self) -> &::std::option::Option<crate::types::Cors> {
147 &self.cors_configuration
148 }
149 /// <p>This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.</p>
150 pub fn credentials_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
151 self.credentials_arn = ::std::option::Option::Some(input.into());
152 self
153 }
154 /// <p>This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.</p>
155 pub fn set_credentials_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
156 self.credentials_arn = input;
157 self
158 }
159 /// <p>This property is part of quick create. It specifies the credentials required for the integration, if any. For a Lambda integration, three options are available. To specify an IAM Role for API Gateway to assume, use the role's Amazon Resource Name (ARN). To require that the caller's identity be passed through from the request, specify arn:aws:iam::*:user/*. To use resource-based permissions on supported AWS services, specify null. Currently, this property is not used for HTTP integrations. Supported only for HTTP APIs.</p>
160 pub fn get_credentials_arn(&self) -> &::std::option::Option<::std::string::String> {
161 &self.credentials_arn
162 }
163 /// <p>The description of the API.</p>
164 pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
165 self.description = ::std::option::Option::Some(input.into());
166 self
167 }
168 /// <p>The description of the API.</p>
169 pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
170 self.description = input;
171 self
172 }
173 /// <p>The description of the API.</p>
174 pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
175 &self.description
176 }
177 /// <p>Avoid validating models when creating a deployment. Supported only for WebSocket APIs.</p>
178 pub fn disable_schema_validation(mut self, input: bool) -> Self {
179 self.disable_schema_validation = ::std::option::Option::Some(input);
180 self
181 }
182 /// <p>Avoid validating models when creating a deployment. Supported only for WebSocket APIs.</p>
183 pub fn set_disable_schema_validation(mut self, input: ::std::option::Option<bool>) -> Self {
184 self.disable_schema_validation = input;
185 self
186 }
187 /// <p>Avoid validating models when creating a deployment. Supported only for WebSocket APIs.</p>
188 pub fn get_disable_schema_validation(&self) -> &::std::option::Option<bool> {
189 &self.disable_schema_validation
190 }
191 /// <p>Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.</p>
192 pub fn disable_execute_api_endpoint(mut self, input: bool) -> Self {
193 self.disable_execute_api_endpoint = ::std::option::Option::Some(input);
194 self
195 }
196 /// <p>Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.</p>
197 pub fn set_disable_execute_api_endpoint(mut self, input: ::std::option::Option<bool>) -> Self {
198 self.disable_execute_api_endpoint = input;
199 self
200 }
201 /// <p>Specifies whether clients can invoke your API by using the default execute-api endpoint. By default, clients can invoke your API with the default https://{api_id}.execute-api.{region}.amazonaws.com endpoint. To require that clients use a custom domain name to invoke your API, disable the default endpoint.</p>
202 pub fn get_disable_execute_api_endpoint(&self) -> &::std::option::Option<bool> {
203 &self.disable_execute_api_endpoint
204 }
205 /// <p>The IP address types that can invoke the API.</p>
206 pub fn ip_address_type(mut self, input: crate::types::IpAddressType) -> Self {
207 self.ip_address_type = ::std::option::Option::Some(input);
208 self
209 }
210 /// <p>The IP address types that can invoke the API.</p>
211 pub fn set_ip_address_type(mut self, input: ::std::option::Option<crate::types::IpAddressType>) -> Self {
212 self.ip_address_type = input;
213 self
214 }
215 /// <p>The IP address types that can invoke the API.</p>
216 pub fn get_ip_address_type(&self) -> &::std::option::Option<crate::types::IpAddressType> {
217 &self.ip_address_type
218 }
219 /// <p>The name of the API.</p>
220 /// This field is required.
221 pub fn name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
222 self.name = ::std::option::Option::Some(input.into());
223 self
224 }
225 /// <p>The name of the API.</p>
226 pub fn set_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
227 self.name = input;
228 self
229 }
230 /// <p>The name of the API.</p>
231 pub fn get_name(&self) -> &::std::option::Option<::std::string::String> {
232 &self.name
233 }
234 /// <p>The API protocol.</p>
235 /// This field is required.
236 pub fn protocol_type(mut self, input: crate::types::ProtocolType) -> Self {
237 self.protocol_type = ::std::option::Option::Some(input);
238 self
239 }
240 /// <p>The API protocol.</p>
241 pub fn set_protocol_type(mut self, input: ::std::option::Option<crate::types::ProtocolType>) -> Self {
242 self.protocol_type = input;
243 self
244 }
245 /// <p>The API protocol.</p>
246 pub fn get_protocol_type(&self) -> &::std::option::Option<crate::types::ProtocolType> {
247 &self.protocol_type
248 }
249 /// <p>This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.</p>
250 pub fn route_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
251 self.route_key = ::std::option::Option::Some(input.into());
252 self
253 }
254 /// <p>This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.</p>
255 pub fn set_route_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
256 self.route_key = input;
257 self
258 }
259 /// <p>This property is part of quick create. If you don't specify a routeKey, a default route of $default is created. The $default route acts as a catch-all for any request made to your API, for a particular stage. The $default route key can't be modified. You can add routes after creating the API, and you can update the route keys of additional routes. Supported only for HTTP APIs.</p>
260 pub fn get_route_key(&self) -> &::std::option::Option<::std::string::String> {
261 &self.route_key
262 }
263 /// <p>The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.</p>
264 pub fn route_selection_expression(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
265 self.route_selection_expression = ::std::option::Option::Some(input.into());
266 self
267 }
268 /// <p>The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.</p>
269 pub fn set_route_selection_expression(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
270 self.route_selection_expression = input;
271 self
272 }
273 /// <p>The route selection expression for the API. For HTTP APIs, the routeSelectionExpression must be ${request.method} ${request.path}. If not provided, this will be the default for HTTP APIs. This property is required for WebSocket APIs.</p>
274 pub fn get_route_selection_expression(&self) -> &::std::option::Option<::std::string::String> {
275 &self.route_selection_expression
276 }
277 /// Adds a key-value pair to `tags`.
278 ///
279 /// To override the contents of this collection use [`set_tags`](Self::set_tags).
280 ///
281 /// <p>The collection of tags. Each tag element is associated with a given resource.</p>
282 pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
283 let mut hash_map = self.tags.unwrap_or_default();
284 hash_map.insert(k.into(), v.into());
285 self.tags = ::std::option::Option::Some(hash_map);
286 self
287 }
288 /// <p>The collection of tags. Each tag element is associated with a given resource.</p>
289 pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
290 self.tags = input;
291 self
292 }
293 /// <p>The collection of tags. Each tag element is associated with a given resource.</p>
294 pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
295 &self.tags
296 }
297 /// <p>This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.</p>
298 pub fn target(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
299 self.target = ::std::option::Option::Some(input.into());
300 self
301 }
302 /// <p>This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.</p>
303 pub fn set_target(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
304 self.target = input;
305 self
306 }
307 /// <p>This property is part of quick create. Quick create produces an API with an integration, a default catch-all route, and a default stage which is configured to automatically deploy changes. For HTTP integrations, specify a fully qualified URL. For Lambda integrations, specify a function ARN. The type of the integration will be HTTP_PROXY or AWS_PROXY, respectively. Supported only for HTTP APIs.</p>
308 pub fn get_target(&self) -> &::std::option::Option<::std::string::String> {
309 &self.target
310 }
311 /// <p>A version identifier for the API.</p>
312 pub fn version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
313 self.version = ::std::option::Option::Some(input.into());
314 self
315 }
316 /// <p>A version identifier for the API.</p>
317 pub fn set_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
318 self.version = input;
319 self
320 }
321 /// <p>A version identifier for the API.</p>
322 pub fn get_version(&self) -> &::std::option::Option<::std::string::String> {
323 &self.version
324 }
325 /// Consumes the builder and constructs a [`CreateApiInput`](crate::operation::create_api::CreateApiInput).
326 pub fn build(self) -> ::std::result::Result<crate::operation::create_api::CreateApiInput, ::aws_smithy_types::error::operation::BuildError> {
327 ::std::result::Result::Ok(crate::operation::create_api::CreateApiInput {
328 api_key_selection_expression: self.api_key_selection_expression,
329 cors_configuration: self.cors_configuration,
330 credentials_arn: self.credentials_arn,
331 description: self.description,
332 disable_schema_validation: self.disable_schema_validation,
333 disable_execute_api_endpoint: self.disable_execute_api_endpoint,
334 ip_address_type: self.ip_address_type,
335 name: self.name,
336 protocol_type: self.protocol_type,
337 route_key: self.route_key,
338 route_selection_expression: self.route_selection_expression,
339 tags: self.tags,
340 target: self.target,
341 version: self.version,
342 })
343 }
344}