Sha256: c11efa51c6f9e6e2f9a52f86a6c4d75e99e9486dfa4a0e1c088be6c033a2f89c

Contents?: true

Size: 1002 Bytes

Versions: 13

Compression:

Stored size: 1002 Bytes

Contents

class Jets::Resource::ApiGateway::RestApi::Routes::Change
  class MediaTypes < Base
    def changed?
      current_binary_media_types != new_binary_media_types
    end

    def new_binary_media_types
      rest_api = Jets::Resource::ApiGateway::RestApi.new
      rest_api.binary_media_types
    end
    memoize :new_binary_media_types

    def current_binary_media_types
      return nil unless parent_stack_exists?

      stack = cfn.describe_stacks(stack_name: parent_stack_name).stacks.first

      api_gateway_stack_arn = lookup(stack[:outputs], "ApiGateway")

      stack = cfn.describe_stacks(stack_name: api_gateway_stack_arn).stacks.first
      rest_api_id = lookup(stack[:outputs], "RestApi")

      resp = apigateway.get_rest_api(rest_api_id: rest_api_id)
      resp.binary_media_types
    end
    memoize :current_binary_media_types

    def parent_stack_exists?
      stack_exists?(parent_stack_name)
    end

    def parent_stack_name
      Jets::Names.parent_stack_name
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
jets-4.0.12 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.11 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.10 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.9 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.8 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.7 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.6 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.5 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.4 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.3 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.2 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.1 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb
jets-4.0.0 lib/jets/resource/api_gateway/rest_api/routes/change/media_types.rb