PolicyTemplate
The PolicyTemplate resource allows you to create and manage AWS VerifiedPermissions PolicyTemplates that define permission policies for your applications.
Minimal Example
Section titled “Minimal Example”Create a basic policy template with required properties and a description.
import AWS from "alchemy/aws/control";
const basicPolicyTemplate = await AWS.VerifiedPermissions.PolicyTemplate("basicPolicyTemplate", {  Description: "Basic policy template for user permissions",  Statement: JSON.stringify({    Version: "2012-10-17",    Statement: [      {        Effect: "Allow",        Action: "s3:GetObject",        Resource: "arn:aws:s3:::my-bucket/*"      }    ]  }),  PolicyStoreId: "myPolicyStore"});Advanced Configuration
Section titled “Advanced Configuration”Define a more complex policy template with additional permissions and a longer description.
const advancedPolicyTemplate = await AWS.VerifiedPermissions.PolicyTemplate("advancedPolicyTemplate", {  Description: "Advanced policy template for managing user access to S3 and DynamoDB",  Statement: JSON.stringify({    Version: "2012-10-17",    Statement: [      {        Effect: "Allow",        Action: [          "s3:GetObject",          "s3:PutObject"        ],        Resource: "arn:aws:s3:::my-advanced-bucket/*"      },      {        Effect: "Allow",        Action: "dynamodb:Query",        Resource: "arn:aws:dynamodb:us-east-1:123456789012:table/MyTable"      }    ]  }),  PolicyStoreId: "myAdvancedPolicyStore"});Adopt Existing Resource
Section titled “Adopt Existing Resource”Create a policy template that adopts an existing resource instead of failing if the resource already exists.
const adoptPolicyTemplate = await AWS.VerifiedPermissions.PolicyTemplate("adoptPolicyTemplate", {  Description: "Adopt existing policy template",  Statement: JSON.stringify({    Version: "2012-10-17",    Statement: [      {        Effect: "Allow",        Action: "lambda:InvokeFunction",        Resource: "arn:aws:lambda:us-east-1:123456789012:function:myFunction"      }    ]  }),  PolicyStoreId: "myAdoptPolicyStore",  adopt: true});