HP BL680c XenEnterprise Management API - Page 6

RPCs associated with fields, RPCs associated with classes

Page 6 highlights

1.1. RPCS ASSOCIATED WITH FIELDS CHAPTER 1. INTRODUCTION 1.1 RPCs associated with fields Each field, f, has an RPC accessor associated with it that returns f's value: • "get f(Ref x)": takes a Ref that refers to an object and returns the value of f. Each field, f, with attribute RW and whose outermost type is Set has the following additional RPCs associated with it: • an "add to f(Ref x, v)" RPC adds a new element v to the set1; • a "remove from f(Ref x, v)" RPC removes element v from the set; Each field, f, with attribute RW and whose outermost type is Map has the following additional RPCs associated with it: • an "add to f(Ref x, k, v)" RPC adds new pair (k, v) to the mapping stored in f in object x. Adding a new pair for duplicate key, k, overwrites any previous mapping for k. • a "remove from f(Ref x, k)" RPC removes the pair with key k from the mapping stored in f in object x. Each field whose outermost type is neither Set nor Map, but whose attribute is RW has an RPC acessor associated with it that sets its value: • For RW (Read/W rite), a "set f(Ref x, v)" RPC function is also provided. This sets field f on object x to value v. 1.2 RPCs associated with classes • Each class has a constructor RPC named "create" that takes as parameters all fields marked RW and ROins . The result of this RPC is that a new persistent object is created on the server-side with the specified field values. • Each class has a get by uuid(uuid) RPC that returns the object of that class that has the specified uuid. • Each class that has a name label field has a "get by name label(name)" RPC that returns a set of objects of that class that have the specified label. • Each class has a "destroy(Ref x)" RPC that explicitly deletes the persistent object specified by x from the system. This is a non-cascading delete - if the object being removed is referenced by another object then the destroy call will fail. 1.2.1 Additional RPCs As well as the RPCs enumerated above, some classes have additional RPCs associated with them. For example, the VM class has RPCs for cloning, suspending, starting etc. Such additional RPCs are described explicitly in the API reference. 1Since sets cannot contain duplicate values this operation has no action in the case that v was already in the set. 6

  • 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
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313

1.1. RPCS ASSOCIATED WITH FIELDS
CHAPTER 1. INTRODUCTION
1.1
RPCs associated with fields
Each field,
f
, has an RPC accessor associated with it that returns
f
’s value:
get
f(Ref x)
”: takes a
Ref
that refers to an object and returns the value of
f
.
Each field,
f
, with attribute
RW
and whose outermost type is
Set
has the following additional
RPCs associated with it:
an “
add
to
f(Ref x, v)
” RPC adds a new element v to the set
1
;
a“
remove
from
f(Ref x, v)
” RPC removes element
v
from the set;
Each field,
f
, with attribute
RW
and whose outermost type is
Map
has the following additional
RPCs associated with it:
an “
add
to
f(Ref x, k, v)
” RPC adds new pair
(k, v)
to the mapping stored in
f
in
object
x
. Adding a new pair for duplicate key,
k
, overwrites any previous mapping for
k
.
a“
remove
from
f(Ref x, k)
” RPC removes the pair with key
k
from the mapping stored
in
f
in object
x
.
Each field whose outermost type is neither
Set
nor
Map
, but whose attribute is
RW
has an RPC
acessor associated with it that sets its value:
For
RW
(
R
ead/
W
rite), a “
set
f(Ref x, v)
” RPC function is also provided. This sets field
f
on object
x
to value
v
.
1.2
RPCs associated with classes
Each class has a
constructor
RPC named “
create
” that takes as parameters all fields marked
RW
and
RO
ins
. The result of this RPC is that a new
persistent
object is created on the
server-side with the specified field values.
Each class has a
get
by
uuid(uuid)
RPC that returns the object of that class that has the
specified
uuid
.
Each class that has a
name
label
field has a “
get
by
name
label(name)
” RPC that returns
a set of objects of that class that have the specified
label
.
Each class has a “
destroy(Ref x)
” RPC that explicitly deletes the persistent object spec-
ified by
x
from the system. This is a non-cascading delete – if the object being removed is
referenced by another object then the
destroy
call will fail.
1.2.1
Additional RPCs
As well as the RPCs enumerated above, some classes have additional RPCs associated with them.
For example, the
VM
class has RPCs for cloning, suspending, starting etc. Such additional RPCs
are described explicitly in the API reference.
1
Since sets cannot contain duplicate values this operation has no action in the case that
v
was already in the
set.
6