|
20 | 20 | /** |
21 | 21 | * Provides an AWS Cognito Identity Pool Roles Attachment. |
22 | 22 | * |
23 | | - * ## Example Usage |
24 | | - * ```java |
25 | | - * package generated_program; |
26 | | - * |
27 | | - * import com.pulumi.Context; |
28 | | - * import com.pulumi.Pulumi; |
29 | | - * import com.pulumi.core.Output; |
30 | | - * import com.pulumi.aws.cognito.IdentityPool; |
31 | | - * import com.pulumi.aws.cognito.IdentityPoolArgs; |
32 | | - * import com.pulumi.aws.iam.IamFunctions; |
33 | | - * import com.pulumi.aws.iam.inputs.GetPolicyDocumentArgs; |
34 | | - * import com.pulumi.aws.iam.Role; |
35 | | - * import com.pulumi.aws.iam.RoleArgs; |
36 | | - * import com.pulumi.aws.iam.RolePolicy; |
37 | | - * import com.pulumi.aws.iam.RolePolicyArgs; |
38 | | - * import com.pulumi.aws.cognito.IdentityPoolRoleAttachment; |
39 | | - * import com.pulumi.aws.cognito.IdentityPoolRoleAttachmentArgs; |
40 | | - * import com.pulumi.aws.cognito.inputs.IdentityPoolRoleAttachmentRoleMappingArgs; |
41 | | - * import java.util.List; |
42 | | - * import java.util.ArrayList; |
43 | | - * import java.util.Map; |
44 | | - * import java.io.File; |
45 | | - * import java.nio.file.Files; |
46 | | - * import java.nio.file.Paths; |
47 | | - * |
48 | | - * public class App { |
49 | | - * public static void main(String[] args) { |
50 | | - * Pulumi.run(App::stack); |
51 | | - * } |
52 | | - * |
53 | | - * public static void stack(Context ctx) { |
54 | | - * var mainIdentityPool = new IdentityPool("mainIdentityPool", IdentityPoolArgs.builder() |
55 | | - * .identityPoolName("identity pool") |
56 | | - * .allowUnauthenticatedIdentities(false) |
57 | | - * .supportedLoginProviders(Map.of("graph.facebook.com", "7346241598935555")) |
58 | | - * .build()); |
59 | | - * |
60 | | - * final var authenticatedPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() |
61 | | - * .statements(GetPolicyDocumentStatementArgs.builder() |
62 | | - * .effect("Allow") |
63 | | - * .principals(GetPolicyDocumentStatementPrincipalArgs.builder() |
64 | | - * .type("Federated") |
65 | | - * .identifiers("cognito-identity.amazonaws.com") |
66 | | - * .build()) |
67 | | - * .actions("sts:AssumeRoleWithWebIdentity") |
68 | | - * .conditions( |
69 | | - * GetPolicyDocumentStatementConditionArgs.builder() |
70 | | - * .test("StringEquals") |
71 | | - * .variable("cognito-identity.amazonaws.com:aud") |
72 | | - * .values(mainIdentityPool.id()) |
73 | | - * .build(), |
74 | | - * GetPolicyDocumentStatementConditionArgs.builder() |
75 | | - * .test("ForAnyValue:StringLike") |
76 | | - * .variable("cognito-identity.amazonaws.com:amr") |
77 | | - * .values("authenticated") |
78 | | - * .build()) |
79 | | - * .build()) |
80 | | - * .build()); |
81 | | - * |
82 | | - * var authenticatedRole = new Role("authenticatedRole", RoleArgs.builder() |
83 | | - * .assumeRolePolicy(authenticatedPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult).applyValue(authenticatedPolicyDocument -> authenticatedPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json()))) |
84 | | - * .build()); |
85 | | - * |
86 | | - * final var authenticatedRolePolicyPolicyDocument = IamFunctions.getPolicyDocument(GetPolicyDocumentArgs.builder() |
87 | | - * .statements(GetPolicyDocumentStatementArgs.builder() |
88 | | - * .effect("Allow") |
89 | | - * .actions( |
90 | | - * "mobileanalytics:PutEvents", |
91 | | - * "cognito-sync:*", |
92 | | - * "cognito-identity:*") |
93 | | - * .resources("*") |
94 | | - * .build()) |
95 | | - * .build()); |
96 | | - * |
97 | | - * var authenticatedRolePolicy = new RolePolicy("authenticatedRolePolicy", RolePolicyArgs.builder() |
98 | | - * .role(authenticatedRole.id()) |
99 | | - * .policy(authenticatedRolePolicyPolicyDocument.applyValue(getPolicyDocumentResult -> getPolicyDocumentResult.json())) |
100 | | - * .build()); |
101 | | - * |
102 | | - * var mainIdentityPoolRoleAttachment = new IdentityPoolRoleAttachment("mainIdentityPoolRoleAttachment", IdentityPoolRoleAttachmentArgs.builder() |
103 | | - * .identityPoolId(mainIdentityPool.id()) |
104 | | - * .roleMappings(IdentityPoolRoleAttachmentRoleMappingArgs.builder() |
105 | | - * .identityProvider("graph.facebook.com") |
106 | | - * .ambiguousRoleResolution("AuthenticatedRole") |
107 | | - * .type("Rules") |
108 | | - * .mappingRules(IdentityPoolRoleAttachmentRoleMappingMappingRuleArgs.builder() |
109 | | - * .claim("isAdmin") |
110 | | - * .matchType("Equals") |
111 | | - * .roleArn(authenticatedRole.arn()) |
112 | | - * .value("paid") |
113 | | - * .build()) |
114 | | - * .build()) |
115 | | - * .roles(Map.of("authenticated", authenticatedRole.arn())) |
116 | | - * .build()); |
117 | | - * |
118 | | - * } |
119 | | - * } |
120 | | - * ``` |
121 | | - * |
122 | 23 | * ## Import |
123 | 24 | * |
124 | 25 | * Cognito Identity Pool Roles Attachment can be imported using the Identity Pool ID, e.g., |
|
0 commit comments