import * as core from "@terrascript/core"; export interface PolicyAttributeArgs extends core.SchemaArgs { name?: string | core.StringOut; value?: string | core.StringOut; } export class PolicyAttribute extends core.Schema { @core.attr(String) public name?: string | core.StringOut; @core.attr(String) public value?: string | core.StringOut; } export interface LoadBalancerPolicyArgs extends core.ResourceArgs { /** * (Required) The load balancer on which the policy is defined. */ loadBalancerName: string | core.StringOut; /** * (Optional) Policy attribute to apply to the policy. */ policyAttribute?: | core.Array | core.ArrayOut; /** * (Required) The name of the load balancer policy. */ policyName: string | core.StringOut; /** * (Required) The policy type. */ policyTypeName: string | core.StringOut; } export class LoadBalancerPolicy extends core.Resource { /** * The ID of the policy. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The load balancer on which the policy is defined. */ @core.attr(String) public loadBalancerName!: string | core.StringOut; /** * (Optional) Policy attribute to apply to the policy. */ @core.attr(PolicyAttribute, { computed: true, kind: "array" }) public policyAttribute?: | core.Array | core.ArrayOut; /** * (Required) The name of the load balancer policy. */ @core.attr(String) public policyName!: string | core.StringOut; /** * (Required) The policy type. */ @core.attr(String) public policyTypeName!: string | core.StringOut; constructor(name: string, args?: LoadBalancerPolicyArgs) { super(name, "aws_load_balancer_policy", args); } public override getNamespace(): string { return "aws_elb_classic"; } }