Sha256: c81e06aec0361ac054cda5f2df4fa03884bc3625db3210d82bb1cb9b3418a60c

Contents?: true

Size: 1.4 KB

Versions: 2

Compression:

Stored size: 1.4 KB

Contents

class Fastly
  # A logical collection of backends - for example all the asset servers in one data center
  class Director < BelongsToServiceAndVersion
    attr_accessor :service_id, :name, :type, :comment, :retries, :capacity, :quorum

    ##
    # :attr: service
    #
    # The id of the service this belongs to.
    #

    ##
    # :attr: version
    #
    # The number of the version this belongs to.
    #

    ##
    # :attr: name
    #
    # The domain name of this domain
    #

    ##
    # :attr: type
    #
    # what kind of Load Balancer group (currently always 1 meaning random)
    #

    ##
    # :attr: retries
    #
    # how many backends to search if it fails (default 5)
    #

    ##
    # :attr: quorum
    #
    # the percentage of capacity that needs to be up for a director to be considered up (default 75)
    #

    ##
    # :attr: comment
    #
    # a free form comment field

    # Add a Backend object to a Director
    #
    # Return true on success and false on failure
    def add_backend(backend)
      hash = fetcher.client.post(Fastly::Director.put_path(self)+"/backend/#{backend.name}")
      return !hash.nil?
    end

    # Delete a Backend object from a Director
    #
    # Return true on success and false on failure
    def delete_backend(backend)
      hash = fetcher.client.delete(Fastly::Director.put_path(self)+"/backend/#{backend.name}")
      return !hash.nil?
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fastly-1.1.4 lib/fastly/director.rb
fastly-1.1.3 lib/fastly/director.rb