| 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