typed-aws
Version:
Helps you write AWS CloudFormation in TypeScript
292 lines (291 loc) • 11.6 kB
TypeScript
import { CfnResource, Resolvable } from '../../base';
export declare type LoadBalancer_Type = 'AWS::ElasticLoadBalancing::LoadBalancer';
export declare const LoadBalancer_Type = "AWS::ElasticLoadBalancing::LoadBalancer";
/**
* Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html}
*/
export default function LoadBalancer(props: LoadBalancer_Properties): CfnResource<LoadBalancer_Properties>;
/**
* Resource Type definition for AWS::ElasticLoadBalancing::LoadBalancer
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html}
*/
export declare type LoadBalancer_Properties = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-securitygroups}
*/
SecurityGroups?: Resolvable<string>[];
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-connectiondrainingpolicy}
*/
ConnectionDrainingPolicy?: ConnectionDrainingPolicy;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-policies}
*/
Policies?: Policies[];
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-scheme}
*/
Scheme?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-availabilityzones}
*/
AvailabilityZones?: Resolvable<string>[];
SourceSecurityGroupOwnerAlias?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-healthcheck}
*/
HealthCheck?: HealthCheck;
CanonicalHostedZoneNameID?: Resolvable<string>;
CanonicalHostedZoneName?: Resolvable<string>;
DNSName?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-accessloggingpolicy}
*/
AccessLoggingPolicy?: AccessLoggingPolicy;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-instances}
*/
Instances?: Resolvable<string>[];
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-elbname}
*/
LoadBalancerName?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-listeners}
*/
Listeners: Listeners[];
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-subnets}
*/
Subnets?: Resolvable<string>[];
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-crosszone}
*/
CrossZone?: Resolvable<boolean>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-appcookiestickinesspolicy}
*/
AppCookieStickinessPolicy?: AppCookieStickinessPolicy[];
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-lbcookiestickinesspolicy}
*/
LBCookieStickinessPolicy?: LBCookieStickinessPolicy[];
Id?: Resolvable<string>;
SourceSecurityGroupGroupName?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-ec2-elb-connectionsettings}
*/
ConnectionSettings?: ConnectionSettings;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb.html#cfn-elasticloadbalancing-loadbalancer-tags}
*/
Tags?: Tag[];
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html}
*/
export declare type Listeners = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-policynames}
*/
PolicyNames?: Resolvable<string>[];
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-instanceport}
*/
InstancePort: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-loadbalancerport}
*/
LoadBalancerPort: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-protocol}
*/
Protocol: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-sslcertificateid}
*/
SSLCertificateId?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-listener.html#cfn-ec2-elb-listener-instanceprotocol}
*/
InstanceProtocol?: Resolvable<string>;
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html}
*/
export declare type ConnectionDrainingPolicy = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html#cfn-elb-connectiondrainingpolicy-enabled}
*/
Enabled: Resolvable<boolean>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectiondrainingpolicy.html#cfn-elb-connectiondrainingpolicy-timeout}
*/
Timeout?: Resolvable<number>;
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html}
*/
export declare type Policies = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-attributes}
*/
Attributes: {
[k: string]: unknown;
}[];
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-policytype}
*/
PolicyType: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-loadbalancerports}
*/
LoadBalancerPorts?: Resolvable<string>[];
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-policyname}
*/
PolicyName: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-policy.html#cfn-ec2-elb-policy-instanceports}
*/
InstancePorts?: Resolvable<string>[];
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html}
*/
export declare type AppCookieStickinessPolicy = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html#cfn-elb-appcookiestickinesspolicy-cookiename}
*/
CookieName: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-AppCookieStickinessPolicy.html#cfn-elb-appcookiestickinesspolicy-policyname}
*/
PolicyName: Resolvable<string>;
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html}
*/
export declare type LBCookieStickinessPolicy = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html#cfn-elb-lbcookiestickinesspolicy-cookieexpirationperiod}
*/
CookieExpirationPeriod?: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-LBCookieStickinessPolicy.html#cfn-elb-lbcookiestickinesspolicy-policyname}
*/
PolicyName?: Resolvable<string>;
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html}
*/
export declare type HealthCheck = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-target}
*/
Target: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-unhealthythreshold}
*/
UnhealthyThreshold: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-timeout}
*/
Timeout: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-healthythreshold}
*/
HealthyThreshold: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-health-check.html#cfn-elb-healthcheck-interval}
*/
Interval: Resolvable<string>;
};
export declare type Tag = {
Value: Resolvable<string>;
Key: Resolvable<string>;
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html}
*/
export declare type AccessLoggingPolicy = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-enabled}
*/
Enabled: Resolvable<boolean>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-s3bucketname}
*/
S3BucketName: Resolvable<string>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-emitinterval}
*/
EmitInterval?: Resolvable<number>;
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-accessloggingpolicy.html#cfn-elb-accessloggingpolicy-s3bucketprefix}
*/
S3BucketPrefix?: Resolvable<string>;
};
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectionsettings.html}
*/
export declare type ConnectionSettings = {
/**
* {@link
* http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-elb-connectionsettings.html#cfn-elb-connectionsettings-idletimeout}
*/
IdleTimeout: Resolvable<number>;
};