Sha256: 706d413cfcf99f8ed29024dd05cec23a1281e7d0e7330687d1bf8a19d48a5079

Contents?: true

Size: 816 Bytes

Versions: 4

Compression:

Stored size: 816 Bytes

Contents

module Terraspace::Cloud
  class Api
    include Context
    include HttpMethods

    def initialize(options)
      @options = options
      setup_context(@options)
    end

    def endpoint
      ENV['TS_API'].blank? ? 'https://api.terraspace.cloud/api/v1' : ENV['TS_API']
    end

    def stack_path
      "orgs/#{@org}/projects/#{@project}/stacks/#{@stack}"
    end

    def create_upload
      post("#{stack_path}/uploads", @options)
    end

    # record_attrs: {upload_id: "upload-nRPSpyWd65Ps6978", kind: "apply", stack_id: '...'}
    def create_plan(data)
      post("#{stack_path}/plans", data.merge(@options))
    end

    # data: {upload_id: "upload-nRPSpyWd65Ps6978", kind: "apply", stack_id: '...'}
    def create_update(data)
      post("#{stack_path}/updates", data.merge(@options))
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
terraspace-2.0.3 lib/terraspace/cloud/api.rb
terraspace-2.0.2 lib/terraspace/cloud/api.rb
terraspace-2.0.1 lib/terraspace/cloud/api.rb
terraspace-2.0.0 lib/terraspace/cloud/api.rb