File: Zend_Service_Amazon_Ec2-Image.xml

package info (click to toggle)
zendframework 1.12.9%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 133,584 kB
  • sloc: xml: 1,311,829; php: 570,173; sh: 170; makefile: 125; sql: 121
file content (286 lines) | stat: -rw-r--r-- 13,176 bytes parent folder | download | duplicates (2)
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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.service.amazon.ec2.images">
    <title>Zend_Service_Amazon_Ec2: Amazon Maschinen Images (AMI)</title>

    <para>
        Amazon Maschinen Images (AMIs) sind mit einer bereits wachsenden Listen von
        Betriebssystemen vorkonfiguriert.
    </para>

    <sect2 id="zend.service.amazon.ec2.images.info">
        <title>AMI Informations Tools</title>

        <example id="zend.service.amazon.ec2.images.register">
            <title>Ein AMI mit EC2 registrieren</title>

            <para>
                <code>register</code> Jedes <acronym>AMI</acronym> ist mit einer eideutigen ID
                assoziiert welche vom Amazon EC2 Service über die RegisterImage Operation zur
                Verfügung gestellt wird. Wärend der Registrierung empfängt Amazon EC2 das
                spezifizierte Manifest des Images von Amazon S3 und überprüft ob das Image dem
                Benutzer gehört der das Image registriert.
            </para>

            <para>
                <code>register</code> gibt die imageId für das registrierte Image zurück.
            </para>

            <programlisting language="php"><![CDATA[
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
$ip = $ec2_img->register('imageLocation');
]]></programlisting>
        </example>

        <example id="zend.service.amazon.ec2.images.deregister">
            <title>De-Registrieren einer AMI von EC2</title>

            <para>
                <code>deregister</code>, de-registriert ein <acronym>AMI</acronym>. Einmal
                de-registriert können Instanzen dieses <acronym>AMI</acronym> nicht mehr gestartet
                werden.
            </para>

            <para>
                <code>deregister</code> gibt ein boolsches <constant>TRUE</constant> oder
                <constant>FALSE</constant> zurück.
            </para>

            <programlisting language="php"><![CDATA[
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
$ip = $ec2_img->deregister('imageId');
]]></programlisting>
        </example>

        <example id="zend.service.amazon.ec2.images.describe">
            <title>Beschreiben einer AMI</title>

            <para>
                <code>describe</code> gibt Informationen über <acronym>AMI</acronym>s, AKIs und ARIs
                zurück die für den Benutzer verfügbar sind. Die zurückgegebenen Informationen
                enthalten den Imagetyp, Produktcodes, Architektur, Kernel und <acronym>RAM</acronym>
                Disk IDs. Images die für den Benutzer verfügbar sind, enthalten öffentliche Images
                die zum Starten für jeden Benutzer vorhanden sind, private Images die dem Benutzer
                gehören der die Anfrage stellt, und private Images die anderen Benutzern gehören
                welche dem Benutzer explizit die Rechte zum Starten gegeben haben.
            </para>

            <para>
                <table id="zend.service.amazon.ec2.images.describe-table">
                    <title>Die Rechte für das Starten fallen in drei Kategorien</title>

                    <tgroup cols="2">
                        <thead>
                            <row>
                                <entry>Name</entry>
                                <entry>Beschreibung</entry>
                            </row>
                        </thead>

                        <tbody>
                            <row>
                                <entry><code>public</code></entry>

                                <entry>
                                    <para>
                                        Der Eigentümer des <acronym>AMI</acronym> gibt allen Gruppen
                                        das Recht das <acronym>AMI</acronym> zu starten. Alle
                                        Benutzer haben Startberechtigung für diese
                                        <acronym>AMIs</acronym>.
                                    </para>
                                </entry>
                            </row>

                            <row>
                                <entry><code>explicit</code></entry>

                                <entry>
                                    <para>
                                        Der Eigentümer des <acronym>AMI</acronym> gibt einem
                                        spezifischen Benutzer die Startberechtigung.
                                    </para>
                                </entry>
                            </row>

                            <row>
                                <entry><code>implicit</code></entry>

                                <entry>
                                    <para>
                                        Ein Benutzer hat implizit die Startberechtigung für alle
                                        <acronym>AMIs</acronym> die Ihm gehören.
                                    </para>
                                </entry>
                            </row>
                        </tbody>
                    </tgroup>
                </table>
            </para>

            <para>
                Die Liste der zurückgegebenen <acronym>AMI</acronym>s kann durch die Spezifikation
                von <acronym>AMI</acronym> IDs, <acronym>AMI</acronym> Eigentümer oder Benutzern mit
                Starterechtigung, geändert werden. Wenn keine Option spezifiziert wird, gibt Amazon
                EC2 alle <acronym>AMI</acronym>s zurück für die der Benutzer eine Startberechtigung
                hat.
            </para>

            <para>
                Wenn eine oder mehrere <acronym>AMI</acronym> IDs spezifiziert werden, werden nur
                die <acronym>AMI</acronym>s zurückgegeben welche die spezifizierten IDs besitzen.
                Wenn man eine ungültige <acronym>AMI</acronym> ID spezifiziert, wird ein Fehler
                zurückgegeben. Wenn man eine <acronym>AMI</acronym> ID spezifiziert für die man
                keinen Zugriff hat, wird diese nicht in den zurückgegebenen Ergebnissen enthalten
                sein.
            </para>

            <para>
                Wenn ein oder mehrere <acronym>AMI</acronym> Eigentümer spezifiziert werden, werden
                nur die <acronym>AMI</acronym>s der spezifizierten Eigentümer, für die man auch
                Zugriffsrechte hat, zurückgegeben. Die Ergebnisse können account für die Account IDs
                des spezifizierten Eigentümers enthalten, amazon für <acronym>AMI</acronym>s die
                Amazon selbst gehören oder self für <acronym>AMI</acronym>s die man selbst besitzt.
            </para>

            <para>
                Wenn man eine Liste von ausführbaren Benutzern spezifiziert, werden nur die
                Benutzer zurückgegeben die eine Startberechtigung für die <acronym>AMI</acronym>s
                haben. Man kann mit account, Account IDs spezifizieren (wenn man die
                <acronym>AMI</acronym>s besitzt), self für <acronym>AMI</acronym>s die man selbst
                besitzt oder explizite Zugriffsrechte hat, oder all für öffentliche
                <acronym>AMI</acronym>s.
            </para>

            <para>
                <code>describe</code> gibt ein Array für alle Images zurück die den übergebenen
                Kriterien entsprechen. Das Array enthält imageId, imageLocation, imageState,
                imageOwnerId, isPublic, architecture, imageType, kernedId, ramdiskId und platform.
            </para>

            <programlisting language="php"><![CDATA[
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
$ip = $ec2_img->describe();
]]></programlisting>
        </example>
    </sect2>

    <sect2 id="zend.service.amazon.ec2.images.attribute">
        <title>Utilities für AMI Attribute</title>

        <example id="zend.service.amazon.ec2.images.attribute.modify">
            <title>Image Attribute verändern</title>

            <para>Ein Attribut eines <acronym>AMI</acronym> verändern</para>

            <para>
                <table id="zend.service.amazon.ec2.images.attribute.modify-table">
                    <title>Gültige Attribute</title>

                    <tgroup cols="2">
                        <thead>
                            <row>
                                <entry>Name</entry>
                                <entry>Beschreibung</entry>
                            </row>
                        </thead>

                        <tbody>
                            <row>
                                <entry><code>launchPermission</code></entry>

                                <entry>
                                    <para>
                                        Kontrolliert wer die Berechtigung hat das
                                        <acronym>AMI</acronym> zu starten. Startberechtigung kann
                                        spezifischen Benutzern durch das hinzufügen von userIds
                                        gegeben werden.
                                    </para>

                                    <para>
                                        Um das <acronym>AMI</acronym> öffentlich zu machen, sollte
                                        man die add Gruppe hinzufügen.
                                    </para>
                                </entry>
                            </row>

                            <row>
                                <entry><code>productCodes</code></entry>

                                <entry>
                                    <para>
                                        Assoziiert einen Produktcode mit <acronym>AMIs</acronym>.
                                        Das erlaubt es Entwicklern Benutzer für die Verwendung von
                                        <acronym>AMIs</acronym> zu benennen. Der Benutzer muß für
                                        das Produkt angemeldet sein bevor er das
                                        <acronym>AMI</acronym> starten kann. <emphasis>Das ist ein
                                        Write-Once Attribut; nachdem es gesetzt wurde kann es nicht
                                        mehr geändert oder gelöscht werden.</emphasis>
                                    </para>
                                </entry>
                            </row>
                        </tbody>
                    </tgroup>
                </table>
            </para>

            <para>
                <code>modifyAttribute</code> gibt ein boolsches <constant>TRUE</constant> oder
                <constant>FALSE</constant> zurück.
            </para>

            <programlisting language="php"><![CDATA[
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
// Ändert die Startberechtigung (launchPermission) eines AMI
$return = $ec2_img->modifyAttribute('imageId',
                                    'launchPermission',
                                    'add',
                                    'userId',
                                    'userGroup');

// Setzt den Produktcode des AMI.
$return = $ec2_img->modifyAttribute('imageId',
                                    'productCodes',
                                    'add',
                                    null,
                                    null,
                                    'productCode');
]]></programlisting>
        </example>

        <example id="zend.service.amazon.ec2.images.attribute.reset">
            <title>Zurücksetzen eines AMI Attributes</title>

            <para>
                <code>resetAttribute</code> setzt die Attribute eines <acronym>AMI</acronym> auf
                dessen Standardwerte zurück.
                <emphasis>Das productCodes Attribut kann nicht zurückgesetzt werden.</emphasis>
            </para>

            <programlisting language="php"><![CDATA[
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
$return = $ec2_img->resetAttribute('imageId', 'launchPermission');
]]></programlisting>
        </example>

        <example id="zend.service.amazon.ec2.images.attribute.describe">
            <title>AMI Attribute beschreiben</title>

            <para>
                <code>describeAttribute</code> gibt Informationen über ein Attribut eines
                <acronym>AMI</acronym> zurück. Pro Aufruf kann nur ein Attribut spezifiziert werden.
                Aktuell werden nur launchPermission und productCodes unterstützt.
            </para>

            <para>
                <code>describeAttribute</code> gibt ein Array mit dem Wert des Attributes zurück
                das angefragt wurde.
            </para>

            <programlisting language="php"><![CDATA[
$ec2_img = new Zend_Service_Amazon_Ec2_Image('aws_key','aws_secret_key');
$return = $ec2_img->describeAttribute('imageId', 'launchPermission');
]]></programlisting>
        </example>
    </sect2>
</sect1>