import * as core from "@terrascript/core"; export interface LayerVersionPermissionArgs extends core.ResourceArgs { /** * (Required) Action, which will be allowed. `lambda:GetLayerVersion` value is suggested by AWS documan * tation. */ action: string | core.StringOut; layerName: string | core.StringOut; /** * (Optional) An identifier of AWS Organization, which should be able to use your Lambda Layer. `princi * pal` should be equal to `*` if `organization_id` provided. */ organizationId?: string | core.StringOut; /** * (Required) AWS account ID which should be able to use your Lambda Layer. `*` can be used here, if yo * u want to share your Lambda Layer widely. */ principal: string | core.StringOut; /** * (Required) The name of Lambda Layer Permission, for example `dev-account` - human readable note abou * t what is this permission for. */ statementId: string | core.StringOut; versionNumber: number | core.NumberOut; } export class LayerVersionPermission extends core.Resource { /** * (Required) Action, which will be allowed. `lambda:GetLayerVersion` value is suggested by AWS documan * tation. */ @core.attr(String) public action!: string | core.StringOut; /** * The `layer_name` and `version_number`, separated by a comma (`,`). */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; @core.attr(String) public layerName!: string | core.StringOut; /** * (Optional) An identifier of AWS Organization, which should be able to use your Lambda Layer. `princi * pal` should be equal to `*` if `organization_id` provided. */ @core.attr(String) public organizationId?: string | core.StringOut; /** * Full Lambda Layer Permission policy. */ @core.attr(String, { computed: true }) public policy!: string | core.StringOut; /** * (Required) AWS account ID which should be able to use your Lambda Layer. `*` can be used here, if yo * u want to share your Lambda Layer widely. */ @core.attr(String) public principal!: string | core.StringOut; /** * A unique identifier for the current revision of the policy. */ @core.attr(String, { computed: true }) public revisionId!: string | core.StringOut; /** * (Required) The name of Lambda Layer Permission, for example `dev-account` - human readable note abou * t what is this permission for. */ @core.attr(String) public statementId!: string | core.StringOut; @core.attr(Number) public versionNumber!: number | core.NumberOut; constructor(name: string, args?: LayerVersionPermissionArgs) { super(name, "aws_lambda_layer_version_permission", args); } public override getNamespace(): string { return "aws_lambda"; } }