import * as core from "@terrascript/core"; export interface DeploymentStrategyArgs extends core.ResourceArgs { /** * (Required) Total amount of time for a deployment to last. Minimum value of 0, maximum value of 1440. */ deploymentDurationInMinutes: number | core.NumberOut; /** * (Optional) A description of the deployment strategy. Can be at most 1024 characters. */ description?: string | core.StringOut; /** * (Optional) The amount of time AWS AppConfig monitors for alarms before considering the deployment to * be complete and no longer eligible for automatic roll back. Minimum value of 0, maximum value of 14 * 40. */ finalBakeTimeInMinutes?: number | core.NumberOut; /** * (Required) The percentage of targets to receive a deployed configuration during each interval. Minim * um value of 1.0, maximum value of 100.0. */ growthFactor: number | core.NumberOut; /** * (Optional) The algorithm used to define how percentage grows over time. Valid value: `LINEAR` and `E * XPONENTIAL`. Defaults to `LINEAR`. */ growthType?: string | core.StringOut; /** * (Required, Forces new resource) A name for the deployment strategy. Must be between 1 and 64 charact * ers in length. */ name: string | core.StringOut; /** * (Required, Forces new resource) Where to save the deployment strategy. Valid values: `NONE` and `SSM * _DOCUMENT`. */ replicateTo: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export class DeploymentStrategy extends core.Resource { /** * The Amazon Resource Name (ARN) of the AppConfig Deployment Strategy. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) Total amount of time for a deployment to last. Minimum value of 0, maximum value of 1440. */ @core.attr(Number) public deploymentDurationInMinutes!: number | core.NumberOut; /** * (Optional) A description of the deployment strategy. Can be at most 1024 characters. */ @core.attr(String) public description?: string | core.StringOut; /** * (Optional) The amount of time AWS AppConfig monitors for alarms before considering the deployment to * be complete and no longer eligible for automatic roll back. Minimum value of 0, maximum value of 14 * 40. */ @core.attr(Number) public finalBakeTimeInMinutes?: number | core.NumberOut; /** * (Required) The percentage of targets to receive a deployed configuration during each interval. Minim * um value of 1.0, maximum value of 100.0. */ @core.attr(Number) public growthFactor!: number | core.NumberOut; /** * (Optional) The algorithm used to define how percentage grows over time. Valid value: `LINEAR` and `E * XPONENTIAL`. Defaults to `LINEAR`. */ @core.attr(String) public growthType?: string | core.StringOut; /** * The AppConfig deployment strategy ID. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required, Forces new resource) A name for the deployment strategy. Must be between 1 and 64 charact * ers in length. */ @core.attr(String) public name!: string | core.StringOut; /** * (Required, Forces new resource) Where to save the deployment strategy. Valid values: `NONE` and `SSM * _DOCUMENT`. */ @core.attr(String) public replicateTo!: string | core.StringOut; /** * (Optional) A map of tags to assign to the resource. If configured with a provider [`default_tags` co * nfiguration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-co * nfiguration-block) present, tags with matching keys will overwrite those defined at the provider-lev * el. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: DeploymentStrategyArgs) { super(name, "aws_appconfig_deployment_strategy", args); } public override getNamespace(): string { return "aws_appconfig"; } }