# frozen_string_literal: true require 'travis/cli/setup' module Travis module CLI class Setup class S3 < Service description 'automatic pushing to S3' def run deploy 's3', 'push' do |config| config['access_key_id'] = ask('Access key ID: ').to_s config['secret_access_key'] = ask('Secret access key: ') { |q| q.echo = '*' }.to_s config['bucket'] = ask('Bucket: ').to_s local_dir = ask('Local project directory to upload (Optional): ').to_s config['local-dir'] = local_dir unless local_dir.empty? upload_dir = ask('S3 upload directory (Optional): ').to_s config['upload-dir'] = upload_dir unless upload_dir.empty? config['acl'] = ask('S3 ACL Settings (private, public_read, public_read_write, authenticated_read, bucket_owner_read, bucket_owner_full_control): ').to_s do |q| q.default = 'private' end encrypt(config, 'secret_access_key') if agree('Encrypt secret access key? ') { |q| q.default = 'yes' } end end end end end end