fog-aws 0.11.0 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +22 -1
- data/lib/fog/aws.rb +2 -0
- data/lib/fog/aws/cloud_formation.rb +14 -0
- data/lib/fog/aws/compute.rb +2 -0
- data/lib/fog/aws/models/compute/security_group.rb +49 -26
- data/lib/fog/aws/models/compute/vpc.rb +6 -0
- data/lib/fog/aws/models/support/flagged_resource.rb +14 -0
- data/lib/fog/aws/models/support/flagged_resources.rb +11 -0
- data/lib/fog/aws/models/support/trusted_advisor_check.rb +65 -0
- data/lib/fog/aws/models/support/trusted_advisor_checks.rb +21 -0
- data/lib/fog/aws/parsers/cloud_formation/basic.rb +8 -0
- data/lib/fog/aws/parsers/cloud_formation/create_change_set.rb +16 -0
- data/lib/fog/aws/parsers/cloud_formation/describe_account_limits.rb +26 -0
- data/lib/fog/aws/parsers/cloud_formation/describe_change_set.rb +135 -0
- data/lib/fog/aws/parsers/cloud_formation/describe_stack_resource.rb +28 -0
- data/lib/fog/aws/parsers/cloud_formation/estimate_template_cost.rb +16 -0
- data/lib/fog/aws/parsers/cloud_formation/get_stack_policy.rb +16 -0
- data/lib/fog/aws/parsers/cloud_formation/get_template_summary.rb +62 -0
- data/lib/fog/aws/parsers/cloud_formation/list_change_sets.rb +30 -0
- data/lib/fog/aws/parsers/compute/describe_vpcs.rb +3 -1
- data/lib/fog/aws/requests/cloud_formation/cancel_update_stack.rb +25 -0
- data/lib/fog/aws/requests/cloud_formation/continue_update_rollback.rb +26 -0
- data/lib/fog/aws/requests/cloud_formation/create_change_set.rb +70 -0
- data/lib/fog/aws/requests/cloud_formation/create_stack.rb +14 -0
- data/lib/fog/aws/requests/cloud_formation/delete_change_set.rb +26 -0
- data/lib/fog/aws/requests/cloud_formation/delete_stack.rb +1 -1
- data/lib/fog/aws/requests/cloud_formation/describe_account_limits.rb +27 -0
- data/lib/fog/aws/requests/cloud_formation/describe_change_set.rb +43 -0
- data/lib/fog/aws/requests/cloud_formation/describe_stack_resource.rb +40 -0
- data/lib/fog/aws/requests/cloud_formation/estimate_template_cost.rb +48 -0
- data/lib/fog/aws/requests/cloud_formation/execute_change_set.rb +26 -0
- data/lib/fog/aws/requests/cloud_formation/get_stack_policy.rb +27 -0
- data/lib/fog/aws/requests/cloud_formation/get_template_summary.rb +46 -0
- data/lib/fog/aws/requests/cloud_formation/list_change_sets.rb +40 -0
- data/lib/fog/aws/requests/cloud_formation/set_stack_policy.rb +38 -0
- data/lib/fog/aws/requests/cloud_formation/signal_resource.rb +32 -0
- data/lib/fog/aws/requests/cloud_formation/update_stack.rb +49 -0
- data/lib/fog/aws/requests/compute/authorize_security_group_egress.rb +112 -0
- data/lib/fog/aws/requests/compute/revoke_security_group_egress.rb +98 -0
- data/lib/fog/aws/requests/support/describe_trusted_advisor_check_result.rb +31 -0
- data/lib/fog/aws/requests/support/describe_trusted_advisor_checks.rb +29 -0
- data/lib/fog/aws/support.rb +170 -0
- data/lib/fog/aws/version.rb +1 -1
- data/tests/models/compute/security_group_tests.rb +24 -0
- data/tests/models/support/trusted_advisor_tests.rb +25 -0
- data/tests/requests/support/helper.rb +43 -0
- data/tests/requests/support/trusted_advisor_check_tests.rb +16 -0
- metadata +36 -3
@@ -0,0 +1,28 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module CloudFormation
|
5
|
+
class DescribeStackResource < Fog::Parsers::Base
|
6
|
+
def reset
|
7
|
+
@resource = {}
|
8
|
+
@response = { 'StackResourceDetail' => {} }
|
9
|
+
end
|
10
|
+
|
11
|
+
def end_element(name)
|
12
|
+
case name
|
13
|
+
when 'Description','LogicalResourceId', 'Metadata', 'PhysicalResourceId', 'ResourceStatus', 'ResourceStatusReason', 'ResourceType', 'StackId', 'StackName'
|
14
|
+
@resource[name] = value
|
15
|
+
when 'StackResourceDetail'
|
16
|
+
@response['StackResourceDetail'] = @resource
|
17
|
+
@resource = {}
|
18
|
+
when 'RequestId'
|
19
|
+
@response[name] = value
|
20
|
+
when 'LastUpdatedTimestamp'
|
21
|
+
@resource[name] = Time.parse(value)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module CloudFormation
|
5
|
+
class EstimateTemplateCost < Fog::Parsers::Base
|
6
|
+
def end_element(name)
|
7
|
+
case name
|
8
|
+
when 'RequestId', 'Url'
|
9
|
+
@response[name] = value
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module CloudFormation
|
5
|
+
class GetStackPolicy < Fog::Parsers::Base
|
6
|
+
def end_element(name)
|
7
|
+
case name
|
8
|
+
when 'RequestId', 'StackPolicyBody'
|
9
|
+
@response[name] = value
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module CloudFormation
|
5
|
+
class GetTemplateSummary < Fog::Parsers::Base
|
6
|
+
def reset
|
7
|
+
reset_parameter
|
8
|
+
@response = {'Capabilities' => [],'ResourceTypes' => '','Parameters' => [] }
|
9
|
+
end
|
10
|
+
|
11
|
+
def reset_parameter
|
12
|
+
@parameter = {'AllowedValues' => []}
|
13
|
+
end
|
14
|
+
|
15
|
+
def start_element(name, attrs=[])
|
16
|
+
super
|
17
|
+
case name
|
18
|
+
when 'Capabilities'
|
19
|
+
@in_capabilities = true
|
20
|
+
when 'Parameters'
|
21
|
+
@in_parameters = true
|
22
|
+
when 'ResourceTypes'
|
23
|
+
@in_resource_types = true
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def end_element(name)
|
28
|
+
case name
|
29
|
+
when 'member'
|
30
|
+
if @in_capabilities
|
31
|
+
@response['Capabilities'] << value
|
32
|
+
elsif @in_resource_types
|
33
|
+
@response['ResourceTypes'] << value
|
34
|
+
elsif @in_parameters
|
35
|
+
@response['Parameters'] << @parameter
|
36
|
+
reset_parameter
|
37
|
+
end
|
38
|
+
when 'DefaultValue', 'NoEcho', 'ParameterKey', 'ParameterType', 'ParameterType'
|
39
|
+
@parameter[name] = value if @in_parameters
|
40
|
+
when 'Description'
|
41
|
+
if @in_parameters
|
42
|
+
@parameter[name] = value
|
43
|
+
else
|
44
|
+
@response[name] = value
|
45
|
+
end
|
46
|
+
when 'ParameterConstraints'
|
47
|
+
@parameter['AllowedValues'] << value if @in_parameters
|
48
|
+
when 'RequestId'
|
49
|
+
@response[name] = value
|
50
|
+
when 'Parameters'
|
51
|
+
@in_parameters = false
|
52
|
+
when 'ResourceTypes'
|
53
|
+
@in_resource_types = false
|
54
|
+
when 'Capabilities'
|
55
|
+
@in_capabilities = false
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module CloudFormation
|
5
|
+
class ListChangeSets < Fog::Parsers::Base
|
6
|
+
def reset
|
7
|
+
@change_set = {}
|
8
|
+
@response = { 'Summaries' => [] }
|
9
|
+
end
|
10
|
+
|
11
|
+
def end_element(name)
|
12
|
+
case name
|
13
|
+
when 'ChangeSetId', 'ChangeSetName', 'Description', 'ExecutionStatus', 'StackId', 'StackName', 'Status', 'StackReason'
|
14
|
+
@change_set[name] = value
|
15
|
+
when 'member'
|
16
|
+
@response['Summaries'] << @change_set
|
17
|
+
@change_set = {}
|
18
|
+
when 'RequestId'
|
19
|
+
@response[name] = value
|
20
|
+
when 'CreationTime'
|
21
|
+
@change_set[name] = Time.parse(value)
|
22
|
+
when 'NextToken'
|
23
|
+
@response[name] = value
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -30,8 +30,10 @@ module Fog
|
|
30
30
|
end
|
31
31
|
else
|
32
32
|
case name
|
33
|
-
when 'vpcId', 'state', 'cidrBlock', 'dhcpOptionsId', 'instanceTenancy'
|
33
|
+
when 'vpcId', 'state', 'cidrBlock', 'dhcpOptionsId', 'instanceTenancy'
|
34
34
|
@vpc[name] = value
|
35
|
+
when 'isDefault'
|
36
|
+
@vpc['isDefault'] = value == 'true'
|
35
37
|
when 'item'
|
36
38
|
@response['vpcSet'] << @vpc
|
37
39
|
@vpc = { 'tagSet' => {} }
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class CloudFormation
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/cloud_formation/basic'
|
6
|
+
|
7
|
+
# Cancels an update on the specified stack.
|
8
|
+
#
|
9
|
+
# @param stack_name String] Name of the stack to cancel update.
|
10
|
+
#
|
11
|
+
# @return [Excon::Response]
|
12
|
+
#
|
13
|
+
# @see http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/API_CancelUpdateStack.html
|
14
|
+
|
15
|
+
def cancel_update_stack(stack_name)
|
16
|
+
request(
|
17
|
+
'Action' => 'CancelUpdateStack',
|
18
|
+
'StackName' => stack_name,
|
19
|
+
:parser => Fog::Parsers::AWS::CloudFormation::Basic.new
|
20
|
+
)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class CloudFormation
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/cloud_formation/basic'
|
6
|
+
|
7
|
+
# For a specified stack that is in the UPDATE_ROLLBACK_FAILED state,
|
8
|
+
# continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state.
|
9
|
+
#
|
10
|
+
# @param stack_name [String] The name or the unique ID of the stack that you want to continue rolling back.
|
11
|
+
#
|
12
|
+
# @return [Excon::Response]
|
13
|
+
#
|
14
|
+
# @see http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/API_ContinueUpdateRollback.html
|
15
|
+
|
16
|
+
def continue_update_rollback(stack_name)
|
17
|
+
request(
|
18
|
+
'Action' => 'ContinueUpdateRollback',
|
19
|
+
'StackName' => stack_name,
|
20
|
+
:parser => Fog::Parsers::AWS::CloudFormation::Basic.new
|
21
|
+
)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class CloudFormation
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/cloud_formation/create_change_set'
|
6
|
+
|
7
|
+
# Create a Change Set.
|
8
|
+
#
|
9
|
+
# * stack_name [String] Name of the stack to create.
|
10
|
+
# * options [Hash]:
|
11
|
+
# * ChangeSetName [String] The name of the change set.
|
12
|
+
# * Description [String] A description to help you identify this change set.
|
13
|
+
# * TemplateBody [String] Structure containing the template body.
|
14
|
+
# or (one of the two Template parameters is required)
|
15
|
+
# * TemplateURL [String] URL of file containing the template body.
|
16
|
+
# * UsePreviousTemplate [Boolean] Reuse the template that is associated with the stack to create the change set.
|
17
|
+
# * NotificationARNs [Array] List of SNS topics to publish events to.
|
18
|
+
# * Parameters [Hash] Hash of providers to supply to template.
|
19
|
+
#
|
20
|
+
# @return [Excon::Response]:
|
21
|
+
# * body [Hash:
|
22
|
+
# * Id [String] - The Amazon Resource Name (ARN) of the change set
|
23
|
+
#
|
24
|
+
# @see http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/API_CreateChangeSet.html
|
25
|
+
|
26
|
+
def create_change_set(stack_name, options = {})
|
27
|
+
params = {
|
28
|
+
'StackName' => stack_name,
|
29
|
+
}
|
30
|
+
|
31
|
+
if options['ChangeSetName']
|
32
|
+
params['ChangeSetName'] = options['ChangeSetName']
|
33
|
+
end
|
34
|
+
|
35
|
+
if options['Description']
|
36
|
+
params['Description'] = options['Description']
|
37
|
+
end
|
38
|
+
if options['UsePreviousTemplate']
|
39
|
+
params['UsePreviousTemplate'] = options['UsePreviousTemplate']
|
40
|
+
end
|
41
|
+
|
42
|
+
if options['NotificationARNs']
|
43
|
+
params.merge!(Fog::AWS.indexed_param("NotificationARNs.member", [*options['NotificationARNs']]))
|
44
|
+
end
|
45
|
+
|
46
|
+
if options['Parameters']
|
47
|
+
options['Parameters'].keys.each_with_index do |key, index|
|
48
|
+
index += 1 # params are 1-indexed
|
49
|
+
params.merge!({
|
50
|
+
"Parameters.member.#{index}.ParameterKey" => key,
|
51
|
+
"Parameters.member.#{index}.ParameterValue" => options['Parameters'][key]
|
52
|
+
})
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
if options['TemplateBody']
|
57
|
+
params['TemplateBody'] = options['TemplateBody']
|
58
|
+
elsif options['TemplateURL']
|
59
|
+
params['TemplateURL'] = options['TemplateURL']
|
60
|
+
end
|
61
|
+
|
62
|
+
request({
|
63
|
+
'Action' => 'CreateChangeSet',
|
64
|
+
:parser => Fog::Parsers::AWS::CloudFormation::CreateChangeSet.new
|
65
|
+
}.merge!(params))
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -12,10 +12,14 @@ module Fog
|
|
12
12
|
# or (one of the two Template parameters is required)
|
13
13
|
# * TemplateURL [String] URL of file containing the template body.
|
14
14
|
# * DisableRollback [Boolean] Controls rollback on stack creation failure, defaults to false.
|
15
|
+
# * OnFailure [String] Determines what action will be taken if stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or DELETE.
|
15
16
|
# * NotificationARNs [Array] List of SNS topics to publish events to.
|
16
17
|
# * Parameters [Hash] Hash of providers to supply to template
|
17
18
|
# * TimeoutInMinutes [Integer] Minutes to wait before status is set to CREATE_FAILED
|
18
19
|
# * Capabilities [Array] List of capabilties the stack is granted. Currently CAPABILITY_IAM for allowing the creation of IAM resources
|
20
|
+
# * StackPolicyBody [String] Structure containing the stack policy body.
|
21
|
+
# * StackPolicyURL [String] URL of file containing the stack policy.
|
22
|
+
# * Tags [Array] Key-value pairs to associate with this stack.
|
19
23
|
#
|
20
24
|
# @return [Excon::Response]:
|
21
25
|
# * body [Hash:
|
@@ -32,6 +36,10 @@ module Fog
|
|
32
36
|
params['DisableRollback'] = options['DisableRollback']
|
33
37
|
end
|
34
38
|
|
39
|
+
if options['OnFailure']
|
40
|
+
params['OnFailure'] = options['OnFailure']
|
41
|
+
end
|
42
|
+
|
35
43
|
if options['NotificationARNs']
|
36
44
|
params.merge!(Fog::AWS.indexed_param("NotificationARNs.member", [*options['NotificationARNs']]))
|
37
45
|
end
|
@@ -69,6 +77,12 @@ module Fog
|
|
69
77
|
params['TemplateURL'] = options['TemplateURL']
|
70
78
|
end
|
71
79
|
|
80
|
+
if options['StackPolicyBody']
|
81
|
+
params['StackPolicyBody'] = options['StackPolicyBody']
|
82
|
+
elsif options['StackPolicyURL']
|
83
|
+
params['StackPolicyURL'] = options['StackPolicyURL']
|
84
|
+
end
|
85
|
+
|
72
86
|
if options['TimeoutInMinutes']
|
73
87
|
params['TimeoutInMinutes'] = options['TimeoutInMinutes']
|
74
88
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class CloudFormation
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/cloud_formation/basic'
|
6
|
+
|
7
|
+
# Delete a change set.
|
8
|
+
#
|
9
|
+
# @param ChangeSetName [String] The name of the change set to delete.
|
10
|
+
# @option options StackName [String] The Stack name or ID (ARN) that is associated with change set.
|
11
|
+
#
|
12
|
+
# @return [Excon::Response]
|
13
|
+
#
|
14
|
+
# @see http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/API_DeleteChangeSet.html
|
15
|
+
|
16
|
+
def delete_change_set(change_set_name, options = {})
|
17
|
+
options['ChangeSetName'] = change_set_name
|
18
|
+
request({
|
19
|
+
'Action' => 'DeleteChangeSet',
|
20
|
+
:parser => Fog::Parsers::AWS::CloudFormation::Basic.new
|
21
|
+
}.merge!(options))
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class CloudFormation
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/cloud_formation/describe_account_limits'
|
6
|
+
|
7
|
+
# Describe account_limits.
|
8
|
+
#
|
9
|
+
#
|
10
|
+
# @return [Excon::Response]
|
11
|
+
# * body [Hash]:
|
12
|
+
# * AccountLimits [Array]
|
13
|
+
# * member [Hash]:
|
14
|
+
# * StackLimit [Integer]
|
15
|
+
#
|
16
|
+
# @see http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/API_DescribeAccountLimits.html
|
17
|
+
|
18
|
+
def describe_account_limits()
|
19
|
+
request(
|
20
|
+
'Action' => 'DescribeAccountLimits',
|
21
|
+
:parser => Fog::Parsers::AWS::CloudFormation::DescribeAccountLimits.new
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class CloudFormation
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/cloud_formation/describe_change_set'
|
6
|
+
|
7
|
+
# Describe change_set.
|
8
|
+
#
|
9
|
+
# * ChangeSetName [String] The name of the change set to describe.
|
10
|
+
# @param options [Hash]
|
11
|
+
# @option options StackName [String] Name of the stack for the change set.
|
12
|
+
#
|
13
|
+
# @return [Excon::Response]
|
14
|
+
# * body [Hash]:
|
15
|
+
# * ChangeSetId [String] -
|
16
|
+
# * ChangeSetName [String] -
|
17
|
+
# * Description [String] -
|
18
|
+
# * CreationTime [Time] -
|
19
|
+
# * ExecutionStatus [String] -
|
20
|
+
# * StackId [String] -
|
21
|
+
# * StackName [String] -
|
22
|
+
# * Status [String] -
|
23
|
+
# * StackReason [String] -
|
24
|
+
# * NotificationARNs [Array] -
|
25
|
+
# * NotificationARN [String] -
|
26
|
+
# * Parameters [Array] -
|
27
|
+
# * parameter [Hash]:
|
28
|
+
# * ParameterKey [String] -
|
29
|
+
# * ParameterValue [String] -
|
30
|
+
#
|
31
|
+
# @see http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/API_DescribeChangeSet.html
|
32
|
+
|
33
|
+
def describe_change_set(change_set_name, options = {})
|
34
|
+
options['ChangeSetName'] = change_set_name
|
35
|
+
request({
|
36
|
+
'Action' => 'DescribeChangeSet',
|
37
|
+
:parser => Fog::Parsers::AWS::CloudFormation::DescribeChangeSet.new
|
38
|
+
}.merge!(options))
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
class CloudFormation
|
4
|
+
class Real
|
5
|
+
require 'fog/aws/parsers/cloud_formation/describe_stack_resource'
|
6
|
+
|
7
|
+
# Describe stack resource.
|
8
|
+
#
|
9
|
+
# @param options Hash]:
|
10
|
+
# * LogicalResourceId [String] Logical name of the resource as specified in the template
|
11
|
+
# * StackName [String] The name or the unique stack ID
|
12
|
+
#
|
13
|
+
# @return [Excon::Response]
|
14
|
+
# * body [Hash]:
|
15
|
+
# * StackResourceDetail [Hash] - Matching resources
|
16
|
+
# *Description [String] -
|
17
|
+
# * LastUpdatedTimestamp [Timestamp] -
|
18
|
+
# * LogicalResourceId [String] -
|
19
|
+
# * Metadata [String] -
|
20
|
+
# * PhysicalResourceId [String] -
|
21
|
+
# * ResourceStatus [String] -
|
22
|
+
# * ResourceStatusReason [String] -
|
23
|
+
# * ResourceType [String] -
|
24
|
+
# * StackId [String] -
|
25
|
+
# * StackName [String] -
|
26
|
+
#
|
27
|
+
# @see http://docs.amazonwebservices.com/AWSCloudFormation/latest/APIReference/API_DescribeStackResource.html
|
28
|
+
|
29
|
+
def describe_stack_resource(logical_resource_id, stack_name )
|
30
|
+
request(
|
31
|
+
'Action' => 'DescribeStackResource',
|
32
|
+
'LogicalResourceId' => logical_resource_id,
|
33
|
+
'StackName' => stack_name,
|
34
|
+
:parser => Fog::Parsers::AWS::CloudFormation::DescribeStackResource.new
|
35
|
+
)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|