Expand description
Provides a convenient and fluent builder interface for constructing policies.
Example
use aws_iam::model::*;
use aws_iam::model::builder::*;
use aws_iam::io::write_to_writer;
use std::io::stdout;
let policy: Policy = PolicyBuilder::new()
.named("confidential-data-access")
.evaluate_statement(
StatementBuilder::new()
.auto_named()
.allows()
.unspecified_principals()
.may_perform_actions(vec!["s3:List*", "s3:Get*"])
.on_resources(vec![
"arn:aws:s3:::confidential-data",
"arn:aws:s3:::confidential-data/_*",
])
.if_condition(
ConditionBuilder::new_bool()
.right_hand_bool("aws:MultiFactorAuthPresent", true)
.if_exists(),
),
)
.into();
write_to_writer(stdout(), &policy);
Structs
A Condition
builder, used with StatementBuilder::if_condition()
.
The top-level Policy
builder.
A Statement
builder, used with PolicyBuilder::evaluate_statement()
.