File: cloudfront.rst

package info (click to toggle)
python-boto 1.9b-4
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,820 kB
  • ctags: 2,583
  • sloc: python: 16,337; makefile: 106
file content (108 lines) | stat: -rw-r--r-- 3,016 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
.. ref-cloudfront

==========
cloudfront
==========

A Crash Course in CloudFront in Boto
------------------------------------

This new boto module provides an interface to Amazon's new Content Service, CloudFront.

Caveats:

This module is not well tested.  Paging of distributions is not yet
supported.  CNAME support is completely untested.  Use with caution.
Feedback and bug reports are greatly appreciated.

The following shows the main features of the cloudfront module from an interactive shell:

Create an cloudfront connection:

>>> from boto.cloudfront import CloudFrontConnection
>>> c = CloudFrontConnection()

Create a new :class:`boto.cloudfront.distribution.Distribution`:

>>> distro = c.create_distribution(origin='mybucket.s3.amazonaws.com', enabled=False, comment='My new Distribution')
>>> d.domain_name
u'd2oxf3980lnb8l.cloudfront.net'
>>> d.id
u'ECH69MOIW7613'
>>> d.status
u'InProgress'
>>> d.config.comment
u'My new distribution'
>>> d.config.origin
u'mybucket.s3.amazonaws.com'
>>> d.config.caller_reference
u'31b8d9cf-a623-4a28-b062-a91856fac6d0'
>>> d.config.enabled
False

Note that a new caller reference is created automatically, using
uuid.uuid4().  The :class:`boto.cloudfront.distribution.Distribution`, :class:`boto.cloudfront.distribution.DistributionConfig` and
:class:`boto.cloudfront.distribution.DistributionSummary` objects are defined in the :mod:`boto.cloudfront.distribution`
module.

To get a listing of all current distributions:

>>> rs = c.get_all_distributions()
>>> rs
[<boto.cloudfront.distribution.DistributionSummary instance at 0xe8d4e0>,
 <boto.cloudfront.distribution.DistributionSummary instance at 0xe8d788>]

This returns a list of :class:`boto.cloudfront.distribution.DistributionSummary` objects.  Note that paging
is not yet supported!  To get a :class:`boto.cloudfront.distribution.DistributionObject` from a
:class:`boto.cloudfront.distribution.DistributionSummary` object:

>>> ds = rs[1]
>>> distro = ds.get_distribution()
>>> distro.domain_name
u'd2oxf3980lnb8l.cloudfront.net'

To change a property of a distribution object:

>>> distro.comment
u'My new distribution'
>>> distro.update(comment='This is a much better comment')
>>> distro.comment
'This is a much better comment'

You can also enable/disable a distribution using the following
convenience methods:

>>> distro.enable()  # just calls distro.update(enabled=True)

or 

>>> distro.disable()  # just calls distro.update(enabled=False)

The only attributes that can be updated for a Distribution are
comment, enabled and cnames.

To delete a :class:`boto.cloudfront.distribution.Distribution`:

>>> distro.delete()


boto.cloudfront
---------------

.. automodule:: boto.cloudfront
   :members:   
   :undoc-members:

boto.cloudfront.distribution
----------------------------

.. automodule:: boto.cloudfront.distribution
   :members:   
   :undoc-members:

boto.cloudfront.exception
-------------------------

.. automodule:: boto.cloudfront.exception
   :members:   
   :undoc-members: