import * as core from "@terrascript/core"; export interface CampaignHookArgs extends core.SchemaArgs { lambdaFunctionName?: string | core.StringOut; mode?: string | core.StringOut; webUrl?: string | core.StringOut; } export class CampaignHook extends core.Schema { @core.attr(String) public lambdaFunctionName?: string | core.StringOut; @core.attr(String) public mode?: string | core.StringOut; @core.attr(String) public webUrl?: string | core.StringOut; } export interface LimitsArgs extends core.SchemaArgs { daily?: number | core.NumberOut; maximumDuration?: number | core.NumberOut; messagesPerSecond?: number | core.NumberOut; total?: number | core.NumberOut; } export class Limits extends core.Schema { @core.attr(Number) public daily?: number | core.NumberOut; @core.attr(Number) public maximumDuration?: number | core.NumberOut; @core.attr(Number) public messagesPerSecond?: number | core.NumberOut; @core.attr(Number) public total?: number | core.NumberOut; } export interface QuietTimeArgs extends core.SchemaArgs { end?: string | core.StringOut; start?: string | core.StringOut; } export class QuietTime extends core.Schema { @core.attr(String) public end?: string | core.StringOut; @core.attr(String) public start?: string | core.StringOut; } export interface AppArgs extends core.ResourceArgs { campaignHook?: CampaignHook; limits?: Limits; name?: string | core.StringOut; namePrefix?: string | core.StringOut; quietTime?: QuietTime; tags?: core.Map | core.MapOut; tagsAll?: core.Map | core.MapOut; } export class App extends core.Resource { @core.attr(String, { computed: true }) public applicationId!: string | core.StringOut; @core.attr(String, { computed: true }) public arn!: string | core.StringOut; @core.attr(CampaignHook) public campaignHook?: CampaignHook; @core.attr(String, { computed: true }) public id!: string | core.StringOut; @core.attr(Limits) public limits?: Limits; @core.attr(String, { computed: true }) public name?: string | core.StringOut; @core.attr(String) public namePrefix?: string | core.StringOut; @core.attr(QuietTime) public quietTime?: QuietTime; @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: AppArgs) { super(name, "aws_pinpoint_app", args); } public override getNamespace(): string { return "aws_pinpoint"; } }