class GeoEngineer::Resources::AwsApiGatewayDeployment

AwsCloudTrail is the api_gateway_deployment terrform resource,

{www.terraform.io/docs/providers/aws/r/api_gateway_deployment.html}

Public Class Methods

_fetch_deployments(provider, rr) click to toggle source
# File lib/geoengineer/resources/aws_api_gateway_deployment.rb, line 40
def self._fetch_deployments(provider, rr)
  _client(provider).get_deployments({
                                      rest_api_id: rr[:_terraform_id]
                                    })['items'].map(&:to_h)
end
_fetch_remote_resources(provider) click to toggle source
# File lib/geoengineer/resources/aws_api_gateway_deployment.rb, line 53
def self._fetch_remote_resources(provider)
  _fetch_remote_rest_apis(provider).map do |rr|
    _fetch_deployments(provider, rr) .map do |deployment|
      stage_name = _fetch_stage_name(provider, rr, deployment)
      next unless stage_name
      deployment[:_terraform_id] = deployment[:id]
      deployment[:_geo_id]       = "#{rr[:_geo_id]}::#{stage_name}"
      deployment[:stage_name]    = stage_name
      deployment
    end
  end.flatten.compact
end
_fetch_stage_name(provider, rr, deployment) click to toggle source
# File lib/geoengineer/resources/aws_api_gateway_deployment.rb, line 46
def self._fetch_stage_name(provider, rr, deployment)
  _client(provider).get_stages({
                                 rest_api_id: rr[:_terraform_id],
                                 deployment_id: deployment[:id]
                               }).item.first&.stage_name
end

Public Instance Methods

support_tags?() click to toggle source
# File lib/geoengineer/resources/aws_api_gateway_deployment.rb, line 36
def support_tags?
  false
end
to_terraform_state() click to toggle source
# File lib/geoengineer/resources/aws_api_gateway_deployment.rb, line 27
def to_terraform_state
  tfstate = super
  tfstate[:primary][:attributes] = {
    "rest_api_id" => _rest_api._terraform_id,
    "stage_name" => stage_name
  }
  tfstate
end