Sha256: d5b46021d3382d053404829094e0aee521a9c80797eab08edff222f393a0f5d9

Contents?: true

Size: 969 Bytes

Versions: 7

Compression:

Stored size: 969 Bytes

Contents

class Terraspace::CLI
  class Cloud < Terraspace::Command
    Syncer = Terraspace::Terraform::Cloud::Syncer
    Workspace = Terraspace::Terraform::Cloud::Workspace

    yes_option = Proc.new {
      option :yes, aliases: :y, type: :boolean, desc: "bypass are you sure prompt"
    }

    desc "list", "List workspaces"
    long_desc Help.text("cloud:list")
    yes_option.call
    def list
      Workspace.new(options).list
    end

    desc "destroy STACK", "Destroy workspace by specifying the stack"
    long_desc Help.text("cloud:destroy")
    def destroy(mod)
      Workspace.new(options.merge(mod: mod)).destroy
    end

    desc "sync [STACK]", "Sync all or multiple workspaces."
    long_desc Help.text("cloud:sync")
    yes_option.call
    def sync(*stacks)
      Syncer.new(options.merge(stacks: stacks, override_auto_sync: true)).run
    end

    desc "runs SUBCOMMAND", "runs subcommands"
    long_desc Help.text(:runs)
    subcommand "runs", Runs
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
terraspace-0.4.3 lib/terraspace/cli/cloud.rb
terraspace-0.4.2 lib/terraspace/cli/cloud.rb
terraspace-0.4.1 lib/terraspace/cli/cloud.rb
terraspace-0.4.0 lib/terraspace/cli/cloud.rb
terraspace-0.3.6 lib/terraspace/cli/cloud.rb
terraspace-0.3.5 lib/terraspace/cli/cloud.rb
terraspace-0.3.4 lib/terraspace/cli/cloud.rb