summaryrefslogtreecommitdiff
path: root/api-ref/source/parameters.yaml
blob: 01952f58f4924ecd0c03c2dbc5fa933924bd1d52 (plain)
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
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
# variables in header
Accept:
  description: |
    Instead of using the ``format`` query parameter,
    set this header to ``application/json``, ``application/xml``, or
    ``text/xml``.
  in: header
  required: false
  type: string
Accept-Ranges:
  description: |
    The type of ranges that the object accepts.
  in: header
  required: true
  type: string
Content-Disposition:
  description: |
    If set, specifies the override behavior for the
    browser. For example, this header might specify that the browser
    use a download program to save this file rather than show the
    file, which is the default.
  in: header
  required: false
  type: string
Content-Disposition_resp:
  description: |
    If present, specifies the override behavior for the
    browser. For example, this header might specify that the browser
    use a download program to save this file rather than show the
    file, which is the default.  If not set, this header is not
    returned by this operation.
  in: header
  required: false
  type: string
Content-Encoding:
  description: |
    If set, the value of the ``Content-Encoding``
    metadata.
  in: header
  required: false
  type: string
Content-Encoding_resp:
  description: |
    If present, the value of the ``Content-Encoding``
    metadata.  If not set, the operation does not return this header.
  in: header
  required: false
  type: string
Content-Length_cud_resp:
  description: |
    If the operation succeeds, this value is zero
    (0) or the length of informational or error
    text in the response body.
  in: header
  required: true
  type: string
Content-Length_get_resp:
  description: |
    The length of the object content in the response
    body, in bytes.
  in: header
  required: true
  type: string
Content-Length_listing_resp:
  description: |
    If the operation succeeds, the length of the response body
    in bytes. On error, this is the length of the error text.
  in: header
  required: true
  type: string
Content-Length_obj_head_resp:
  description: |
    HEAD operations do not return content. The
    ``Content-Length`` header value is not the size of the response
    body but is the size of the object, in bytes.
  in: header
  required: true
  type: string
Content-Length_put_req:
  description: |
    Set to the length of the object content (i.e. the length in bytes
    of the request body). Do not
    set if chunked transfer encoding is being used.
  in: header
  required: false
  type: integer
Content-Type_cud_resp:
  description: |
    If present, this value is the MIME
    type of the informational or error text in the response body.
  in: header
  required: false
  type: string
Content-Type_listing_resp:
  description: |
    If the operation succeeds, this value is the MIME type of the list
    response. The MIME type is determined by the listing format specified by
    the request and will be one of ``text/plain``, ``application/json``,
    ``application/xml``, or ``text/xml``. If the operation fails, this value is
    the MIME type of the error text in the response body.
  in: header
  required: true
  type: string
Content-Type_obj_cu_req:
  description: |
    Sets the MIME type for the object.
  in: header
  required: false
  type: string
Content-Type_obj_resp:
  description: |
    If the operation succeeds, this value is the MIME type of the object. If
    the operation fails, this value is the MIME type of the error text in the
    response body.
  in: header
  required: true
  type: string
Date:
  description: |
    The date and time the system responded to the request,
    using the preferred format of
    `RFC 7231 <https://tools.ietf.org/html/rfc7231#section-7.1.1.1>`_ as
    shown in this example ``Thu, 16 Jun 2016 15:10:38 GMT``. The time is
    always in UTC.
  in: header
  required: true
  type: string
Destination:
  description: |
    The container and object name of the destination
    object in the form of ``/container/object``. You must UTF-8-encode
    and then URL-encode the names of the destination container and
    object before you include them in this header.
  in: header
  required: true
  type: string
Destination-Account:
  description: |
    Specifies the account name where the object is copied to. If not
    specified, the object is copied to the account which owns the object
    (i.e., the account in the path).
  in: header
  required: false
  type: string
ETag_obj_copied:
  description: |
    The MD5 checksum of the copied object content.
    The value is not quoted.
  in: header
  required: true
  type: string
ETag_obj_received:
  description: |
    The MD5 checksum of the uploaded object content.
    The value is not quoted. If it is an SLO, it would
    be MD5 checksum of the segments' etags.
  in: header
  required: true
  type: string
ETag_obj_req:
  description: |
    The MD5 checksum value of the request body. For
    example, the MD5 checksum value of the object content. For
    manifest objects, this value is the MD5 checksum of the
    concatenated string of ETag values for each of the segments in
    the manifest. You are strongly recommended to compute
    the MD5 checksum value and include it in the request. This
    enables the Object Storage API to check the integrity of the
    upload. The value is not quoted.
  in: header
  required: false
  type: string
ETag_obj_resp:
  description: |
    For objects smaller than 5 GB, this value is the
    MD5 checksum of the object content. The value is not quoted.  For
    manifest objects, this value is the MD5 checksum of the
    concatenated string of ETag values for each of the
    segments in the manifest, and not the MD5 checksum of the content
    that was downloaded. Also the value is enclosed in double-quote
    characters.  You are strongly recommended to compute the MD5
    checksum of the response body as it is received and compare this
    value with the one in the ETag header. If they differ, the content
    was corrupted, so retry the operation.
  in: header
  required: true
  type: string
If-Match:
  description: |
    See `Request for Comments: 2616
    <http://www.ietf.org/rfc/rfc2616.txt>`_.
  in: header
  required: false
  type: string
If-Modified-Since:
  description: |
    See `Request for Comments: 2616
    <http://www.ietf.org/rfc/rfc2616.txt>`_.
  in: header
  required: false
  type: string
If-None-Match-get-request:
  description: |
    A client that has one or more entities previously
    obtained from the resource can verify that none of those entities is
    current by including a list of their associated entity tags in the
    ``If-None-Match header`` field.
    See `Request for Comments: 2616 <http://www.ietf.org/rfc/rfc2616.txt>`_
    for details.
  in: header
  required: false
  type: string
If-None-Match-put-request:
  description: |
    In combination with ``Expect: 100-Continue``,
    specify an ``"If-None-Match: *"`` header to query whether the
    server already has a copy of the object before any data is sent.
  in: header
  required: false
  type: string
If-Unmodified-Since:
  description: |
    See `Request for Comments: 2616
    <http://www.ietf.org/rfc/rfc2616.txt>`_.
  in: header
  required: false
  type: string
Last-Modified:
  description: |
    The date and time when the object was created or its metadata was
    changed. The date and time is formatted as shown in this
    example: ``Fri, 12 Aug 2016 14:24:16 GMT``

    The time is always in UTC.
  in: header
  required: true
  type: string
Range:
  description: |
    The ranges of content to get.  You can use the
    ``Range`` header to get portions of data by using one or more
    range specifications. To specify many ranges, separate the range
    specifications with a comma.  The types of range specifications
    are:  - **Byte range specification**. Use FIRST_BYTE_OFFSET to
    specify the   start of the data range, and LAST_BYTE_OFFSET to
    specify the end.   You can omit the LAST_BYTE_OFFSET and if you
    do, the value   defaults to the offset of the last byte of data.
    - **Suffix byte range specification**. Use LENGTH bytes to specify
    the length of the data range.  The following forms of the header
    specify the following ranges of data:

    - ``Range: bytes=-5``. The last five bytes.
    - ``Range: bytes=10-15``. The six bytes of data after a 10-byte   offset.
    - ``Range: bytes=10-15,-5``. A multi-part response that contains the
      last five bytes and the six
      bytes of data after a 10-byte offset. The ``Content-Type``
      response header contains   ``multipart/byteranges``.
    - ``Range: bytes=4-6``. Bytes 4 to 6 inclusive.
    - ``Range: bytes=2-2``. Byte 2, the third byte of the data.
    - ``Range: bytes=6-``. Byte 6 and after.
    - ``Range: bytes=1-3,2-5``. A multi-part response that
      contains   bytes 1 to 3 inclusive, and bytes 2 to 5 inclusive. The
      ``Content-Type`` response header contains
      ``multipart/byteranges``.
  in: header
  required: false
  type: string
Transfer-Encoding:
  description: |
    Set to ``chunked`` to enable chunked transfer
    encoding. If used, do not set the ``Content-Length`` header to a
    non-zero value.
  in: header
  required: false
  type: string
X-Account-Access-Control_req:
  description: |
    **Note**: `X-Account-Access-Control` is not supported by Keystone auth.

    Sets an account access control list (ACL) that grants access to
    containers and objects in the account.
    See `Account ACLs
    <https://docs.openstack.org/swift/latest/overview_acl.html#account-acls>`_
    for more information.
  in: header
  required: false
  type: string
X-Account-Access-Control_resp:
  description: |
    **Note**: `X-Account-Access-Control` is not supported by Keystone auth.

    The account access control list (ACL) that grants access to
    containers and objects in the account.
    If there is no ACL, this header is not returned by this operation.
    See `Account ACLs
    <https://docs.openstack.org/swift/latest/overview_acl.html#account-acls>`_
    for more information.
  in: header
  required: false
  type: string
X-Account-Bytes-Used:
  description: |
    The total number of bytes that are stored in
    Object Storage for the account.
  in: header
  required: true
  type: integer
X-Account-Container-Count:
  description: |
    The number of containers.
  in: header
  required: true
  type: integer
X-Account-Meta-name:
  description: |
    The custom account metadata item, where
    ``name`` is the name of the metadata item.  One ``X-Account-Meta-name``
    response header appears for each metadata item (for
    each ``name``).
  in: header
  required: false
  type: string
X-Account-Meta-name_req:
  description: |
    The account metadata. The ``name`` is the name
    of metadata item that you want to add, update, or delete. To
    delete this item, send an empty value in this header.  You must
    specify an ``X-Account-Meta-name`` header for each metadata
    item (for each ``name``) that you want to add, update, or
    delete.
  in: header
  required: false
  type: string
X-Account-Meta-Quota-Bytes_resp:
  description: |
    If present, this is the limit on the total size in bytes of objects stored
    in the account.
    Typically this value is set by an administrator.
  in: header
  required: false
  type: string
X-Account-Meta-Temp-URL-Key-2_req:
  description: |
    A second secret key value for temporary URLs.
    The second key enables you to rotate keys by having
    two active keys at the same time.
  in: header
  required: false
  type: string
X-Account-Meta-Temp-URL-Key-2_resp:
  description: |
    The second secret key value for temporary URLs. If
    not set, this header is not returned in the response.
  in: header
  required: false
  type: string
X-Account-Meta-Temp-URL-Key_req:
  description: |
    The secret key value for temporary URLs.
  in: header
  required: false
  type: string
X-Account-Meta-Temp-URL-Key_resp:
  description: |
    The secret key value for temporary URLs. If not
    set, this header is not returned in the response.
  in: header
  required: false
  type: string
X-Account-Object-Count:
  description: |
    The number of objects in the account.
  in: header
  required: true
  type: integer
X-Account-Storage-Policy-name-Bytes-Used:
  description: |
    The total number of bytes that are stored in
    in a given storage policy, where ``name`` is the
    name of the storage policy.
  in: header
  required: true
  type: integer
X-Account-Storage-Policy-name-Container-Count:
  description: |
    The number of containers in the account that use the given
    storage policy where ``name`` is the name of the storage policy.
  in: header
  required: true
  type: integer
X-Account-Storage-Policy-name-Object-Count:
  description: |
    The number of objects in given storage policy where ``name`` is
    the name of the storage policy.
  in: header
  required: true
  type: integer
X-Auth-Token:
  description: |
    Authentication token. If you omit this header,
    your request fails unless the account owner has granted you access
    through an access control list (ACL).
  in: header
  required: false
  type: string
X-Container-Bytes-Used:
  description: |
    The total number of bytes used.
  in: header
  required: true
  type: integer
X-Container-Meta-Access-Control-Allow-Origin:
  description: |
    Originating URLs allowed to make cross-origin
    requests (CORS), separated by spaces. This heading applies to the
    container only, and all objects within the container with this
    header applied are CORS-enabled for the allowed origin URLs.  A
    browser (user-agent) typically issues a `preflighted request
    <https://developer.mozilla.org/en-
    US/docs/HTTP/Access_control_CORS>`_ , which is an OPTIONS call
    that verifies the origin is allowed to make the request. The
    Object Storage service returns 200 if the originating URL is
    listed in this header parameter, and issues a 401 if the
    originating URL is not allowed to make a cross-origin request.
    Once a 200 is returned, the browser makes a second request to the
    Object Storage service to retrieve the CORS-enabled object.
  in: header
  required: false
  type: string
X-Container-Meta-Access-Control-Expose-Headers:
  description: |
    Headers the Object Storage service exposes to the
    browser (technically, through the ``user-agent`` setting), in the
    request response, separated by spaces.  By default the Object
    Storage service returns the following headers:

    - All "simple response headers" as listed on
      `http://www.w3.org/TR/cors/#simple-response-header
      <http://www.w3.org/TR/cors/#simple-response-header>`_.
    - The headers ``etag``, ``x-timestamp``, ``x-trans-id``,
      ``x-openstack-request-id``.
    - All metadata headers (``X-Container-Meta-*`` for containers and
      ``X-Object-Meta-*`` for objects).
    - headers listed in ``X-Container-Meta-Access-Control-Expose-Headers``.
  in: header
  required: false
  type: string
X-Container-Meta-Access-Control-Max-Age:
  description: |
    Maximum time for the origin to hold the preflight
    results. A browser may make an OPTIONS call to verify the origin
    is allowed to make the request. Set the value to an integer number
    of seconds after the time that the request was received.
  in: header
  required: false
  type: string
X-Container-Meta-name:
  description: |
    The custom container metadata item, where
    ``name`` is the name of the metadata item.  One ``X-Container-Meta-name``
    response header appears for each metadata item (for
    each ``name``).
  in: header
  required: true
  type: string
X-Container-Meta-name_req:
  description: |
    The container metadata, where ``name`` is the
    name of metadata item.  You must specify an ``X-Container-Meta-name``
    header for each metadata item (for each ``name``) that
    you want to add or update.
  in: header
  required: false
  type: string
X-Container-Meta-Quota-Bytes:
  description: |
    Sets maximum size of the container, in bytes.
    Typically these values are set by an administrator. Returns a 413
    response (request entity too large) when an object PUT operation
    exceeds this quota value.
    This value does not take effect immediately. see
    `Container Quotas
    <https://docs.openstack.org/swift/latest/api/container_quotas.html>`_
    for more information.
  in: header
  required: false
  type: string
X-Container-Meta-Quota-Bytes_resp:
  description: |
    The maximum size of the container, in bytes. If not set, this header is not
    returned by this operation.
  in: header
  required: false
  type: string
X-Container-Meta-Quota-Count:
  description: |
    Sets maximum object count of the container.
    Typically these values are set by an administrator. Returns a 413
    response (request entity too large) when an object PUT operation
    exceeds this quota value.
    This value does not take effect immediately. see
    `Container Quotas
    <https://docs.openstack.org/swift/latest/api/container_quotas.html>`_
    for more information.
  in: header
  required: false
  type: string
X-Container-Meta-Quota-Count_resp:
  description: |
    The maximum object count of the container. If not set, this header is not
    returned by this operation.
  in: header
  required: false
  type: string
X-Container-Meta-Temp-URL-Key-2_req:
  description: |
    A second secret key value for temporary URLs.
    The second key enables you to rotate keys by having
    two active keys at the same time.
  in: header
  required: false
  type: string
X-Container-Meta-Temp-URL-Key-2_resp:
  description: |
    The second secret key value for temporary URLs. If
    not set, this header is not returned in the response.
  in: header
  required: false
  type: string
X-Container-Meta-Temp-URL-Key_req:
  description: |
    The secret key value for temporary URLs.
  in: header
  required: false
  type: string
X-Container-Meta-Temp-URL-Key_resp:
  description: |
    The secret key value for temporary URLs. If not
    set, this header is not returned in the response.
  in: header
  required: false
  type: string
X-Container-Meta-Web-Directory-Type:
  description: |
    Sets the content-type of directory marker
    objects. If the header is not set, default is
    ``application/directory``. Directory marker objects are 0-byte
    objects that represent directories to create a simulated
    hierarchical structure.  For example, if you set ``"X-Container-
    Meta-Web-Directory-Type: text/directory"``, Object Storage treats
    0-byte objects with a content-type of ``text/directory`` as
    directories rather than objects.
  in: header
  required: false
  type: string
X-Container-Object-Count:
  description: |
    The number of objects.
  in: header
  required: true
  type: integer
X-Container-Read:
  description: |
    Sets a container access control list (ACL) that grants read access.
    The scope of the access is specific to the container. The ACL grants
    the ability to perform GET or HEAD operations on objects in the container
    or to perform a GET or HEAD operation on the container itself.

    The format and scope of the ACL is dependent on the authorization system
    used by the Object Storage service. See `Container ACLs
    <https://docs.openstack.org/swift/latest/overview_acl.html#container-acls>`_
    for more information.
  in: header
  required: false
  type: string
X-Container-Read_resp:
  description: |
    The ACL that grants read access. If there is no ACL, this
    header is not returned by this operation.
    See `Container ACLs
    <https://docs.openstack.org/swift/latest/overview_acl.html#container-acls>`_
    for more information.
  in: header
  required: false
  type: string
X-Container-Sync-Key:
  description: |
    Sets the secret key for container
    synchronization. If you remove the secret key, synchronization is
    halted.
    For more information, see `Container to Container Synchronization
    <https://docs.openstack.org/swift/latest/overview_container_sync.html>`_
  in: header
  required: false
  type: string
X-Container-Sync-Key_resp:
  description: |
    The secret key for container synchronization. If
    not set, this header is not returned by this operation.
  in: header
  required: false
  type: string
X-Container-Sync-To:
  description: |
    Sets the destination for container
    synchronization. Used with the secret key indicated in the ``X
    -Container-Sync-Key`` header. If you want to stop a container from
    synchronizing, send a blank value for the ``X-Container-Sync-Key``
    header.
  in: header
  required: false
  type: string
X-Container-Sync-To_resp:
  description: |
    The destination for container synchronization. If
    not set, this header is not returned by this operation.
  in: header
  required: false
  type: string
X-Container-Write:
  description: |
    Sets a container access control list (ACL) that grants write access.
    The scope of the access is specific to the container. The ACL grants
    the ability to perform PUT, POST and DELETE operations on
    objects in the container. It does not grant write access to the container
    metadata.

    The format of the ACL is dependent on the authorization system
    used by the Object Storage service.  See `Container ACLs
    <https://docs.openstack.org/swift/latest/overview_acl.html#container-acls>`_
    for more information.

  in: header
  required: false
  type: string
X-Container-Write_resp:
  description:
    The ACL that grants write access. If there is no ACL,
    this header is not returned by this operation.
    See `Container ACLs
    <https://docs.openstack.org/swift/latest/overview_acl.html#container-acls>`_
    for more information.
  in: header
  required: false
  type: string
X-Copied-From:
  description: |
    For a copied object, shows the container and
    object name from which the new object was copied. The value is in
    the ``{container}/{object}`` format.
  in: header
  required: false
  type: string
X-Copied-From-Account:
  description: |
    For a copied object, shows the account
    from which the new object was copied.
  in: header
  required: false
  type: string
X-Copied-From-Last-Modified:
  description: |
    For a copied object, the date and time in `UNIX
    Epoch time stamp format
    <https://en.wikipedia.org/wiki/Unix_time>`_ when the container and
    object name from which the new object was copied was last
    modified.  For example, ``1440619048`` is equivalent to ``Mon,
    Wed, 26 Aug 2015 19:57:28 GMT``.
  in: header
  required: false
  type: integer
X-Copy-From:
  description: |
    If set, this is the name of an object used to
    create the new object by copying the ``X-Copy-From`` object. The
    value is in form ``{container}/{object}``. You must UTF-8-encode
    and then URL-encode the names of the container and object before
    you include them in the header.  Using PUT with ``X-Copy-From``
    has the same effect as using the COPY operation to copy an object.
    Using ``Range`` header with ``X-Copy-From`` will create a new
    partial copied object with bytes set by ``Range``.
  in: header
  required: false
  type: string
X-Copy-From-Account:
  description: |
    Specifies the account name where the object is copied from. If not
    specified, the object is copied from the account which owns the new
    object (i.e., the account in the path).
  in: header
  required: false
  type: string
X-Delete-After:
  description: |
    The number of seconds after which the system removes the object. The value
    should be a positive integer. Internally, the Object Storage system uses
    this value to generate an ``X-Delete-At`` metadata item. If both
    ``X-Delete-After`` and ``X-Delete-At`` are set then ``X-Delete-After``
    takes precedence.
  in: header
  required: false
  type: integer
X-Delete-At:
  description: |
    The date and time in `UNIX Epoch time stamp format
    <https://en.wikipedia.org/wiki/Unix_time>`_ when the system removes the
    object.  For example, ``1440619048`` is equivalent to ``Mon, Wed, 26 Aug
    2015 19:57:28 GMT``.  The value should be a positive integer corresponding
    to a time in the future. If both ``X-Delete-After`` and ``X-Delete-At`` are
    set then ``X-Delete-After`` takes precedence.
  in: header
  required: false
  type: integer
X-Delete-At_resp:
  description: |
    If present, specifies date and time in `UNIX Epoch time stamp format
    <https://en.wikipedia.org/wiki/Unix_time>`_ when the system removes the
    object.  For example, ``1440619048`` is equivalent to ``Mon, Wed, 26 Aug
    2015 19:57:28 GMT``.
  in: header
  required: false
  type: integer
X-Detect-Content-Type:
  description: |
    If set to ``true``, Object Storage guesses the
    content type based on the file extension and ignores the value
    sent in the ``Content-Type`` header, if present.
  in: header
  required: false
  type: boolean
X-Fresh-Metadata:
  description: |
    Enables object creation that omits existing user
    metadata.  If set to ``true``, the COPY request creates an object
    without existing user metadata.  Default value is ``false``.
  in: header
  required: false
  type: boolean
X-History-Location:
  description: |
    The URL-encoded UTF-8 representation of the container that stores
    previous versions of objects. If neither this nor ``X-Versions-Location``
    is set, versioning is disabled for this container. ``X-History-Location``
    and ``X-Versions-Location`` cannot both be set at the same time. For more
    information about object versioning, see `Object versioning
    <https://docs.openstack.org/swift/latest/api/object_versioning.html>`_.
  in: header
  required: false
  type: string
X-History-Location_resp:
  description: |
    If present, this container has versioning enabled and the value
    is the UTF-8 encoded name of another container. For more information
    about object versioning, see `Object versioning
    <https://docs.openstack.org/swift/latest/api/object_versioning.html>`_.
  in: header
  required: false
  type: string
X-Newest:
  description: |
    If set to true , Object Storage queries all
    replicas to return the most recent one. If you omit this header,
    Object Storage responds faster after it finds one valid replica.
    Because setting this header to true is more expensive for the back
    end, use it only when it is absolutely needed.
  in: header
  required: false
  type: boolean
X-Object-Manifest:
  description: |
    Set to specify that this is a dynamic large
    object manifest object. The value is the container and object name
    prefix of the segment objects in the form ``container/prefix``.
    You must UTF-8-encode and then URL-encode the names of the
    container and prefix before you include them in this header.
  in: header
  required: false
  type: string
X-Object-Manifest_resp:
  description: |
    If present, this is a dynamic large object
    manifest object. The value is the container and object name prefix
    of the segment objects in the form ``container/prefix``.
  in: header
  required: false
  type: string
X-Object-Meta-name:
  description: |
    The object metadata, where ``name`` is the name
    of the metadata item.  You must specify an
    ``X-Object-Meta-name`` header for each metadata ``name`` item that
    you want to add or update.
  in: header
  required: false
  type: string
X-Object-Meta-name_resp:
  description: |
    If present, the custom object metadata item, where ``name``
    is the name of the metadata item.  One``X-Object-Meta-name``
    response header appears for each metadata ``name`` item.
  in: header
  required: false
  type: string
X-Openstack-Request-Id:
  description: |
    A unique transaction ID for this request. Your
    service provider might need this value if you report a problem.
    (same as ``X-Trans-Id``)
  in: header
  required: true
  type: string
X-Remove-Account-name:
  description: |
    Removes the metadata item named ``name``.
    For example, ``X-Remove-Account-Meta-Blue`` removes
    custom metadata.
  in: header
  required: false
  type: string
X-Remove-Container-name:
  description: |
    Removes the metadata item named ``name``. For
    example, ``X-Remove-Container-Read`` removes the
    ``X-Container-Read`` metadata item and ``X-Remove-Container-Meta-Blue``
    removes custom metadata.
  in: header
  required: false
  type: string
X-Remove-History-Location:
  description: |
    Set to any value to disable versioning. Note that this disables version
    that was set via ``X-Versions-Location`` as well.
  in: header
  required: false
  type: string
X-Remove-Versions-Location:
  description: |
    Set to any value to disable versioning. Note that this disables version
    that was set via ``X-History-Location`` as well.
  in: header
  required: false
  type: string
X-Service-Token:
  description: |
    A service token. See `OpenStack Service Using Composite Tokens
    <https://docs.openstack.org/swift/latest/overview_auth.html#openstack-
    service-using-composite-tokens>`_ for more information.
  in: header
  required: false
  type: string
X-Static-Large-Object:
  description: |
    Set to ``true`` if this object is a static large
    object manifest object.
  in: header
  required: true
  type: boolean
X-Storage-Policy:
  description: |
    In requests, specifies the name of the storage policy to use for
    the container. In responses, is the storage policy name.
    The storage policy of the container cannot be changed.
  in: header
  required: false
  type: string
X-Symlink-Target:
  description: |
    Set to specify that this is a symlink object.
    The value is the relative path of the target object in the
    format <container>/<object>.  The target object does not need to
    exist at the time of symlink creation.
    You must UTF-8-encode and then URL-encode the names of the
    container and object before you include them in this header.
  in: header
  required: false
  type: string
X-Symlink-Target-Account:
  description: |
    Set to specify that this is a cross-account symlink to
    an object in the account specified in the value.
    The ``X-Symlink-Target`` must also be set for this to
    be effective.
    You must UTF-8-encode and then URL-encode the account name
    before you include it in this header.
  in: header
  required: false
  type: string
X-Symlink-Target-Account_resp:
  description: |
    If present, and ``X-Symlink-Target`` is present, then
    this is a cross-account symlink to
    an object in the account specified in the value.
  in: header
  required: false
  type: string
X-Symlink-Target_resp:
  description: |
    If present, this is a symlink object.
    The value is the relative path of the target object in the
    format <container>/<object>.
  in: header
  required: false
  type: string
X-Timestamp:
  description: |
    The date and time in `UNIX Epoch time stamp
    format <https://en.wikipedia.org/wiki/Unix_time>`_ when the
    account, container, or object was initially created as a current
    version.  For example, ``1440619048`` is equivalent to ``Mon, Wed,
    26 Aug 2015 19:57:28 GMT``.
  in: header
  required: true
  type: integer
X-Trans-Id:
  description: |
    A unique transaction ID for this request. Your
    service provider might need this value if you report a problem.
  in: header
  required: true
  type: string
X-Trans-Id-Extra:
  description: |
    Extra transaction information. Use the ``X-Trans-Id-Extra``
    request header to include extra information to help you
    debug any errors that might occur with large object upload and
    other Object Storage transactions.  The server appends the
    first 32 characters of the ``X-Trans-Id-Extra`` request header
    value to the transaction ID value in the generated ``X-Trans-Id``
    response header. You must UTF-8-encode and then URL-encode the
    extra transaction information before you include it in the
    ``X-Trans-Id-Extra`` request header.  For example, you can include
    extra transaction information when you upload `large objects
    <https://docs.openstack.org/swift/latest/api/large_objects.html>`_
    such as images. When
    you upload each segment and the manifest, include the same value
    in the ``X-Trans-Id-Extra`` request header. If an error occurs,
    you can find all requests that are related to the large object
    upload in the Object Storage logs.  You can also use ``X-Trans-Id-Extra``
    strings to help operators debug requests that fail to
    receive responses. The operator can search for the extra
    information in the logs.
  in: header
  required: false
  type: string
X-Versions-Location:
  description: |
    The URL-encoded UTF-8 representation of the container that stores
    previous versions of objects. If neither this nor ``X-History-Location``
    is set, versioning is disabled for this container. ``X-Versions-Location``
    and ``X-History-Location`` cannot both be set at the same time. For more
    information about object versioning, see `Object versioning
    <https://docs.openstack.org/swift/latest/api/object_versioning.html>`_.
  in: header
  required: false
  type: string
X-Versions-Location_resp:
  description: |
    If present, this container has versioning enabled and the value
    is the UTF-8 encoded name of another container. For more information
    about object versioning, see `Object versioning
    <https://docs.openstack.org/swift/latest/api/object_versioning.html>`_.
  in: header
  required: false
  type: string

# variables in path
account:
  description: |
    The unique name for the account. An account is
    also known as the project or tenant.
  in: path
  required: false
  type: string
container:
  description: |
    The unique (within an account) name for the container.  The container
    name must be from 1 to 256 characters long and can start with any
    character and contain any pattern. Character set must be UTF-8.
    The container name cannot contain a slash (``/``) character
    because this character delimits the container and object name. For
    example, the path ``/v1/account/www/pages`` specifies the ``www``
    container, not the ``www/pages`` container.
  in: path
  required: false
  type: string
object:
  description: |
    The unique name for the object.
  in: path
  required: false
  type: string

# variables in query
bulk-delete:
  description: |
    When the ``bulk-delete`` query parameter is present in the POST
    request, multiple objects or containers can be deleted
    with a single request. See `Bulk Delete
    <https://docs.openstack.org/swift/latest/middleware.html#bulk-delete>`_
    for how this feature is used.
  in: query
  required: false
  type: string
delimiter:
  description: |
    The delimiter is a single character used to split object
    names to present a pseudo-directory hierarchy of objects. When combined
    with a ``prefix`` query, this enables API users to simulate and
    traverse the objects in a container as if they were in a directory tree.
  in: query
  required: false
  type: string
end_marker:
  description: |
    For a string value, `x` , constrains the list to items whose names
    are less than `x`.
  in: query
  required: false
  type: string
extract-archive:
  description: |
    When the ``extract-archive`` query parameter is present in the POST
    request, an archive (tar file) is uploaded and extracted to
    create multiple objects. See `Extract Archive
    <https://docs.openstack.org/swift/latest/middleware.html#extract-archive>`_
    for how this feature is used.
  in: query
  required: false
  type: string
filename:
  description: |
    Overrides the default file name. Object Storage
    generates a default file name for GET temporary URLs that is based
    on the object name. Object Storage returns this value in the
    ``Content-Disposition`` response header. Browsers can interpret
    this file name value as a file attachment to save. For more
    information about temporary URLs, see `Temporary URL middleware
    <https://docs.openstack.org/swift/latest/api/temporary_url_middleware.html>`_.
  in: query
  required: false
  type: string
format:
  description: |
    The response format. Valid values are ``json``,
    ``xml``, or ``plain``. The default is ``plain``.  If you append
    the ``format=xml`` or ``format=json`` query parameter to the
    storage account URL, the response shows extended container
    information serialized in that format.  If you append the
    ``format=plain`` query parameter, the response lists the container
    names separated by newlines.
  in: query
  required: false
  type: string
limit:
  description: |
    For an integer value n , limits the number of
    results to n .
  in: query
  required: false
  type: integer
marker:
  description: |
    For a string value, `x` , constrains the list to items whose names
    are greater than `x`.
  in: query
  required: false
  type: string
multipart-manifest_copy:
  description: |
    If you include the ``multipart-manifest=get``
    query parameter and the object is a large object, the object
    contents are not copied. Instead, the manifest is copied to
    the new object.
  in: query
  required: false
  type: string
multipart-manifest_delete:
  description: |
    If you include the ``multipart-manifest=delete``
    query parameter and the object is a static large object, the
    segment objects and manifest object are deleted. If you omit the
    ``multipart-manifest=delete`` query parameter and the object is a
    static large object, the manifest object is deleted but the
    segment objects are not deleted.  The response body will contain
    the status of the deletion of every processed segment object.
  in: query
  required: false
  type: string
multipart-manifest_get:
  description: |
    If you include the ``multipart-manifest=get``
    query parameter and the object is a large object, the object
    contents are not returned. Instead, the manifest is returned in
    the ``X-Object-Manifest`` response header for dynamic large
    objects or in the response body for static large objects.
  in: query
  required: false
  type: string
multipart-manifest_head:
  description: |
    If you include the ``multipart-manifest=get`` query parameter and the
    object is a large object, the object metadata is not returned. Instead, the
    response headers will include the manifest metadata and for dynamic large
    objects the ``X-Object-Manifest`` response header.
  in: query
  required: false
  type: string
multipart-manifest_put:
  description: |
    If you include the ``multipart-manifest=put`` query parameter, the object
    is a static large object manifest and the body contains the manifest.
    See `Static large objects <https://docs.openstack.org/swift/latest
    /api/large_objects.html#static-large-objects>`_ for more information.
  in: query
  required: false
  type: string
path:
  description: |
    For a string value, returns the object names that
    are nested in the pseudo path. Please use ``prefix``/``delimiter``
    queries instead of using this ``path`` query.
  in: query
  required: false
  type: string
prefix:
  description: |
    Only objects with this prefix will be returned. When combined with a
    ``delimiter`` query, this enables API users to simulate and
    traverse the objects in a container as if they were in a directory tree.
  in: query
  required: false
  type: string
reverse:
  description: |
    By default, listings are returned sorted by name, ascending. If you include
    the ``reverse=true`` query parameter, the listing will be returned sorted
    by name, descending.
  in: query
  required: false
  type: boolean
swiftinfo_expires:
  description: |
    The time at which ``swiftinfo_sig`` expires. The time is in
    `UNIX Epoch time stamp format
    <https://en.wikipedia.org/wiki/Unix_time>`_.
  in: query
  required: false
  type: integer
swiftinfo_sig:
  description: |
    A hash-based message authentication code (HMAC)
    that enables access to administrator-only information. To use this
    parameter, the ``swiftinfo_expires`` parameter is also required.
  in: query
  required: false
  type: string
symlink:
  description: |
    If you include the ``symlink=get`` query parameter
    and the object is a symlink, then the response will include
    data and metadata from the symlink itself rather than from the target.
  in: query
  required: false
  type: string
symlink_copy:
  description: |
    If you include the ``symlink=get`` query parameter
    and the object is a symlink, the target object
    contents are not copied. Instead, the symlink is copied to
    create a new symlink to the same target.
  in: query
  required: false
  type: string
temp_url_expires:
  description: |
    The date and time in `UNIX Epoch time stamp
    format <https://en.wikipedia.org/wiki/Unix_time>`_ or
    `ISO 8601 UTC timestamp <https://en.wikipedia.org/wiki/ISO_8601>`_
    when the signature for temporary URLs expires.
    For example, ``1440619048`` or ``2015-08-26T19:57:28Z``
    is equivalent to ``Mon, Wed, 26 Aug 2015 19:57:28 GMT``.  For more
    information about temporary URLs, see `Temporary URL middleware
    <https://docs.openstack.org/swift/latest/api/temporary_url_middleware.html>`_.
  in: query
  required: true
  type: integer
temp_url_sig:
  description: |
    Used with temporary URLs to sign the request with
    an HMAC-SHA1 cryptographic signature that defines the allowed HTTP
    method, expiration date, full path to the object, and the secret
    key for the temporary URL. For more information about temporary
    URLs, see `Temporary URL middleware
    <https://docs.openstack.org/swift/latest/api/temporary_url_middleware.html>`_.
  in: query
  required: true
  type: string

# variables in body
bytes_in_account_get:
  description: |
    The total number of bytes that are stored in
    Object Storage for the account.
  in: body
  required: true
  type: integer
bytes_in_container_get:
  description: |
    The total number of bytes that are stored in
    Object Storage for the container.
  in: body
  required: true
  type: integer
content_type:
  description: |
    The content type of the object.
  in: body
  required: true
  type: string
count:
  description: |
    The number of objects in the container.
  in: body
  required: true
  type: integer
hash:
  description: |
    The MD5 checksum value of the object content.
  in: body
  required: true
  type: string
last_modified:
  description: |
    The date and time when the object was last modified.

    The date and time stamp format is `ISO 8601
    <https://en.wikipedia.org/wiki/ISO_8601>`_:

    ::

       CCYY-MM-DDThh:mm:ss±hh:mm

    For example, ``2015-08-27T09:49:58-05:00``.

    The ``±hh:mm`` value, if included, is the time zone as an offset
    from UTC. In the previous example, the offset value is ``-05:00``.
  in: body
  required: true
  type: string
name_in_account_get:
  description: |
    The name of the container.
  in: body
  required: true
  type: string
name_in_container_get:
  description: |
    The name of the object.
  in: body
  required: true
  type: string
symlink_path:
  description: |
    This field exists only when the object is symlink.
    This is the target path of the symlink object.
  in: body
  required: true
  type: string