Sha256: 626eb50d36806d917d497e36db671d2cbdc033e3b34ebaee5c18271f1d7ec3f8

Contents?: true

Size: 1.63 KB

Versions: 30

Compression:

Stored size: 1.63 KB

Contents

# frozen_string_literal: true

require_relative 'base'
require_relative '../options/global'

module RubyTerraform
  module Commands
    # Wraps the +terraform workspace delete+ command which deletes a workspace.
    #
    # For options accepted on construction, see {#initialize}.
    #
    # When executing an instance of {WorkspaceDelete} via {#execute}, the
    # following options are supported:
    #
    # * +:name+: the name of the workspace to delete; required.
    # * +:directory+: the path to a directory containing terraform configuration
    #   (deprecated in terraform 0.14, removed in terraform 0.15, use +:chdir+
    #   instead).
    # * +:chdir+: the path of a working directory to switch to before executing
    #   the given subcommand.
    # * +:force+: whether or not to remove a non-empty workspace; defaults to
    #   +false+.
    # * +:lock+: when +true+, locks the state file when locking is supported;
    #   when +false+, does not lock the state file; defaults to +true+.
    # * +:lock_timeout+: the duration to retry a state lock; defaults to +"0s"+.
    #
    # @example Basic Invocation
    #   RubyTerraform::Commands::WorkspaceDelete.new.execute(
    #     name: 'example')
    #
    class WorkspaceDelete < Base
      include RubyTerraform::Options::Global

      # @!visibility private
      def subcommands
        %w[workspace delete]
      end

      # @!visibility private
      def options
        %w[
          -force
          -lock
          -lock-timeout
        ] + super
      end

      # @!visibility private
      def arguments(parameters)
        [parameters[:name], parameters[:directory]]
      end
    end
  end
end

Version data entries

30 entries across 30 versions & 1 rubygems

Version Path
ruby-terraform-1.6.0.pre.4 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.6.0.pre.3 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.6.0.pre.2 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.6.0.pre.1 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.5.0 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.5.0.pre.5 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.5.0.pre.4 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.5.0.pre.3 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.5.0.pre.2 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.5.0.pre.1 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.4.0 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.4.0.pre.5 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.4.0.pre.4 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.4.0.pre.3 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.4.0.pre.2 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.4.0.pre.1 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.3.1 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.3.0 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.3.0.pre.3 lib/ruby_terraform/commands/workspace_delete.rb
ruby-terraform-1.3.0.pre.2 lib/ruby_terraform/commands/workspace_delete.rb