Sha256: e185d659a76c01c75652a137954b78f98ddd97bccfa06c56a104e82186fc1d04

Contents?: true

Size: 1.84 KB

Versions: 2

Compression:

Stored size: 1.84 KB

Contents

module Dpl
  module Providers
    class Anynines < Provider
      status :alpha

      description sq(<<-str)
        tbd
      str

      opt '--username USER',    'anynines username', required: true
      opt '--password PASS',    'anynines password', required: true, secret: true
      opt '--organization ORG', 'anynines target organization', required: true
      opt '--space SPACE',      'anynines target space', required: true
      opt '--app_name APP',     'Application name'
      opt '--buildpack PACK',   'Custom buildpack name or Git URL'
      opt '--manifest FILE',    'Path to the manifest'
      opt '--logout', default: true, internal: true

      API = 'https://api.de.a9s.eu'

      cmds install: 'test $(uname) = "Linux" && rel="linux64-binary" || rel="macosx64"; wget "https://cli.run.pivotal.io/stable?release=${rel}&source=github" -qO cf.tgz && tar -zxvf cf.tgz && rm cf.tgz',
           api:     './cf api %{url}',
           login:   './cf login -u %{username} -p %{password} -o %{organization} -s %{space}',
           push:    './cf push %{args}',
           logout:  './cf logout'

      errs install: 'Failed to install CLI tools',
           api:     'Failed to set api',
           login:   'Failed to login',
           target:  'Failed to target organization %{organization}, space %{space}',
           push:    'Failed to push app',
           logout:  'Failed to logout'

      def install
        shell :install
      end

      def login
        shell :api
        shell :login
      end

      def deploy
        shell :push
      end

      def finish
        shell :logout if logout?
      end

      private

        def url
          API
        end

        def args
          args = []
          args << quote(app_name)  if app_name?
          args << "-f #{manifest}" if manifest?
          args.join(' ')
        end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dpl-2.0.0.alpha.2 lib/dpl/providers/anynines.rb
dpl-2.0.0.alpha.1 lib/dpl/providers/anynines.rb