-
Notifications
You must be signed in to change notification settings - Fork 6
/
elb.cfc
56 lines (41 loc) · 1.43 KB
/
elb.cfc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
component accessors=true extends='aws' {
property name='myClient' type='com.amazonaws.services.elasticloadbalancing.AmazonElasticLoadBalancingClient' getter=false setter=false;
public elb function init(
string account,
string secret,
string region = 'eu-west-1'
) {
super.init(
argumentCollection = arguments
);
variables.myClient = CreateAWSObject( 'services.elasticloadbalancing.AmazonElasticLoadBalancingClientBuilder' )
.standard()
.withRegion( arguments.region )
.withCredentials( getCredentials() )
.build();
return this;
}
public function getConfig(
required string name
) {
var describeLoadBalancerRequest = CreateAWSObject( 'services.elasticloadbalancing.model.DescribeLoadBalancersRequest' ).init(
[ arguments.name ]
);
try {
describeLoadBalancerResponse = getMyClient()
.describeLoadBalancers(
describeLoadBalancerRequest
)
.getLoadBalancerDescriptions()
[1];
return {
'CanonicalHostedZoneName': describeLoadBalancerResponse.getCanonicalHostedZoneName(),
'CanonicalHostedZoneNameID': describeLoadBalancerResponse.getCanonicalHostedZoneNameID(),
'DNSName': describeLoadBalancerResponse.getDNSName(),
'LoadBalancerName': describeLoadBalancerResponse.getLoadBalancerName()
};
} catch ( com.amazonaws.services.elasticloadbalancing.model.LoadBalancerNotFoundException e ) {
throw( type = 'elb.nonexistant' , detail = arguments.name );
}
}
}