import * as core from "@terrascript/core"; export interface MinimumHealthyHostsArgs extends core.SchemaArgs { type?: string | core.StringOut; value?: number | core.NumberOut; } export class MinimumHealthyHosts extends core.Schema { @core.attr(String) public type?: string | core.StringOut; @core.attr(Number) public value?: number | core.NumberOut; } export interface TimeBasedCanaryArgs extends core.SchemaArgs { interval?: number | core.NumberOut; percentage?: number | core.NumberOut; } export class TimeBasedCanary extends core.Schema { @core.attr(Number) public interval?: number | core.NumberOut; @core.attr(Number) public percentage?: number | core.NumberOut; } export interface TimeBasedLinearArgs extends core.SchemaArgs { interval?: number | core.NumberOut; percentage?: number | core.NumberOut; } export class TimeBasedLinear extends core.Schema { @core.attr(Number) public interval?: number | core.NumberOut; @core.attr(Number) public percentage?: number | core.NumberOut; } export interface TrafficRoutingConfigArgs extends core.SchemaArgs { timeBasedCanary?: TimeBasedCanary; timeBasedLinear?: TimeBasedLinear; type?: string | core.StringOut; } export class TrafficRoutingConfig extends core.Schema { @core.attr(TimeBasedCanary) public timeBasedCanary?: TimeBasedCanary; @core.attr(TimeBasedLinear) public timeBasedLinear?: TimeBasedLinear; @core.attr(String) public type?: string | core.StringOut; } export interface DeploymentConfigArgs extends core.ResourceArgs { /** * (Optional) The compute platform can be `Server`, `Lambda`, or `ECS`. Default is `Server`. */ computePlatform?: string | core.StringOut; /** * (Required) The name of the deployment config. */ deploymentConfigName: string | core.StringOut; /** * (Optional) A minimum_healthy_hosts block. Required for `Server` compute platform. Minimum Healthy Ho * sts are documented below. */ minimumHealthyHosts?: MinimumHealthyHosts; /** * (Optional) A traffic_routing_config block. Traffic Routing Config is documented below. */ trafficRoutingConfig?: TrafficRoutingConfig; } export class DeploymentConfig extends core.Resource { /** * (Optional) The compute platform can be `Server`, `Lambda`, or `ECS`. Default is `Server`. */ @core.attr(String) public computePlatform?: string | core.StringOut; /** * The AWS Assigned deployment config id */ @core.attr(String, { computed: true }) public deploymentConfigId!: string | core.StringOut; /** * (Required) The name of the deployment config. */ @core.attr(String) public deploymentConfigName!: string | core.StringOut; /** * The deployment group's config name. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) A minimum_healthy_hosts block. Required for `Server` compute platform. Minimum Healthy Ho * sts are documented below. */ @core.attr(MinimumHealthyHosts) public minimumHealthyHosts?: MinimumHealthyHosts; /** * (Optional) A traffic_routing_config block. Traffic Routing Config is documented below. */ @core.attr(TrafficRoutingConfig) public trafficRoutingConfig?: TrafficRoutingConfig; constructor(name: string, args?: DeploymentConfigArgs) { super(name, "aws_codedeploy_deployment_config", args); } public override getNamespace(): string { return "aws_codedeploy"; } }