1 /*
2  * Copyright 2009-2017 Alibaba Cloud All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 #pragma once
18 
19 #include <memory>
20 #include <iostream>
21 #include <alibabacloud/oss/Global.h>
22 #include <alibabacloud/oss/Types.h>
23 #include <alibabacloud/oss/OssError.h>
24 #include <alibabacloud/oss/ServiceResult.h>
25 #include <alibabacloud/oss/utils/Outcome.h>
26 #include <alibabacloud/oss/model/VoidResult.h>
27 
28 #if !defined(OSS_DISABLE_BUCKET)
29 #include <alibabacloud/oss/model/ListBucketsRequest.h>
30 #include <alibabacloud/oss/model/ListBucketsResult.h>
31 #include <alibabacloud/oss/model/CreateBucketRequest.h>
32 #include <alibabacloud/oss/model/SetBucketAclRequest.h>
33 #include <alibabacloud/oss/model/SetBucketLoggingRequest.h>
34 #include <alibabacloud/oss/model/SetBucketWebsiteRequest.h>
35 #include <alibabacloud/oss/model/SetBucketRefererRequest.h>
36 #include <alibabacloud/oss/model/SetBucketLifecycleRequest.h>
37 #include <alibabacloud/oss/model/SetBucketCorsRequest.h>
38 #include <alibabacloud/oss/model/SetBucketStorageCapacityRequest.h>
39 #include <alibabacloud/oss/model/DeleteBucketRequest.h>
40 #include <alibabacloud/oss/model/DeleteBucketLoggingRequest.h>
41 #include <alibabacloud/oss/model/DeleteBucketWebsiteRequest.h>
42 #include <alibabacloud/oss/model/DeleteBucketLifecycleRequest.h>
43 #include <alibabacloud/oss/model/DeleteBucketCorsRequest.h>
44 #include <alibabacloud/oss/model/GetBucketAclRequest.h>
45 #include <alibabacloud/oss/model/GetBucketAclResult.h>
46 #include <alibabacloud/oss/model/GetBucketLocationRequest.h>
47 #include <alibabacloud/oss/model/GetBucketLocationResult.h>
48 #include <alibabacloud/oss/model/GetBucketInfoRequest.h>
49 #include <alibabacloud/oss/model/GetBucketInfoResult.h>
50 #include <alibabacloud/oss/model/GetBucketLoggingRequest.h>
51 #include <alibabacloud/oss/model/GetBucketLoggingResult.h>
52 #include <alibabacloud/oss/model/GetBucketWebsiteRequest.h>
53 #include <alibabacloud/oss/model/GetBucketWebsiteResult.h>
54 #include <alibabacloud/oss/model/GetBucketRefererRequest.h>
55 #include <alibabacloud/oss/model/GetBucketRefererResult.h>
56 #include <alibabacloud/oss/model/GetBucketLifecycleRequest.h>
57 #include <alibabacloud/oss/model/GetBucketLifecycleResult.h>
58 #include <alibabacloud/oss/model/GetBucketStatRequest.h>
59 #include <alibabacloud/oss/model/GetBucketStatResult.h>
60 #include <alibabacloud/oss/model/GetBucketCorsRequest.h>
61 #include <alibabacloud/oss/model/GetBucketCorsResult.h>
62 #include <alibabacloud/oss/model/GetBucketStorageCapacityRequest.h>
63 #include <alibabacloud/oss/model/GetBucketStorageCapacityResult.h>
64 #include <alibabacloud/oss/model/SetBucketPolicyRequest.h>
65 #include <alibabacloud/oss/model/GetBucketPolicyRequest.h>
66 #include <alibabacloud/oss/model/GetBucketPolicyResult.h>
67 #include <alibabacloud/oss/model/DeleteBucketPolicyRequest.h>
68 #include <alibabacloud/oss/model/SetBucketPaymentRequest.h>
69 #include <alibabacloud/oss/model/GetBucketPaymentRequest.h>
70 #include <alibabacloud/oss/model/GetBucketPaymentResult.h>
71 #include <alibabacloud/oss/model/SetBucketEncryptionRequest.h>
72 #include <alibabacloud/oss/model/DeleteBucketEncryptionRequest.h>
73 #include <alibabacloud/oss/model/GetBucketEncryptionRequest.h>
74 #include <alibabacloud/oss/model/GetBucketEncryptionResult.h>
75 #include <alibabacloud/oss/model/SetBucketTaggingRequest.h>
76 #include <alibabacloud/oss/model/GetBucketTaggingRequest.h>
77 #include <alibabacloud/oss/model/GetBucketTaggingResult.h>
78 #include <alibabacloud/oss/model/DeleteBucketTaggingRequest.h>
79 #include <alibabacloud/oss/model/SetBucketQosInfoRequest.h>
80 #include <alibabacloud/oss/model/DeleteBucketQosInfoRequest.h>
81 #include <alibabacloud/oss/model/GetBucketQosInfoRequest.h>
82 #include <alibabacloud/oss/model/GetBucketQosInfoResult.h>
83 #include <alibabacloud/oss/model/GetUserQosInfoRequest.h>
84 #include <alibabacloud/oss/model/GetUserQosInfoResult.h>
85 #include <alibabacloud/oss/model/SetBucketVersioningRequest.h>
86 #include <alibabacloud/oss/model/GetBucketVersioningRequest.h>
87 #include <alibabacloud/oss/model/GetBucketVersioningResult.h>
88 #include <alibabacloud/oss/model/SetBucketInventoryConfigurationRequest.h>
89 #include <alibabacloud/oss/model/DeleteBucketInventoryConfigurationRequest.h>
90 #include <alibabacloud/oss/model/GetBucketInventoryConfigurationResult.h>
91 #include <alibabacloud/oss/model/GetBucketInventoryConfigurationRequest.h>
92 #include <alibabacloud/oss/model/ListBucketInventoryConfigurationsRequest.h>
93 #include <alibabacloud/oss/model/ListBucketInventoryConfigurationsResult.h>
94 #endif
95 
96 #include <alibabacloud/oss/model/ListObjectsRequest.h>
97 #include <alibabacloud/oss/model/ListObjectsResult.h>
98 #include <alibabacloud/oss/model/ListObjectVersionsRequest.h>
99 #include <alibabacloud/oss/model/ListObjectVersionsResult.h>
100 #include <alibabacloud/oss/model/GetObjectRequest.h>
101 #include <alibabacloud/oss/model/GetObjectResult.h>
102 #include <alibabacloud/oss/model/PutObjectRequest.h>
103 #include <alibabacloud/oss/model/PutObjectResult.h>
104 #include <alibabacloud/oss/model/DeleteObjectRequest.h>
105 #include <alibabacloud/oss/model/DeleteObjectResult.h>
106 #include <alibabacloud/oss/model/DeleteObjectsRequest.h>
107 #include <alibabacloud/oss/model/DeleteObjectsResult.h>
108 #include <alibabacloud/oss/model/DeleteObjectVersionsRequest.h>
109 #include <alibabacloud/oss/model/DeleteObjectVersionsResult.h>
110 #include <alibabacloud/oss/model/HeadObjectRequest.h>
111 #include <alibabacloud/oss/model/GetObjectMetaRequest.h>
112 #include <alibabacloud/oss/model/GeneratePresignedUrlRequest.h>
113 #include <alibabacloud/oss/model/GetObjectByUrlRequest.h>
114 #include <alibabacloud/oss/model/PutObjectByUrlRequest.h>
115 #include <alibabacloud/oss/model/GetObjectAclRequest.h>
116 #include <alibabacloud/oss/model/GetObjectAclResult.h>
117 #include <alibabacloud/oss/model/AppendObjectRequest.h>
118 #include <alibabacloud/oss/model/AppendObjectResult.h>
119 #include <alibabacloud/oss/model/CopyObjectRequest.h>
120 #include <alibabacloud/oss/model/CopyObjectResult.h>
121 #include <alibabacloud/oss/model/GetSymlinkRequest.h>
122 #include <alibabacloud/oss/model/GetSymlinkResult.h>
123 #include <alibabacloud/oss/model/RestoreObjectRequest.h>
124 #include <alibabacloud/oss/model/RestoreObjectResult.h>
125 #include <alibabacloud/oss/model/CreateSymlinkRequest.h>
126 #include <alibabacloud/oss/model/CreateSymlinkResult.h>
127 #include <alibabacloud/oss/model/SetObjectAclRequest.h>
128 #include <alibabacloud/oss/model/SetObjectAclResult.h>
129 #include <alibabacloud/oss/model/ProcessObjectRequest.h>
130 #include <alibabacloud/oss/model/ObjectCallbackBuilder.h>
131 #include <alibabacloud/oss/model/SelectObjectRequest.h>
132 #include <alibabacloud/oss/model/CreateSelectObjectMetaRequest.h>
133 #include <alibabacloud/oss/model/CreateSelectObjectMetaResult.h>
134 #include <alibabacloud/oss/model/SetObjectTaggingRequest.h>
135 #include <alibabacloud/oss/model/SetObjectTaggingResult.h>
136 #include <alibabacloud/oss/model/GetObjectTaggingRequest.h>
137 #include <alibabacloud/oss/model/GetObjectTaggingResult.h>
138 #include <alibabacloud/oss/model/DeleteObjectTaggingRequest.h>
139 #include <alibabacloud/oss/model/DeleteObjectTaggingResult.h>
140 
141 #include <alibabacloud/oss/model/InitiateMultipartUploadRequest.h>
142 #include <alibabacloud/oss/model/InitiateMultipartUploadResult.h>
143 #include <alibabacloud/oss/model/UploadPartRequest.h>
144 #include <alibabacloud/oss/model/UploadPartCopyRequest.h>
145 #include <alibabacloud/oss/model/UploadPartCopyResult.h>
146 #include <alibabacloud/oss/model/CompleteMultipartUploadRequest.h>
147 #include <alibabacloud/oss/model/CompleteMultipartUploadResult.h>
148 #include <alibabacloud/oss/model/AbortMultipartUploadRequest.h>
149 #include <alibabacloud/oss/model/ListMultipartUploadsRequest.h>
150 #include <alibabacloud/oss/model/ListMultipartUploadsResult.h>
151 #include <alibabacloud/oss/model/ListPartsRequest.h>
152 #include <alibabacloud/oss/model/ListPartsResult.h>
153 
154 #if !defined(OSS_DISABLE_RESUAMABLE)
155 #include <alibabacloud/oss/model/UploadObjectRequest.h>
156 #include <alibabacloud/oss/model/MultiCopyObjectRequest.h>
157 #include <alibabacloud/oss/model/DownloadObjectRequest.h>
158 #endif
159 
160 #if !defined(OSS_DISABLE_LIVECHANNEL)
161 #include <alibabacloud/oss/model/PutLiveChannelStatusRequest.h>
162 #include <alibabacloud/oss/model/PutLiveChannelRequest.h>
163 #include <alibabacloud/oss/model/PutLiveChannelResult.h>
164 #include <alibabacloud/oss/model/PostVodPlaylistRequest.h>
165 #include <alibabacloud/oss/model/GetVodPlaylistRequest.h>
166 #include <alibabacloud/oss/model/GetVodPlaylistResult.h>
167 #include <alibabacloud/oss/model/GetLiveChannelStatRequest.h>
168 #include <alibabacloud/oss/model/GetLiveChannelStatResult.h>
169 #include <alibabacloud/oss/model/GetLiveChannelInfoRequest.h>
170 #include <alibabacloud/oss/model/GetLiveChannelInfoResult.h>
171 #include <alibabacloud/oss/model/GetLiveChannelHistoryRequest.h>
172 #include <alibabacloud/oss/model/GetLiveChannelHistoryResult.h>
173 #include <alibabacloud/oss/model/ListLiveChannelRequest.h>
174 #include <alibabacloud/oss/model/ListLiveChannelResult.h>
175 #include <alibabacloud/oss/model/DeleteLiveChannelRequest.h>
176 #include <alibabacloud/oss/model/GenerateRTMPSignedUrlRequest.h>
177 #endif
178 
179 namespace AlibabaCloud
180 {
181 namespace OSS
182 {
183     using OssOutcome = Outcome<OssError, ServiceResult>;
184     using VoidOutcome = Outcome<OssError, VoidResult>;
185     using StringOutcome = Outcome<OssError, std::string>;
186 
187 #if !defined(OSS_DISABLE_BUCKET)
188     using ListBucketsOutcome = Outcome<OssError, ListBucketsResult>;
189     using CreateBucketOutcome = Outcome<OssError, Bucket>;
190     using ListBucketInventoryConfigurationsOutcome = Outcome<OssError, ListBucketInventoryConfigurationsResult>;
191 
192     using GetBucketAclOutcome = Outcome<OssError, GetBucketAclResult>;
193     using GetBucketLocationOutcome = Outcome<OssError, GetBucketLocationResult>;
194     using GetBucketInfoOutcome = Outcome<OssError, GetBucketInfoResult>;
195     using GetBucketLoggingOutcome = Outcome<OssError, GetBucketLoggingResult>;
196     using GetBucketWebsiteOutcome = Outcome<OssError, GetBucketWebsiteResult>;
197     using GetBucketRefererOutcome = Outcome<OssError, GetBucketRefererResult>;
198     using GetBucketLifecycleOutcome = Outcome<OssError, GetBucketLifecycleResult>;
199     using GetBucketStatOutcome = Outcome<OssError, GetBucketStatResult>;
200     using GetBucketCorsOutcome = Outcome<OssError, GetBucketCorsResult>;
201     using GetBucketStorageCapacityOutcome = Outcome<OssError, GetBucketStorageCapacityResult>;
202     using GetBucketPolicyOutcome = Outcome<OssError, GetBucketPolicyResult>;
203     using GetBucketPaymentOutcome = Outcome<OssError, GetBucketPaymentResult>;
204     using GetBucketEncryptionOutcome = Outcome<OssError, GetBucketEncryptionResult>;
205     using GetBucketTaggingOutcome = Outcome<OssError, GetBucketTaggingResult>;
206     using GetBucketQosInfoOutcome = Outcome<OssError, GetBucketQosInfoResult>;
207     using GetUserQosInfoOutcome = Outcome<OssError, GetUserQosInfoResult>;
208     using GetBucketVersioningOutcome = Outcome<OssError, GetBucketVersioningResult>;
209     using GetBucketInventoryConfigurationOutcome = Outcome<OssError, GetBucketInventoryConfigurationResult>;
210 #endif
211 
212     using ListObjectOutcome = Outcome<OssError, ListObjectsResult>;
213     using ListObjectVersionsOutcome = Outcome<OssError, ListObjectVersionsResult>;
214 
215     using GetObjectOutcome = Outcome<OssError, GetObjectResult>;
216     using PutObjectOutcome = Outcome<OssError, PutObjectResult>;
217     using DeleteObjectOutcome = Outcome<OssError, DeleteObjectResult>;
218     using DeleteObjecstOutcome = Outcome<OssError, DeleteObjectsResult>;
219     using DeleteObjecVersionstOutcome = Outcome<OssError, DeleteObjectVersionsResult>;
220     using ObjectMetaDataOutcome = Outcome<OssError, ObjectMetaData>;
221 
222     using GetObjectAclOutcome = Outcome<OssError, GetObjectAclResult>;
223     using SetObjectAclOutcome = Outcome<OssError, SetObjectAclResult>;
224     using AppendObjectOutcome = Outcome<OssError, AppendObjectResult>;
225     using CopyObjectOutcome = Outcome<OssError, CopyObjectResult>;
226     using RestoreObjectOutcome = Outcome<OssError, RestoreObjectResult>;
227     using GetSymlinkOutcome = Outcome<OssError, GetSymlinkResult>;
228     using CreateSymlinkOutcome = Outcome<OssError, CreateSymlinkResult>;
229     using CreateSelectObjectMetaOutcome = Outcome<OssError, CreateSelectObjectMetaResult>;
230     using SetObjectTaggingOutcome = Outcome<OssError, SetObjectTaggingResult>;
231     using GetObjectTaggingOutcome = Outcome<OssError, GetObjectTaggingResult>;
232     using DeleteObjectTaggingOutcome = Outcome<OssError, DeleteObjectTaggingResult>;
233 
234     /*multipart*/
235     using InitiateMultipartUploadOutcome = Outcome<OssError, InitiateMultipartUploadResult>;
236     using UploadPartCopyOutcome = Outcome<OssError, UploadPartCopyResult>;
237     using CompleteMultipartUploadOutcome = Outcome<OssError, CompleteMultipartUploadResult>;
238     using ListMultipartUploadsOutcome = Outcome<OssError, ListMultipartUploadsResult>;
239     using ListPartsOutcome = Outcome<OssError, ListPartsResult>;
240 
241 #if !defined(OSS_DISABLE_LIVECHANNEL)
242     /*livechannel*/
243     using PutLiveChannelOutcome = Outcome<OssError, PutLiveChannelResult>;
244     using GetLiveChannelStatOutcome = Outcome<OssError, GetLiveChannelStatResult>;
245     using GetLiveChannelInfoOutcome = Outcome<OssError, GetLiveChannelInfoResult>;
246     using GetLiveChannelHistoryOutcome = Outcome<OssError, GetLiveChannelHistoryResult>;
247     using ListLiveChannelOutcome = Outcome<OssError, ListLiveChannelResult>;
248     using GetVodPlaylistOutcome = Outcome<OssError, GetVodPlaylistResult>;
249 #endif
250 }
251 }
252