Sha256: 5c32df2e03a03236773900512901dbb5fbf2016e04be84468437aa807a289661

Contents?: true

Size: 1022 Bytes

Versions: 2

Compression:

Stored size: 1022 Bytes

Contents

class ProductType < ActiveRecord::Base
  class Ec2 < ProductType
    def self.load_product_types
      return unless super

      transaction do
        [
          set('EC2 Instance', 'd16d5017-6d6b-4775-958f-535f68b4cf04', provider_type: 'Provider::Aws')
        ].each do |s|
          create! s.merge!(type: 'ProductType::Ec2')
        end
      end
    end

    def description
      'Amazon Web Services Elastic Compute Cloud Instance'
    end

    def tags
      ['ec2', 'server']
    end

    def product_questions
      [
        { name: :flavor_id, value_type: :string, field: :aws_ec2_flavors, required: true },
        { name: :image_id, value_type: :string, field: :aws_ec2_images, required: true },
        { name: :subnet_id, value_type: :string, field: :aws_subnets, required: true }
      ]
    end

    def order_questions
      [
        { name: :zone_id, value_type: :string, field: :aws_zones, required: true }
      ]
    end

    def service_class
      'Service::Ec2'.constantize
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jellyfish-aws-0.0.4 app/models/product_type/ec2.rb
jellyfish-aws-0.0.3 app/models/product_type/ec2.rb