Struct aws_sdk_backup::model::backup_selection::Builder
source · pub struct Builder { /* private fields */ }
Expand description
A builder for BackupSelection
.
Implementations§
source§impl Builder
impl Builder
sourcepub fn selection_name(self, input: impl Into<String>) -> Self
pub fn selection_name(self, input: impl Into<String>) -> Self
The display name of a resource selection document. Must contain 1 to 50 alphanumeric or '-_.' characters.
sourcepub fn set_selection_name(self, input: Option<String>) -> Self
pub fn set_selection_name(self, input: Option<String>) -> Self
The display name of a resource selection document. Must contain 1 to 50 alphanumeric or '-_.' characters.
Examples found in repository?
5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292
pub(crate) fn deser_structure_crate_model_backup_selection<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::BackupSelection>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::backup_selection::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"SelectionName" => {
builder = builder.set_selection_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"IamRoleArn" => {
builder = builder.set_iam_role_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"Resources" => {
builder = builder.set_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"ListOfTags" => {
builder = builder.set_list_of_tags(
crate::json_deser::deser_list_com_amazonaws_backup_list_of_tags(tokens)?
);
}
"NotResources" => {
builder = builder.set_not_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"Conditions" => {
builder = builder.set_conditions(
crate::json_deser::deser_structure_crate_model_conditions(
tokens,
)?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn iam_role_arn(self, input: impl Into<String>) -> Self
pub fn iam_role_arn(self, input: impl Into<String>) -> Self
The ARN of the IAM role that Backup uses to authenticate when backing up the target resource; for example, arn:aws:iam::123456789012:role/S3Access
.
sourcepub fn set_iam_role_arn(self, input: Option<String>) -> Self
pub fn set_iam_role_arn(self, input: Option<String>) -> Self
The ARN of the IAM role that Backup uses to authenticate when backing up the target resource; for example, arn:aws:iam::123456789012:role/S3Access
.
Examples found in repository?
5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292
pub(crate) fn deser_structure_crate_model_backup_selection<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::BackupSelection>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::backup_selection::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"SelectionName" => {
builder = builder.set_selection_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"IamRoleArn" => {
builder = builder.set_iam_role_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"Resources" => {
builder = builder.set_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"ListOfTags" => {
builder = builder.set_list_of_tags(
crate::json_deser::deser_list_com_amazonaws_backup_list_of_tags(tokens)?
);
}
"NotResources" => {
builder = builder.set_not_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"Conditions" => {
builder = builder.set_conditions(
crate::json_deser::deser_structure_crate_model_conditions(
tokens,
)?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn resources(self, input: impl Into<String>) -> Self
pub fn resources(self, input: impl Into<String>) -> Self
Appends an item to resources
.
To override the contents of this collection use set_resources
.
A list of Amazon Resource Names (ARNs) to assign to a backup plan. The maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
If you need to assign many resources to a backup plan, consider a different resource selection strategy, such as assigning all resources of a resource type or refining your resource selection using tags.
sourcepub fn set_resources(self, input: Option<Vec<String>>) -> Self
pub fn set_resources(self, input: Option<Vec<String>>) -> Self
A list of Amazon Resource Names (ARNs) to assign to a backup plan. The maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
If you need to assign many resources to a backup plan, consider a different resource selection strategy, such as assigning all resources of a resource type or refining your resource selection using tags.
Examples found in repository?
5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292
pub(crate) fn deser_structure_crate_model_backup_selection<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::BackupSelection>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::backup_selection::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"SelectionName" => {
builder = builder.set_selection_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"IamRoleArn" => {
builder = builder.set_iam_role_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"Resources" => {
builder = builder.set_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"ListOfTags" => {
builder = builder.set_list_of_tags(
crate::json_deser::deser_list_com_amazonaws_backup_list_of_tags(tokens)?
);
}
"NotResources" => {
builder = builder.set_not_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"Conditions" => {
builder = builder.set_conditions(
crate::json_deser::deser_structure_crate_model_conditions(
tokens,
)?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
Appends an item to list_of_tags
.
To override the contents of this collection use set_list_of_tags
.
A list of conditions that you define to assign resources to your backup plans using tags. For example, "StringEquals": { "ConditionKey": "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition operators are case sensitive.
ListOfTags
differs from Conditions
as follows:
-
When you specify more than one condition, you assign all resources that match AT LEAST ONE condition (using OR logic).
-
ListOfTags
only supportsStringEquals
.Conditions
supportsStringEquals
,StringLike
,StringNotEquals
, andStringNotLike
.
A list of conditions that you define to assign resources to your backup plans using tags. For example, "StringEquals": { "ConditionKey": "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition operators are case sensitive.
ListOfTags
differs from Conditions
as follows:
-
When you specify more than one condition, you assign all resources that match AT LEAST ONE condition (using OR logic).
-
ListOfTags
only supportsStringEquals
.Conditions
supportsStringEquals
,StringLike
,StringNotEquals
, andStringNotLike
.
Examples found in repository?
5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292
pub(crate) fn deser_structure_crate_model_backup_selection<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::BackupSelection>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::backup_selection::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"SelectionName" => {
builder = builder.set_selection_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"IamRoleArn" => {
builder = builder.set_iam_role_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"Resources" => {
builder = builder.set_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"ListOfTags" => {
builder = builder.set_list_of_tags(
crate::json_deser::deser_list_com_amazonaws_backup_list_of_tags(tokens)?
);
}
"NotResources" => {
builder = builder.set_not_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"Conditions" => {
builder = builder.set_conditions(
crate::json_deser::deser_structure_crate_model_conditions(
tokens,
)?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn not_resources(self, input: impl Into<String>) -> Self
pub fn not_resources(self, input: impl Into<String>) -> Self
Appends an item to not_resources
.
To override the contents of this collection use set_not_resources
.
A list of Amazon Resource Names (ARNs) to exclude from a backup plan. The maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
If you need to exclude many resources from a backup plan, consider a different resource selection strategy, such as assigning only one or a few resource types or refining your resource selection using tags.
sourcepub fn set_not_resources(self, input: Option<Vec<String>>) -> Self
pub fn set_not_resources(self, input: Option<Vec<String>>) -> Self
A list of Amazon Resource Names (ARNs) to exclude from a backup plan. The maximum number of ARNs is 500 without wildcards, or 30 ARNs with wildcards.
If you need to exclude many resources from a backup plan, consider a different resource selection strategy, such as assigning only one or a few resource types or refining your resource selection using tags.
Examples found in repository?
5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292
pub(crate) fn deser_structure_crate_model_backup_selection<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::BackupSelection>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::backup_selection::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"SelectionName" => {
builder = builder.set_selection_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"IamRoleArn" => {
builder = builder.set_iam_role_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"Resources" => {
builder = builder.set_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"ListOfTags" => {
builder = builder.set_list_of_tags(
crate::json_deser::deser_list_com_amazonaws_backup_list_of_tags(tokens)?
);
}
"NotResources" => {
builder = builder.set_not_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"Conditions" => {
builder = builder.set_conditions(
crate::json_deser::deser_structure_crate_model_conditions(
tokens,
)?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn conditions(self, input: Conditions) -> Self
pub fn conditions(self, input: Conditions) -> Self
A list of conditions that you define to assign resources to your backup plans using tags. For example, "StringEquals": { "ConditionKey": "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition operators are case sensitive.
Conditions
differs from ListOfTags
as follows:
-
When you specify more than one condition, you only assign the resources that match ALL conditions (using AND logic).
-
Conditions
supportsStringEquals
,StringLike
,StringNotEquals
, andStringNotLike
.ListOfTags
only supportsStringEquals
.
sourcepub fn set_conditions(self, input: Option<Conditions>) -> Self
pub fn set_conditions(self, input: Option<Conditions>) -> Self
A list of conditions that you define to assign resources to your backup plans using tags. For example, "StringEquals": { "ConditionKey": "aws:ResourceTag/CreatedByCryo", "ConditionValue": "true" },
. Condition operators are case sensitive.
Conditions
differs from ListOfTags
as follows:
-
When you specify more than one condition, you only assign the resources that match ALL conditions (using AND logic).
-
Conditions
supportsStringEquals
,StringLike
,StringNotEquals
, andStringNotLike
.ListOfTags
only supportsStringEquals
.
Examples found in repository?
5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292
pub(crate) fn deser_structure_crate_model_backup_selection<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::BackupSelection>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::backup_selection::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"SelectionName" => {
builder = builder.set_selection_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"IamRoleArn" => {
builder = builder.set_iam_role_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"Resources" => {
builder = builder.set_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"ListOfTags" => {
builder = builder.set_list_of_tags(
crate::json_deser::deser_list_com_amazonaws_backup_list_of_tags(tokens)?
);
}
"NotResources" => {
builder = builder.set_not_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"Conditions" => {
builder = builder.set_conditions(
crate::json_deser::deser_structure_crate_model_conditions(
tokens,
)?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}
sourcepub fn build(self) -> BackupSelection
pub fn build(self) -> BackupSelection
Consumes the builder and constructs a BackupSelection
.
Examples found in repository?
5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292
pub(crate) fn deser_structure_crate_model_backup_selection<'a, I>(
tokens: &mut std::iter::Peekable<I>,
) -> Result<
Option<crate::model::BackupSelection>,
aws_smithy_json::deserialize::error::DeserializeError,
>
where
I: Iterator<
Item = Result<
aws_smithy_json::deserialize::Token<'a>,
aws_smithy_json::deserialize::error::DeserializeError,
>,
>,
{
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::ValueNull { .. }) => Ok(None),
Some(aws_smithy_json::deserialize::Token::StartObject { .. }) => {
#[allow(unused_mut)]
let mut builder = crate::model::backup_selection::Builder::default();
loop {
match tokens.next().transpose()? {
Some(aws_smithy_json::deserialize::Token::EndObject { .. }) => break,
Some(aws_smithy_json::deserialize::Token::ObjectKey { key, .. }) => {
match key.to_unescaped()?.as_ref() {
"SelectionName" => {
builder = builder.set_selection_name(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"IamRoleArn" => {
builder = builder.set_iam_role_arn(
aws_smithy_json::deserialize::token::expect_string_or_null(
tokens.next(),
)?
.map(|s| s.to_unescaped().map(|u| u.into_owned()))
.transpose()?,
);
}
"Resources" => {
builder = builder.set_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"ListOfTags" => {
builder = builder.set_list_of_tags(
crate::json_deser::deser_list_com_amazonaws_backup_list_of_tags(tokens)?
);
}
"NotResources" => {
builder = builder.set_not_resources(
crate::json_deser::deser_list_com_amazonaws_backup_resource_arns(tokens)?
);
}
"Conditions" => {
builder = builder.set_conditions(
crate::json_deser::deser_structure_crate_model_conditions(
tokens,
)?,
);
}
_ => aws_smithy_json::deserialize::token::skip_value(tokens)?,
}
}
other => {
return Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(format!(
"expected object key or end object, found: {:?}",
other
)),
)
}
}
}
Ok(Some(builder.build()))
}
_ => Err(
aws_smithy_json::deserialize::error::DeserializeError::custom(
"expected start object or null",
),
),
}
}