Class | Aws::AcfInterface |
In: |
lib/acf/acf_interface.rb
|
Parent: | AwsBase |
The AcfInterface class provides a complete interface to Amazon‘s CloudFront service.
For explanations of the semantics of each call, please refer to Amazon‘s documentation at developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=211
Example:
acf = Aws::AcfInterface.new('1E3GDYEOGFJPIT7XXXXXX','hgTHt68JY07JKUY08ftHYtERkjgtfERn57XXXXXX') list = acf.list_distributions #=> [{:status => "Deployed", :domain_name => "d74zzrxmpmygb.6hops.net", :aws_id => "E4U91HCJHGXVC", :origin => "my-bucket.s3.amazonaws.com", :cnames => ["x1.my-awesome-site.net", "x1.my-awesome-site.net"] :comment => "My comments", :last_modified_time => Wed Sep 10 17:00:04 UTC 2008 }, ..., {...} ] distibution = list.first info = acf.get_distribution(distibution[:aws_id]) #=> {:enabled => true, :caller_reference => "200809102100536497863003", :e_tag => "E39OHHU1ON65SI", :status => "Deployed", :domain_name => "d3dxv71tbbt6cd.6hops.net", :cnames => ["web1.my-awesome-site.net", "web2.my-awesome-site.net"] :aws_id => "E2REJM3VUN5RSI", :comment => "Woo-Hoo!", :origin => "my-bucket.s3.amazonaws.com", :last_modified_time => Wed Sep 10 17:00:54 UTC 2008 } config = acf.get_distribution_config(distibution[:aws_id]) #=> {:enabled => true, :caller_reference => "200809102100536497863003", :e_tag => "E39OHHU1ON65SI", :cnames => ["web1.my-awesome-site.net", "web2.my-awesome-site.net"] :comment => "Woo-Hoo!", :origin => "my-bucket.s3.amazonaws.com"} config[:comment] = 'Olah-lah!' config[:enabled] = false config[:cnames] << "web3.my-awesome-site.net" acf.set_distribution_config(distibution[:aws_id], config) #=> true
API_VERSION | = | "2010-08-01" |
DEFAULT_HOST | = | 'cloudfront.amazonaws.com' |
DEFAULT_PORT | = | 443 |
DEFAULT_PROTOCOL | = | 'https' |
DEFAULT_PATH | = | '/' |
Create a new handle to a CloudFront account. All handles share the same per process or per thread HTTP connection to CloudFront. Each handle is for a specific account. The params have the following options:
acf = Aws::AcfInterface.new('1E3GDYEOGFJPIT7XXXXXX','hgTHt68JY07JKUY08ftHYtERkjgtfERn57XXXXXX', {:multi_thread => true, :logger => Logger.new('/tmp/x.log')}) #=> #<Aws::AcfInterface::0xb7b3c30c>
Create a new distribution. Returns the just created distribution or Aws::AwsError exception.
acf.create_distribution('bucket-for-k-dzreyev.s3.amazonaws.com', 'Woo-Hoo!', true, ['web1.my-awesome-site.net'] ) #=> {:comment => "Woo-Hoo!", :enabled => true, :location => "https://cloudfront.amazonaws.com/2008-06-30/distribution/E2REJM3VUN5RSI", :status => "InProgress", :aws_id => "E2REJM3VUN5RSI", :domain_name => "d3dxv71tbbt6cd.6hops.net", :origin => "my-bucket.s3.amazonaws.com", :cnames => ["web1.my-awesome-site.net"] :last_modified_time => Wed Sep 10 17:00:54 UTC 2008, :caller_reference => "200809102100536497863003"}
Delete a distribution. The enabled distribution cannot be deleted. Returns true on success or Aws::AwsError exception.
acf.delete_distribution('E2REJM3VUN5RSI', 'E39OHHU1ON65SI') #=> true
Get a distribution‘s information. Returns a distribution‘s information or Aws::AwsError exception.
acf.get_distribution('E2REJM3VUN5RSI') #=> {:enabled => true, :caller_reference => "200809102100536497863003", :e_tag => "E39OHHU1ON65SI", :status => "Deployed", :domain_name => "d3dxv71tbbt6cd.6hops.net", :cnames => ["web1.my-awesome-site.net", "web2.my-awesome-site.net"] :aws_id => "E2REJM3VUN5RSI", :comment => "Woo-Hoo!", :origin => "my-bucket.s3.amazonaws.com", :last_modified_time => Wed Sep 10 17:00:54 UTC 2008 }
Get a distribution‘s configuration. Returns a distribution‘s configuration or Aws::AwsError exception.
acf.get_distribution_config('E2REJM3VUN5RSI') #=> {:enabled => true, :caller_reference => "200809102100536497863003", :e_tag => "E39OHHU1ON65SI", :cnames => ["web1.my-awesome-site.net", "web2.my-awesome-site.net"] :comment => "Woo-Hoo!", :origin => "my-bucket.s3.amazonaws.com"}
List distributions. Returns an array of distributions or Aws::AwsError exception.
acf.list_distributions #=> [{:status => "Deployed", :domain_name => "d74zzrxmpmygb.6hops.net", :aws_id => "E4U91HCJHGXVC", :cnames => ["web1.my-awesome-site.net", "web2.my-awesome-site.net"] :origin => "my-bucket.s3.amazonaws.com", :comment => "My comments", :last_modified_time => Wed Sep 10 17:00:04 UTC 2008 }, ..., {...} ]
Set a distribution‘s configuration (the :origin and the :caller_reference cannot be changed). Returns true on success or Aws::AwsError exception.
config = acf.get_distribution_config('E2REJM3VUN5RSI') #=> {:enabled => true, :caller_reference => "200809102100536497863003", :e_tag => "E39OHHU1ON65SI", :cnames => ["web1.my-awesome-site.net", "web2.my-awesome-site.net"] :comment => "Woo-Hoo!", :origin => "my-bucket.s3.amazonaws.com", :default_root_object => } config[:comment] = 'Olah-lah!' config[:enabled] = false acf.set_distribution_config('E2REJM3VUN5RSI', config) #=> true