[][src]Module aws_iam::model::builder

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

ConditionBuilder

A Condition builder, used with StatementBuilder::if_condition().

PolicyBuilder

The top-level Policy builder.

StatementBuilder

A Statement builder, used with PolicyBuilder::evaluate_statement().