@ibm-cloud/ibm_dph_services 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dph/v1.d.ts ADDED
@@ -0,0 +1,1344 @@
1
+ /**
2
+ * (C) Copyright IBM Corp. 2024.
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
+ /// <reference types="node" />
17
+ import { IncomingHttpHeaders, OutgoingHttpHeaders } from 'http';
18
+ import { BaseService, UserOptions } from 'ibm-cloud-sdk-core';
19
+ /**
20
+ * Data Product Hub API Service
21
+ *
22
+ * API Version: 1.0.1
23
+ */
24
+ declare class DphV1 extends BaseService {
25
+ static DEFAULT_SERVICE_NAME: string;
26
+ /*************************
27
+ * Factory method
28
+ ************************/
29
+ /**
30
+ * Constructs an instance of DphV1 with passed in options and external configuration.
31
+ *
32
+ * @param {UserOptions} [options] - The parameters to send to the service.
33
+ * @param {string} [options.serviceName] - The name of the service to configure
34
+ * @param {Authenticator} [options.authenticator] - The Authenticator object used to authenticate requests to the service
35
+ * @param {string} [options.serviceUrl] - The base URL for the service
36
+ * @returns {DphV1}
37
+ */
38
+ static newInstance(options: UserOptions): DphV1;
39
+ /**
40
+ * Construct a DphV1 object.
41
+ *
42
+ * @param {Object} options - Options for the service.
43
+ * @param {string} [options.serviceUrl] - The base URL for the service
44
+ * @param {OutgoingHttpHeaders} [options.headers] - Default headers that shall be included with every request to the service.
45
+ * @param {Authenticator} options.authenticator - The Authenticator object used to authenticate requests to the service
46
+ * @constructor
47
+ * @returns {DphV1}
48
+ */
49
+ constructor(options: UserOptions);
50
+ /*************************
51
+ * configuration
52
+ ************************/
53
+ /**
54
+ * Get resource initialization status.
55
+ *
56
+ * Use this API to get the status of resource initialization in Data Product Hub.<br/><br/>If the data product catalog
57
+ * exists but has never been initialized, the status will be "not_started".<br/><br/>If the data product catalog
58
+ * exists and has been or is being initialized, the response will contain the status of the last or current
59
+ * initialization. If the initialization failed, the "errors" and "trace" fields will contain the error(s) encountered
60
+ * during the initialization, including the ID to trace the error(s).<br/><br/>If the data product catalog doesn't
61
+ * exist, an HTTP 404 response is returned.
62
+ *
63
+ * @param {Object} [params] - The parameters to send to the service.
64
+ * @param {string} [params.containerId] - Container ID of the data product catalog. If not supplied, the data product
65
+ * catalog is looked up by using the uid of the default data product catalog.
66
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
67
+ * @returns {Promise<DphV1.Response<DphV1.InitializeResource>>}
68
+ */
69
+ getInitializeStatus(params?: DphV1.GetInitializeStatusParams): Promise<DphV1.Response<DphV1.InitializeResource>>;
70
+ /**
71
+ * Get service id credentials.
72
+ *
73
+ * Use this API to get the information of service id credentials in Data Product Hub.
74
+ *
75
+ * @param {Object} [params] - The parameters to send to the service.
76
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
77
+ * @returns {Promise<DphV1.Response<DphV1.ServiceIdCredentials>>}
78
+ */
79
+ getServiceIdCredentials(params?: DphV1.GetServiceIdCredentialsParams): Promise<DphV1.Response<DphV1.ServiceIdCredentials>>;
80
+ /**
81
+ * Initialize resources.
82
+ *
83
+ * Use this API to initialize default assets for data product hub. <br/><br/>You can initialize:
84
+ * <br/><ul><li>`delivery_methods` - Methods through which data product parts can be delivered to consumers of the
85
+ * data product hub</li><li>`domains_multi_industry` - Taxonomy of domains and use cases applicable to multiple
86
+ * industries</li><li>`data_product_samples` - Sample data products used to illustrate capabilities of the data
87
+ * product hub</li><li>`workflows` - Workflows to enable restricted data products</li><li>`project` - A default
88
+ * project for exporting data assets to files</li></ul><br/><br/>If a resource depends on resources that are not
89
+ * specified in the request, these dependent resources will be automatically initialized. E.g., initializing
90
+ * `data_product_samples` will also initialize `domains_multi_industry` and `delivery_methods` even if they are not
91
+ * specified in the request because it depends on them.<br/><br/>If initializing the data product hub for the first
92
+ * time, do not specify a container. The default data product catalog will be created.<br/>For first time
93
+ * initialization, it is recommended that at least `delivery_methods` and `domains_multi_industry` is included in the
94
+ * initialize operation.<br/><br/>If the data product hub has already been initialized, you may call this API again to
95
+ * initialize new resources, such as new delivery methods. In this case, specify the default data product catalog
96
+ * container information.
97
+ *
98
+ * @param {Object} [params] - The parameters to send to the service.
99
+ * @param {ContainerReference} [params.container] - Container reference.
100
+ * @param {string[]} [params.include] - List of configuration options to (re-)initialize.
101
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
102
+ * @returns {Promise<DphV1.Response<DphV1.InitializeResource>>}
103
+ */
104
+ initialize(params?: DphV1.InitializeParams): Promise<DphV1.Response<DphV1.InitializeResource>>;
105
+ /**
106
+ * Rotate credentials for a Data Product Hub instance.
107
+ *
108
+ * Use this API to rotate credentials for a Data Product Hub instance.
109
+ *
110
+ * @param {Object} [params] - The parameters to send to the service.
111
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
112
+ * @returns {Promise<DphV1.Response<DphV1.EmptyObject>>}
113
+ */
114
+ manageApiKeys(params?: DphV1.ManageApiKeysParams): Promise<DphV1.Response<DphV1.EmptyObject>>;
115
+ /*************************
116
+ * dataProducts
117
+ ************************/
118
+ /**
119
+ * Retrieve a list of data products.
120
+ *
121
+ * @param {Object} [params] - The parameters to send to the service.
122
+ * @param {number} [params.limit] - Limit the number of data products in the results. The maximum limit is 200.
123
+ * @param {string} [params.start] - Start token for pagination.
124
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
125
+ * @returns {Promise<DphV1.Response<DphV1.DataProductSummaryCollection>>}
126
+ */
127
+ listDataProducts(params?: DphV1.ListDataProductsParams): Promise<DphV1.Response<DphV1.DataProductSummaryCollection>>;
128
+ /**
129
+ * Create a new data product.
130
+ *
131
+ * Use this API to create a new data product.<br/><br/>Provide the initial draft of the data
132
+ * product.<br/><br/>Required fields:<br/><br/>- name<br/>- container<br/><br/>If `version` is not specified, the
133
+ * default version **1.0.0** will be used.<br/><br/>The `domain` is optional.
134
+ *
135
+ * @param {Object} params - The parameters to send to the service.
136
+ * @param {DataProductVersionPrototype[]} params.drafts - Collection of data products drafts to add to data product.
137
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
138
+ * @returns {Promise<DphV1.Response<DphV1.DataProduct>>}
139
+ */
140
+ createDataProduct(params: DphV1.CreateDataProductParams): Promise<DphV1.Response<DphV1.DataProduct>>;
141
+ /**
142
+ * Retrieve a data product identified by id.
143
+ *
144
+ * @param {Object} params - The parameters to send to the service.
145
+ * @param {string} params.dataProductId - Data product ID.
146
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
147
+ * @returns {Promise<DphV1.Response<DphV1.DataProduct>>}
148
+ */
149
+ getDataProduct(params: DphV1.GetDataProductParams): Promise<DphV1.Response<DphV1.DataProduct>>;
150
+ /*************************
151
+ * dataProductDrafts
152
+ ************************/
153
+ /**
154
+ * Complete a contract document upload operation.
155
+ *
156
+ * After uploading a file to the provided signed URL, call this endpoint to mark the upload as complete. After the
157
+ * upload operation is marked as complete, the file is available to download.
158
+ * - After the upload is marked as complete, the returned URL is displayed in the "url" field. The signed URL is used
159
+ * to download the document.
160
+ * - Calling complete on referential documents results in an error.
161
+ * - Calling complete on attachment documents for which the file has not been uploaded will result in an error.
162
+ *
163
+ * @param {Object} params - The parameters to send to the service.
164
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
165
+ * @param {string} params.draftId - Data product draft id.
166
+ * @param {string} params.contractTermsId - Contract terms id.
167
+ * @param {string} params.documentId - Document id.
168
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
169
+ * @returns {Promise<DphV1.Response<DphV1.ContractTermsDocument>>}
170
+ */
171
+ completeDraftContractTermsDocument(params: DphV1.CompleteDraftContractTermsDocumentParams): Promise<DphV1.Response<DphV1.ContractTermsDocument>>;
172
+ /**
173
+ * Retrieve a list of data product drafts.
174
+ *
175
+ * @param {Object} params - The parameters to send to the service.
176
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
177
+ * @param {string} [params.assetContainerId] - Filter the list of data product drafts by container id.
178
+ * @param {string} [params.version] - Filter the list of data product drafts by version number.
179
+ * @param {number} [params.limit] - Limit the number of data product drafts in the results. The maximum limit is 200.
180
+ * @param {string} [params.start] - Start token for pagination.
181
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
182
+ * @returns {Promise<DphV1.Response<DphV1.DataProductDraftCollection>>}
183
+ */
184
+ listDataProductDrafts(params: DphV1.ListDataProductDraftsParams): Promise<DphV1.Response<DphV1.DataProductDraftCollection>>;
185
+ /**
186
+ * Create a new draft of an existing data product.
187
+ *
188
+ * @param {Object} params - The parameters to send to the service.
189
+ * @param {string} params.dataProductId - Data product ID.
190
+ * @param {AssetPrototype} params.asset - New asset input properties.
191
+ * @param {string} [params.version] - The data product version number.
192
+ * @param {string} [params.state] - The state of the data product version. If not specified, the data product version
193
+ * will be created in `draft` state.
194
+ * @param {DataProductIdentity} [params.dataProduct] - Data product identifier.
195
+ * @param {string} [params.name] - The name that refers to the new data product version. If this is a new data
196
+ * product, this value must be specified. If this is a new version of an existing data product, the name will default
197
+ * to the name of the previous data product version. A name can contain letters, numbers, understores, dashes, spaces
198
+ * or periods. A name must contain at least one non-space character.
199
+ * @param {string} [params.description] - Description of the data product version. If this is a new version of an
200
+ * existing data product, the description will default to the description of the previous version of the data product.
201
+ * @param {string[]} [params.tags] - Tags on the data product.
202
+ * @param {UseCase[]} [params.useCases] - A list of use cases associated with the data product version.
203
+ * @param {string[]} [params.types] - Types of parts on the data product.
204
+ * @param {DataProductContractTerms[]} [params.contractTerms] - Contract terms binding various aspects of the data
205
+ * product.
206
+ * @param {boolean} [params.isRestricted] - Indicates whether the data product is restricted or not. A restricted data
207
+ * product indicates that orders of the data product requires explicit approval before data is delivered.
208
+ * @param {Domain} [params.domain] - Domain that the data product version belongs to. If this is the first version of
209
+ * a data product, this field is required. If this is a new version of an existing data product, the domain will
210
+ * default to the domain of the previous version of the data product.
211
+ * @param {DataProductPart[]} [params.partsOut] - The outgoing parts of this data product version to be delivered to
212
+ * consumers. If this is the first version of a data product, this field defaults to an empty list. If this is a new
213
+ * version of an existing data product, the data product parts will default to the parts list from the previous
214
+ * version of the data product.
215
+ * @param {DataProductWorkflows} [params.workflows] - The workflows associated with the data product version.
216
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
217
+ * @returns {Promise<DphV1.Response<DphV1.DataProductVersion>>}
218
+ */
219
+ createDataProductDraft(params: DphV1.CreateDataProductDraftParams): Promise<DphV1.Response<DphV1.DataProductVersion>>;
220
+ /**
221
+ * Upload a contract document to the data product draft contract terms.
222
+ *
223
+ * - If the request object contains a "url" parameter, a referential document is created to store the provided url.
224
+ * - If the request object does not contain a "url" parameter, an attachment document is created, and a signed url
225
+ * will be returned in an "upload_url" parameter. The data product producer can upload the document using the provided
226
+ * "upload_url". After the upload is completed, call "complete_contract_terms_document" for the given document needs
227
+ * to be called to mark the upload as completed. After completion of the upload, "get_contract_terms_document" for the
228
+ * given document returns a signed "url" parameter that can be used to download the attachment document.
229
+ *
230
+ * @param {Object} params - The parameters to send to the service.
231
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
232
+ * @param {string} params.draftId - Data product draft id.
233
+ * @param {string} params.contractTermsId - Contract terms id.
234
+ * @param {string} params.type - Type of the contract document.
235
+ * @param {string} params.name - Name of the contract document.
236
+ * @param {string} params.id - Id uniquely identifying this document within the contract terms instance.
237
+ * @param {string} [params.url] - URL that can be used to retrieve the contract document.
238
+ * @param {ContractTermsDocumentAttachment} [params.attachment] - Attachment associated witht the document.
239
+ * @param {string} [params.uploadUrl] - URL which can be used to upload document file.
240
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
241
+ * @returns {Promise<DphV1.Response<DphV1.ContractTermsDocument>>}
242
+ */
243
+ createDraftContractTermsDocument(params: DphV1.CreateDraftContractTermsDocumentParams): Promise<DphV1.Response<DphV1.ContractTermsDocument>>;
244
+ /**
245
+ * Get a draft of an existing data product.
246
+ *
247
+ * @param {Object} params - The parameters to send to the service.
248
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
249
+ * @param {string} params.draftId - Data product draft id.
250
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
251
+ * @returns {Promise<DphV1.Response<DphV1.DataProductVersion>>}
252
+ */
253
+ getDataProductDraft(params: DphV1.GetDataProductDraftParams): Promise<DphV1.Response<DphV1.DataProductVersion>>;
254
+ /**
255
+ * Delete a data product draft identified by ID.
256
+ *
257
+ * @param {Object} params - The parameters to send to the service.
258
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
259
+ * @param {string} params.draftId - Data product draft id.
260
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
261
+ * @returns {Promise<DphV1.Response<DphV1.EmptyObject>>}
262
+ */
263
+ deleteDataProductDraft(params: DphV1.DeleteDataProductDraftParams): Promise<DphV1.Response<DphV1.EmptyObject>>;
264
+ /**
265
+ * Update the data product draft identified by ID.
266
+ *
267
+ * Use this API to update the properties of a data product draft identified by a valid ID.<br/><br/>Specify patch
268
+ * operations using http://jsonpatch.com/ syntax.<br/><br/>Supported patch operations include:<br/><br/>- Update the
269
+ * properties of a data product<br/><br/>- Add/Remove parts from a data product (up to 20 parts)<br/><br/>- Add/Remove
270
+ * use cases from a data product<br/><br/>- Update the data product state<br/><br/>.
271
+ *
272
+ * @param {Object} params - The parameters to send to the service.
273
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
274
+ * @param {string} params.draftId - Data product draft id.
275
+ * @param {JsonPatchOperation[]} params.jsonPatchInstructions - A set of patch operations as defined in RFC 6902. See
276
+ * http://jsonpatch.com/ for more information.
277
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
278
+ * @returns {Promise<DphV1.Response<DphV1.DataProductVersion>>}
279
+ */
280
+ updateDataProductDraft(params: DphV1.UpdateDataProductDraftParams): Promise<DphV1.Response<DphV1.DataProductVersion>>;
281
+ /**
282
+ * Get a contract document.
283
+ *
284
+ * If a document has a completed attachment, the response contains the `url` which can be used to download the
285
+ * attachment. If a document does not have a completed attachment, the response contains the `url` which was submitted
286
+ * at document creation. If a document has an attachment that is incomplete, an error is returned to prompt the user
287
+ * to upload the document file and complete it.
288
+ *
289
+ * @param {Object} params - The parameters to send to the service.
290
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
291
+ * @param {string} params.draftId - Data product draft id.
292
+ * @param {string} params.contractTermsId - Contract terms id.
293
+ * @param {string} params.documentId - Document id.
294
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
295
+ * @returns {Promise<DphV1.Response<DphV1.ContractTermsDocument>>}
296
+ */
297
+ getDraftContractTermsDocument(params: DphV1.GetDraftContractTermsDocumentParams): Promise<DphV1.Response<DphV1.ContractTermsDocument>>;
298
+ /**
299
+ * Delete a contract document.
300
+ *
301
+ * Contract documents can only be deleted for data product versions that are in DRAFT state.
302
+ *
303
+ * @param {Object} params - The parameters to send to the service.
304
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
305
+ * @param {string} params.draftId - Data product draft id.
306
+ * @param {string} params.contractTermsId - Contract terms id.
307
+ * @param {string} params.documentId - Document id.
308
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
309
+ * @returns {Promise<DphV1.Response<DphV1.EmptyObject>>}
310
+ */
311
+ deleteDraftContractTermsDocument(params: DphV1.DeleteDraftContractTermsDocumentParams): Promise<DphV1.Response<DphV1.EmptyObject>>;
312
+ /**
313
+ * Update a contract document.
314
+ *
315
+ * Specify patch operations using http://jsonpatch.com/ syntax.
316
+ *
317
+ * Supported patch operations include:
318
+ * - Update the url of document if it does not have an attachment.
319
+ * - Update the type of the document.
320
+ * <br/><br/>Contract terms documents can only be updated if the associated data product version is in DRAFT state.
321
+ *
322
+ * @param {Object} params - The parameters to send to the service.
323
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
324
+ * @param {string} params.draftId - Data product draft id.
325
+ * @param {string} params.contractTermsId - Contract terms id.
326
+ * @param {string} params.documentId - Document id.
327
+ * @param {JsonPatchOperation[]} params.jsonPatchInstructions - A set of patch operations as defined in RFC 6902. See
328
+ * http://jsonpatch.com/ for more information.
329
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
330
+ * @returns {Promise<DphV1.Response<DphV1.ContractTermsDocument>>}
331
+ */
332
+ updateDraftContractTermsDocument(params: DphV1.UpdateDraftContractTermsDocumentParams): Promise<DphV1.Response<DphV1.ContractTermsDocument>>;
333
+ /**
334
+ * Publish a draft of an existing data product.
335
+ *
336
+ * @param {Object} params - The parameters to send to the service.
337
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
338
+ * @param {string} params.draftId - Data product draft id.
339
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
340
+ * @returns {Promise<DphV1.Response<DphV1.DataProductVersion>>}
341
+ */
342
+ publishDataProductDraft(params: DphV1.PublishDataProductDraftParams): Promise<DphV1.Response<DphV1.DataProductVersion>>;
343
+ /*************************
344
+ * dataProductReleases
345
+ ************************/
346
+ /**
347
+ * Get a release of an existing data product.
348
+ *
349
+ * @param {Object} params - The parameters to send to the service.
350
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
351
+ * @param {string} params.releaseId - Data product release id.
352
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
353
+ * @returns {Promise<DphV1.Response<DphV1.DataProductVersion>>}
354
+ */
355
+ getDataProductRelease(params: DphV1.GetDataProductReleaseParams): Promise<DphV1.Response<DphV1.DataProductVersion>>;
356
+ /**
357
+ * Update the data product release identified by ID.
358
+ *
359
+ * Use this API to update the properties of a data product release identified by a valid ID.<br/><br/>Specify patch
360
+ * operations using http://jsonpatch.com/ syntax.<br/><br/>Supported patch operations include:<br/><br/>- Update the
361
+ * properties of a data product<br/><br/>- Add/remove parts from a data product (up to 20 parts)<br/><br/>- Add/remove
362
+ * use cases from a data product<br/><br/>.
363
+ *
364
+ * @param {Object} params - The parameters to send to the service.
365
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
366
+ * @param {string} params.releaseId - Data product release id.
367
+ * @param {JsonPatchOperation[]} params.jsonPatchInstructions - A set of patch operations as defined in RFC 6902. See
368
+ * http://jsonpatch.com/ for more information.
369
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
370
+ * @returns {Promise<DphV1.Response<DphV1.DataProductVersion>>}
371
+ */
372
+ updateDataProductRelease(params: DphV1.UpdateDataProductReleaseParams): Promise<DphV1.Response<DphV1.DataProductVersion>>;
373
+ /**
374
+ * Get a contract document.
375
+ *
376
+ * If the document has a completed attachment, the response contains the `url` to download the attachment.<br/><br/>
377
+ * If the document does not have an attachment, the response contains the `url` which was submitted at document
378
+ * creation.<br/><br/> If the document has an incomplete attachment, an error is returned to prompt the user to upload
379
+ * the document file to complete the attachment.
380
+ *
381
+ * @param {Object} params - The parameters to send to the service.
382
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
383
+ * @param {string} params.releaseId - Data product release id.
384
+ * @param {string} params.contractTermsId - Contract terms id.
385
+ * @param {string} params.documentId - Document id.
386
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
387
+ * @returns {Promise<DphV1.Response<DphV1.ContractTermsDocument>>}
388
+ */
389
+ getReleaseContractTermsDocument(params: DphV1.GetReleaseContractTermsDocumentParams): Promise<DphV1.Response<DphV1.ContractTermsDocument>>;
390
+ /**
391
+ * Retrieve a list of data product releases.
392
+ *
393
+ * @param {Object} params - The parameters to send to the service.
394
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
395
+ * @param {string} [params.assetContainerId] - Filter the list of data product releases by container id.
396
+ * @param {string[]} [params.state] - Filter the list of data product versions by state. States are: available and
397
+ * retired. Default is "available","retired".
398
+ * @param {string} [params.version] - Filter the list of data product releases by version number.
399
+ * @param {number} [params.limit] - Limit the number of data product releases in the results. The maximum is 200.
400
+ * @param {string} [params.start] - Start token for pagination.
401
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
402
+ * @returns {Promise<DphV1.Response<DphV1.DataProductReleaseCollection>>}
403
+ */
404
+ listDataProductReleases(params: DphV1.ListDataProductReleasesParams): Promise<DphV1.Response<DphV1.DataProductReleaseCollection>>;
405
+ /**
406
+ * Retire a release of an existing data product.
407
+ *
408
+ * @param {Object} params - The parameters to send to the service.
409
+ * @param {string} params.dataProductId - Data product ID. Use '-' to skip specifying the data product ID explicitly.
410
+ * @param {string} params.releaseId - Data product release id.
411
+ * @param {OutgoingHttpHeaders} [params.headers] - Custom request headers
412
+ * @returns {Promise<DphV1.Response<DphV1.DataProductVersion>>}
413
+ */
414
+ retireDataProductRelease(params: DphV1.RetireDataProductReleaseParams): Promise<DphV1.Response<DphV1.DataProductVersion>>;
415
+ }
416
+ /*************************
417
+ * interfaces
418
+ ************************/
419
+ declare namespace DphV1 {
420
+ /** An operation response. */
421
+ interface Response<T = any> {
422
+ result: T;
423
+ status: number;
424
+ statusText: string;
425
+ headers: IncomingHttpHeaders;
426
+ }
427
+ /** The callback for a service request. */
428
+ type Callback<T> = (error: any, response?: Response<T>) => void;
429
+ /** The body of a service request that returns no response data. */
430
+ interface EmptyObject {
431
+ }
432
+ /** A standard JS object, defined to avoid the limitations of `Object` and `object` */
433
+ interface JsonObject {
434
+ [key: string]: any;
435
+ }
436
+ /*************************
437
+ * request interfaces
438
+ ************************/
439
+ /** Parameters for the `getInitializeStatus` operation. */
440
+ interface GetInitializeStatusParams {
441
+ /** Container ID of the data product catalog. If not supplied, the data product catalog is looked up by using
442
+ * the uid of the default data product catalog.
443
+ */
444
+ containerId?: string;
445
+ headers?: OutgoingHttpHeaders;
446
+ }
447
+ /** Parameters for the `getServiceIdCredentials` operation. */
448
+ interface GetServiceIdCredentialsParams {
449
+ headers?: OutgoingHttpHeaders;
450
+ }
451
+ /** Parameters for the `initialize` operation. */
452
+ interface InitializeParams {
453
+ /** Container reference. */
454
+ container?: ContainerReference;
455
+ /** List of configuration options to (re-)initialize. */
456
+ include?: InitializeConstants.Include[] | string[];
457
+ headers?: OutgoingHttpHeaders;
458
+ }
459
+ /** Constants for the `initialize` operation. */
460
+ namespace InitializeConstants {
461
+ /** Include */
462
+ enum Include {
463
+ DELIVERY_METHODS = "delivery_methods",
464
+ DOMAINS_MULTI_INDUSTRY = "domains_multi_industry",
465
+ DATA_PRODUCT_SAMPLES = "data_product_samples",
466
+ WORKFLOWS = "workflows",
467
+ PROJECT = "project"
468
+ }
469
+ }
470
+ /** Parameters for the `manageApiKeys` operation. */
471
+ interface ManageApiKeysParams {
472
+ headers?: OutgoingHttpHeaders;
473
+ }
474
+ /** Parameters for the `listDataProducts` operation. */
475
+ interface ListDataProductsParams {
476
+ /** Limit the number of data products in the results. The maximum limit is 200. */
477
+ limit?: number;
478
+ /** Start token for pagination. */
479
+ start?: string;
480
+ headers?: OutgoingHttpHeaders;
481
+ }
482
+ /** Parameters for the `createDataProduct` operation. */
483
+ interface CreateDataProductParams {
484
+ /** Collection of data products drafts to add to data product. */
485
+ drafts: DataProductVersionPrototype[];
486
+ headers?: OutgoingHttpHeaders;
487
+ }
488
+ /** Parameters for the `getDataProduct` operation. */
489
+ interface GetDataProductParams {
490
+ /** Data product ID. */
491
+ dataProductId: string;
492
+ headers?: OutgoingHttpHeaders;
493
+ }
494
+ /** Parameters for the `completeDraftContractTermsDocument` operation. */
495
+ interface CompleteDraftContractTermsDocumentParams {
496
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
497
+ dataProductId: string;
498
+ /** Data product draft id. */
499
+ draftId: string;
500
+ /** Contract terms id. */
501
+ contractTermsId: string;
502
+ /** Document id. */
503
+ documentId: string;
504
+ headers?: OutgoingHttpHeaders;
505
+ }
506
+ /** Parameters for the `listDataProductDrafts` operation. */
507
+ interface ListDataProductDraftsParams {
508
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
509
+ dataProductId: string;
510
+ /** Filter the list of data product drafts by container id. */
511
+ assetContainerId?: string;
512
+ /** Filter the list of data product drafts by version number. */
513
+ version?: string;
514
+ /** Limit the number of data product drafts in the results. The maximum limit is 200. */
515
+ limit?: number;
516
+ /** Start token for pagination. */
517
+ start?: string;
518
+ headers?: OutgoingHttpHeaders;
519
+ }
520
+ /** Parameters for the `createDataProductDraft` operation. */
521
+ interface CreateDataProductDraftParams {
522
+ /** Data product ID. */
523
+ dataProductId: string;
524
+ /** New asset input properties. */
525
+ asset: AssetPrototype;
526
+ /** The data product version number. */
527
+ version?: string;
528
+ /** The state of the data product version. If not specified, the data product version will be created in `draft`
529
+ * state.
530
+ */
531
+ state?: CreateDataProductDraftConstants.State | string;
532
+ /** Data product identifier. */
533
+ dataProduct?: DataProductIdentity;
534
+ /** The name that refers to the new data product version. If this is a new data product, this value must be
535
+ * specified. If this is a new version of an existing data product, the name will default to the name of the
536
+ * previous data product version. A name can contain letters, numbers, understores, dashes, spaces or periods. A
537
+ * name must contain at least one non-space character.
538
+ */
539
+ name?: string;
540
+ /** Description of the data product version. If this is a new version of an existing data product, the
541
+ * description will default to the description of the previous version of the data product.
542
+ */
543
+ description?: string;
544
+ /** Tags on the data product. */
545
+ tags?: string[];
546
+ /** A list of use cases associated with the data product version. */
547
+ useCases?: UseCase[];
548
+ /** Types of parts on the data product. */
549
+ types?: CreateDataProductDraftConstants.Types[] | string[];
550
+ /** Contract terms binding various aspects of the data product. */
551
+ contractTerms?: DataProductContractTerms[];
552
+ /** Indicates whether the data product is restricted or not. A restricted data product indicates that orders of
553
+ * the data product requires explicit approval before data is delivered.
554
+ */
555
+ isRestricted?: boolean;
556
+ /** Domain that the data product version belongs to. If this is the first version of a data product, this field
557
+ * is required. If this is a new version of an existing data product, the domain will default to the domain of the
558
+ * previous version of the data product.
559
+ */
560
+ domain?: Domain;
561
+ /** The outgoing parts of this data product version to be delivered to consumers. If this is the first version
562
+ * of a data product, this field defaults to an empty list. If this is a new version of an existing data product,
563
+ * the data product parts will default to the parts list from the previous version of the data product.
564
+ */
565
+ partsOut?: DataProductPart[];
566
+ /** The workflows associated with the data product version. */
567
+ workflows?: DataProductWorkflows;
568
+ headers?: OutgoingHttpHeaders;
569
+ }
570
+ /** Constants for the `createDataProductDraft` operation. */
571
+ namespace CreateDataProductDraftConstants {
572
+ /** The state of the data product version. If not specified, the data product version will be created in `draft` state. */
573
+ enum State {
574
+ DRAFT = "draft",
575
+ AVAILABLE = "available",
576
+ RETIRED = "retired"
577
+ }
578
+ /** Types */
579
+ enum Types {
580
+ DATA = "data",
581
+ CODE = "code"
582
+ }
583
+ }
584
+ /** Parameters for the `createDraftContractTermsDocument` operation. */
585
+ interface CreateDraftContractTermsDocumentParams {
586
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
587
+ dataProductId: string;
588
+ /** Data product draft id. */
589
+ draftId: string;
590
+ /** Contract terms id. */
591
+ contractTermsId: string;
592
+ /** Type of the contract document. */
593
+ type: CreateDraftContractTermsDocumentConstants.Type | string;
594
+ /** Name of the contract document. */
595
+ name: string;
596
+ /** Id uniquely identifying this document within the contract terms instance. */
597
+ id: string;
598
+ /** URL that can be used to retrieve the contract document. */
599
+ url?: string;
600
+ /** Attachment associated witht the document. */
601
+ attachment?: ContractTermsDocumentAttachment;
602
+ /** URL which can be used to upload document file. */
603
+ uploadUrl?: string;
604
+ headers?: OutgoingHttpHeaders;
605
+ }
606
+ /** Constants for the `createDraftContractTermsDocument` operation. */
607
+ namespace CreateDraftContractTermsDocumentConstants {
608
+ /** Type of the contract document. */
609
+ enum Type {
610
+ TERMS_AND_CONDITIONS = "terms_and_conditions",
611
+ SLA = "sla"
612
+ }
613
+ }
614
+ /** Parameters for the `getDataProductDraft` operation. */
615
+ interface GetDataProductDraftParams {
616
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
617
+ dataProductId: string;
618
+ /** Data product draft id. */
619
+ draftId: string;
620
+ headers?: OutgoingHttpHeaders;
621
+ }
622
+ /** Parameters for the `deleteDataProductDraft` operation. */
623
+ interface DeleteDataProductDraftParams {
624
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
625
+ dataProductId: string;
626
+ /** Data product draft id. */
627
+ draftId: string;
628
+ headers?: OutgoingHttpHeaders;
629
+ }
630
+ /** Parameters for the `updateDataProductDraft` operation. */
631
+ interface UpdateDataProductDraftParams {
632
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
633
+ dataProductId: string;
634
+ /** Data product draft id. */
635
+ draftId: string;
636
+ /** A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information. */
637
+ jsonPatchInstructions: JsonPatchOperation[];
638
+ headers?: OutgoingHttpHeaders;
639
+ }
640
+ /** Parameters for the `getDraftContractTermsDocument` operation. */
641
+ interface GetDraftContractTermsDocumentParams {
642
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
643
+ dataProductId: string;
644
+ /** Data product draft id. */
645
+ draftId: string;
646
+ /** Contract terms id. */
647
+ contractTermsId: string;
648
+ /** Document id. */
649
+ documentId: string;
650
+ headers?: OutgoingHttpHeaders;
651
+ }
652
+ /** Parameters for the `deleteDraftContractTermsDocument` operation. */
653
+ interface DeleteDraftContractTermsDocumentParams {
654
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
655
+ dataProductId: string;
656
+ /** Data product draft id. */
657
+ draftId: string;
658
+ /** Contract terms id. */
659
+ contractTermsId: string;
660
+ /** Document id. */
661
+ documentId: string;
662
+ headers?: OutgoingHttpHeaders;
663
+ }
664
+ /** Parameters for the `updateDraftContractTermsDocument` operation. */
665
+ interface UpdateDraftContractTermsDocumentParams {
666
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
667
+ dataProductId: string;
668
+ /** Data product draft id. */
669
+ draftId: string;
670
+ /** Contract terms id. */
671
+ contractTermsId: string;
672
+ /** Document id. */
673
+ documentId: string;
674
+ /** A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information. */
675
+ jsonPatchInstructions: JsonPatchOperation[];
676
+ headers?: OutgoingHttpHeaders;
677
+ }
678
+ /** Parameters for the `publishDataProductDraft` operation. */
679
+ interface PublishDataProductDraftParams {
680
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
681
+ dataProductId: string;
682
+ /** Data product draft id. */
683
+ draftId: string;
684
+ headers?: OutgoingHttpHeaders;
685
+ }
686
+ /** Parameters for the `getDataProductRelease` operation. */
687
+ interface GetDataProductReleaseParams {
688
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
689
+ dataProductId: string;
690
+ /** Data product release id. */
691
+ releaseId: string;
692
+ headers?: OutgoingHttpHeaders;
693
+ }
694
+ /** Parameters for the `updateDataProductRelease` operation. */
695
+ interface UpdateDataProductReleaseParams {
696
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
697
+ dataProductId: string;
698
+ /** Data product release id. */
699
+ releaseId: string;
700
+ /** A set of patch operations as defined in RFC 6902. See http://jsonpatch.com/ for more information. */
701
+ jsonPatchInstructions: JsonPatchOperation[];
702
+ headers?: OutgoingHttpHeaders;
703
+ }
704
+ /** Parameters for the `getReleaseContractTermsDocument` operation. */
705
+ interface GetReleaseContractTermsDocumentParams {
706
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
707
+ dataProductId: string;
708
+ /** Data product release id. */
709
+ releaseId: string;
710
+ /** Contract terms id. */
711
+ contractTermsId: string;
712
+ /** Document id. */
713
+ documentId: string;
714
+ headers?: OutgoingHttpHeaders;
715
+ }
716
+ /** Parameters for the `listDataProductReleases` operation. */
717
+ interface ListDataProductReleasesParams {
718
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
719
+ dataProductId: string;
720
+ /** Filter the list of data product releases by container id. */
721
+ assetContainerId?: string;
722
+ /** Filter the list of data product versions by state. States are: available and retired. Default is
723
+ * "available","retired".
724
+ */
725
+ state?: ListDataProductReleasesConstants.State[] | string[];
726
+ /** Filter the list of data product releases by version number. */
727
+ version?: string;
728
+ /** Limit the number of data product releases in the results. The maximum is 200. */
729
+ limit?: number;
730
+ /** Start token for pagination. */
731
+ start?: string;
732
+ headers?: OutgoingHttpHeaders;
733
+ }
734
+ /** Constants for the `listDataProductReleases` operation. */
735
+ namespace ListDataProductReleasesConstants {
736
+ /** Filter the list of data product versions by state. States are: available and retired. Default is "available","retired". */
737
+ enum State {
738
+ AVAILABLE = "available",
739
+ RETIRED = "retired"
740
+ }
741
+ }
742
+ /** Parameters for the `retireDataProductRelease` operation. */
743
+ interface RetireDataProductReleaseParams {
744
+ /** Data product ID. Use '-' to skip specifying the data product ID explicitly. */
745
+ dataProductId: string;
746
+ /** Data product release id. */
747
+ releaseId: string;
748
+ headers?: OutgoingHttpHeaders;
749
+ }
750
+ /*************************
751
+ * model interfaces
752
+ ************************/
753
+ /** The asset represented in this part. */
754
+ interface AssetPartReference {
755
+ /** The unique identifier of the asset. */
756
+ id?: string;
757
+ /** Container reference. */
758
+ container: ContainerReference;
759
+ /** The type of the asset. */
760
+ type?: string;
761
+ }
762
+ /** New asset input properties. */
763
+ interface AssetPrototype {
764
+ /** The unique identifier of the asset. */
765
+ id?: string;
766
+ container: ContainerIdentity;
767
+ }
768
+ /** AssetReference. */
769
+ interface AssetReference {
770
+ /** The unique identifier of the asset. */
771
+ id?: string;
772
+ /** Container reference. */
773
+ container: ContainerReference;
774
+ }
775
+ /** ContainerIdentity. */
776
+ interface ContainerIdentity {
777
+ /** Container identifier. */
778
+ id: string;
779
+ }
780
+ /** Container reference. */
781
+ interface ContainerReference {
782
+ /** Container identifier. */
783
+ id: string;
784
+ /** Container type. */
785
+ type: ContainerReference.Constants.Type | string;
786
+ }
787
+ namespace ContainerReference {
788
+ namespace Constants {
789
+ /** Container type. */
790
+ enum Type {
791
+ CATALOG = "catalog",
792
+ PROJECT = "project"
793
+ }
794
+ }
795
+ }
796
+ /** Standard contract terms document, which is used for get and list contract terms responses. */
797
+ interface ContractTermsDocument {
798
+ /** URL that can be used to retrieve the contract document. */
799
+ url?: string;
800
+ /** Type of the contract document. */
801
+ type: ContractTermsDocument.Constants.Type | string;
802
+ /** Name of the contract document. */
803
+ name: string;
804
+ /** Id uniquely identifying this document within the contract terms instance. */
805
+ id: string;
806
+ /** Attachment associated witht the document. */
807
+ attachment?: ContractTermsDocumentAttachment;
808
+ /** URL which can be used to upload document file. */
809
+ upload_url?: string;
810
+ }
811
+ namespace ContractTermsDocument {
812
+ namespace Constants {
813
+ /** Type of the contract document. */
814
+ enum Type {
815
+ TERMS_AND_CONDITIONS = "terms_and_conditions",
816
+ SLA = "sla"
817
+ }
818
+ }
819
+ }
820
+ /** Attachment associated witht the document. */
821
+ interface ContractTermsDocumentAttachment {
822
+ /** Id representing the corresponding attachment. */
823
+ id?: string;
824
+ }
825
+ /** Data Product. */
826
+ interface DataProduct {
827
+ /** Data product identifier. */
828
+ id: string;
829
+ /** Container reference. */
830
+ container: ContainerReference;
831
+ /** Summary of Data Product Version object. */
832
+ latest_release?: DataProductVersionSummary;
833
+ /** List of draft summaries of this data product. */
834
+ drafts?: DataProductVersionSummary[];
835
+ }
836
+ /** DataProductContractTerms. */
837
+ interface DataProductContractTerms {
838
+ asset?: AssetReference;
839
+ /** ID of the contract terms. */
840
+ id?: string;
841
+ /** Collection of contract terms documents. */
842
+ documents?: ContractTermsDocument[];
843
+ }
844
+ /** A collection of data product draft summaries. */
845
+ interface DataProductDraftCollection {
846
+ /** Set a limit on the number of results returned. */
847
+ limit: number;
848
+ /** First page in the collection. */
849
+ first: FirstPage;
850
+ /** Next page in the collection. */
851
+ next?: NextPage;
852
+ /** Collection of data product drafts. */
853
+ drafts: DataProductVersionSummary[];
854
+ }
855
+ /** Data product identifier. */
856
+ interface DataProductIdentity {
857
+ /** Data product identifier. */
858
+ id: string;
859
+ }
860
+ /** The approval workflows associated with the data product version. */
861
+ interface DataProductOrderAccessRequest {
862
+ /** The workflow approvers associated with the data product version. */
863
+ task_assignee_users?: string[];
864
+ }
865
+ /** Data Product Part. */
866
+ interface DataProductPart {
867
+ /** The asset represented in this part. */
868
+ asset: AssetPartReference;
869
+ /** Delivery methods describing the delivery options available for this part. */
870
+ delivery_methods?: DeliveryMethod[];
871
+ }
872
+ /** A collection of data product release summaries. */
873
+ interface DataProductReleaseCollection {
874
+ /** Set a limit on the number of results returned. */
875
+ limit: number;
876
+ /** First page in the collection. */
877
+ first: FirstPage;
878
+ /** Next page in the collection. */
879
+ next?: NextPage;
880
+ /** Collection of data product releases. */
881
+ releases: DataProductVersionSummary[];
882
+ }
883
+ /** Data Product Summary. */
884
+ interface DataProductSummary {
885
+ /** Data product identifier. */
886
+ id: string;
887
+ /** Container reference. */
888
+ container: ContainerReference;
889
+ }
890
+ /** A collection of data product summaries. */
891
+ interface DataProductSummaryCollection {
892
+ /** Set a limit on the number of results returned. */
893
+ limit: number;
894
+ /** First page in the collection. */
895
+ first: FirstPage;
896
+ /** Next page in the collection. */
897
+ next?: NextPage;
898
+ /** Collection of data product summaries. */
899
+ data_products: DataProductSummary[];
900
+ }
901
+ /** Data Product version. */
902
+ interface DataProductVersion {
903
+ /** The data product version number. */
904
+ version: string;
905
+ /** The state of the data product version. */
906
+ state: DataProductVersion.Constants.State | string;
907
+ /** Data product reference. */
908
+ data_product: DataProductVersionDataProduct;
909
+ /** The name of the data product version. A name can contain letters, numbers, understores, dashes, spaces or
910
+ * periods. Names are mutable and reusable.
911
+ */
912
+ name: string;
913
+ /** The description of the data product version. */
914
+ description: string;
915
+ /** Tags on the data product. */
916
+ tags: string[];
917
+ /** A list of use cases associated with the data product version. */
918
+ use_cases: UseCase[];
919
+ /** Types of parts on the data product. */
920
+ types: DataProductVersion.Constants.Types[] | string[];
921
+ /** Contract terms binding various aspects of the data product. */
922
+ contract_terms: DataProductContractTerms[];
923
+ /** Indicates whether the data product is restricted or not. A restricted data product indicates that orders of
924
+ * the data product requires explicit approval before data is delivered.
925
+ */
926
+ is_restricted: boolean;
927
+ /** The identifier of the data product version. */
928
+ id: string;
929
+ asset: AssetReference;
930
+ /** Domain that the data product version belongs to. If this is the first version of a data product, this field
931
+ * is required. If this is a new version of an existing data product, the domain will default to the domain of the
932
+ * previous version of the data product.
933
+ */
934
+ domain: Domain;
935
+ /** Outgoing parts of a data product used to deliver the data product to consumers. */
936
+ parts_out: DataProductPart[];
937
+ /** The user who published this data product version. */
938
+ published_by?: string;
939
+ /** The time when this data product version was published. */
940
+ published_at?: string;
941
+ /** The creator of this data product version. */
942
+ created_by: string;
943
+ /** The time when this data product version was created. */
944
+ created_at: string;
945
+ /** The workflows associated with the data product version. */
946
+ workflows?: DataProductWorkflows;
947
+ }
948
+ namespace DataProductVersion {
949
+ namespace Constants {
950
+ /** The state of the data product version. */
951
+ enum State {
952
+ DRAFT = "draft",
953
+ AVAILABLE = "available",
954
+ RETIRED = "retired"
955
+ }
956
+ /** Types of parts on the data product. */
957
+ enum Types {
958
+ DATA = "data",
959
+ CODE = "code"
960
+ }
961
+ }
962
+ }
963
+ /** Data product reference. */
964
+ interface DataProductVersionDataProduct {
965
+ /** Data product identifier. */
966
+ id: string;
967
+ /** Container reference. */
968
+ container: ContainerReference;
969
+ }
970
+ /** New data product version input properties. */
971
+ interface DataProductVersionPrototype {
972
+ /** The data product version number. */
973
+ version?: string;
974
+ /** The state of the data product version. If not specified, the data product version will be created in `draft`
975
+ * state.
976
+ */
977
+ state?: DataProductVersionPrototype.Constants.State | string;
978
+ /** Data product identifier. */
979
+ data_product?: DataProductIdentity;
980
+ /** The name that refers to the new data product version. If this is a new data product, this value must be
981
+ * specified. If this is a new version of an existing data product, the name will default to the name of the
982
+ * previous data product version. A name can contain letters, numbers, understores, dashes, spaces or periods. A
983
+ * name must contain at least one non-space character.
984
+ */
985
+ name?: string;
986
+ /** Description of the data product version. If this is a new version of an existing data product, the
987
+ * description will default to the description of the previous version of the data product.
988
+ */
989
+ description?: string;
990
+ /** Tags on the data product. */
991
+ tags?: string[];
992
+ /** A list of use cases associated with the data product version. */
993
+ use_cases?: UseCase[];
994
+ /** Types of parts on the data product. */
995
+ types?: DataProductVersionPrototype.Constants.Types[] | string[];
996
+ /** Contract terms binding various aspects of the data product. */
997
+ contract_terms?: DataProductContractTerms[];
998
+ /** Indicates whether the data product is restricted or not. A restricted data product indicates that orders of
999
+ * the data product requires explicit approval before data is delivered.
1000
+ */
1001
+ is_restricted?: boolean;
1002
+ /** New asset input properties. */
1003
+ asset: AssetPrototype;
1004
+ /** Domain that the data product version belongs to. If this is the first version of a data product, this field
1005
+ * is required. If this is a new version of an existing data product, the domain will default to the domain of the
1006
+ * previous version of the data product.
1007
+ */
1008
+ domain?: Domain;
1009
+ /** The outgoing parts of this data product version to be delivered to consumers. If this is the first version
1010
+ * of a data product, this field defaults to an empty list. If this is a new version of an existing data product,
1011
+ * the data product parts will default to the parts list from the previous version of the data product.
1012
+ */
1013
+ parts_out?: DataProductPart[];
1014
+ /** The workflows associated with the data product version. */
1015
+ workflows?: DataProductWorkflows;
1016
+ }
1017
+ namespace DataProductVersionPrototype {
1018
+ namespace Constants {
1019
+ /** The state of the data product version. If not specified, the data product version will be created in `draft` state. */
1020
+ enum State {
1021
+ DRAFT = "draft",
1022
+ AVAILABLE = "available",
1023
+ RETIRED = "retired"
1024
+ }
1025
+ /** Types of parts on the data product. */
1026
+ enum Types {
1027
+ DATA = "data",
1028
+ CODE = "code"
1029
+ }
1030
+ }
1031
+ }
1032
+ /** Summary of Data Product Version object. */
1033
+ interface DataProductVersionSummary {
1034
+ /** The data product version number. */
1035
+ version: string;
1036
+ /** The state of the data product version. */
1037
+ state: DataProductVersionSummary.Constants.State | string;
1038
+ /** Data product reference. */
1039
+ data_product: DataProductVersionSummaryDataProduct;
1040
+ /** The name of the data product version. A name can contain letters, numbers, understores, dashes, spaces or
1041
+ * periods. Names are mutable and reusable.
1042
+ */
1043
+ name: string;
1044
+ /** The description of the data product version. */
1045
+ description: string;
1046
+ /** Tags on the data product. */
1047
+ tags: string[];
1048
+ /** A list of use cases associated with the data product version. */
1049
+ use_cases: UseCase[];
1050
+ /** Types of parts on the data product. */
1051
+ types: DataProductVersionSummary.Constants.Types[] | string[];
1052
+ /** Contract terms binding various aspects of the data product. */
1053
+ contract_terms: DataProductContractTerms[];
1054
+ /** Indicates whether the data product is restricted or not. A restricted data product indicates that orders of
1055
+ * the data product requires explicit approval before data is delivered.
1056
+ */
1057
+ is_restricted: boolean;
1058
+ /** The identifier of the data product version. */
1059
+ id: string;
1060
+ asset: AssetReference;
1061
+ }
1062
+ namespace DataProductVersionSummary {
1063
+ namespace Constants {
1064
+ /** The state of the data product version. */
1065
+ enum State {
1066
+ DRAFT = "draft",
1067
+ AVAILABLE = "available",
1068
+ RETIRED = "retired"
1069
+ }
1070
+ /** Types of parts on the data product. */
1071
+ enum Types {
1072
+ DATA = "data",
1073
+ CODE = "code"
1074
+ }
1075
+ }
1076
+ }
1077
+ /** Data product reference. */
1078
+ interface DataProductVersionSummaryDataProduct {
1079
+ /** Data product identifier. */
1080
+ id: string;
1081
+ /** Container reference. */
1082
+ container: ContainerReference;
1083
+ }
1084
+ /** The workflows associated with the data product version. */
1085
+ interface DataProductWorkflows {
1086
+ /** The approval workflows associated with the data product version. */
1087
+ order_access_request?: DataProductOrderAccessRequest;
1088
+ }
1089
+ /** DeliveryMethod. */
1090
+ interface DeliveryMethod {
1091
+ /** The ID of the delivery method. */
1092
+ id: string;
1093
+ /** Container reference. */
1094
+ container: ContainerReference;
1095
+ }
1096
+ /** Domain that the data product version belongs to. If this is the first version of a data product, this field is required. If this is a new version of an existing data product, the domain will default to the domain of the previous version of the data product. */
1097
+ interface Domain {
1098
+ /** The ID of the domain. */
1099
+ id: string;
1100
+ /** The display name of the domain. */
1101
+ name?: string;
1102
+ /** Container reference. */
1103
+ container?: ContainerReference;
1104
+ }
1105
+ /** Detailed error information. */
1106
+ interface ErrorModelResource {
1107
+ /** Error code. */
1108
+ code?: ErrorModelResource.Constants.Code | string;
1109
+ /** Error message. */
1110
+ message?: string;
1111
+ /** Extra information about the error. */
1112
+ extra?: JsonObject;
1113
+ /** More info message. */
1114
+ more_info?: string;
1115
+ }
1116
+ namespace ErrorModelResource {
1117
+ namespace Constants {
1118
+ /** Error code. */
1119
+ enum Code {
1120
+ REQUEST_BODY_ERROR = "request_body_error",
1121
+ MISSING_REQUIRED_VALUE = "missing_required_value",
1122
+ INVALID_PARAMETER = "invalid_parameter",
1123
+ DOES_NOT_EXIST = "does_not_exist",
1124
+ ALREADY_EXISTS = "already_exists",
1125
+ NOT_AUTHENTICATED = "not_authenticated",
1126
+ NOT_AUTHORIZED = "not_authorized",
1127
+ FORBIDDEN = "forbidden",
1128
+ CONFLICT = "conflict",
1129
+ CREATE_ERROR = "create_error",
1130
+ FETCH_ERROR = "fetch_error",
1131
+ UPDATE_ERROR = "update_error",
1132
+ DELETE_ERROR = "delete_error",
1133
+ DATA_ERROR = "data_error",
1134
+ DATABASE_ERROR = "database_error",
1135
+ DATABASE_QUERY_ERROR = "database_query_error",
1136
+ CONSTRAINT_VIOLATION = "constraint_violation",
1137
+ UNABLE_TO_PERFORM = "unable_to_perform",
1138
+ TOO_MANY_REQUESTS = "too_many_requests",
1139
+ DEPENDENT_SERVICE_ERROR = "dependent_service_error",
1140
+ CONFIGURATION_ERROR = "configuration_error",
1141
+ UNEXPECTED_EXCEPTION = "unexpected_exception",
1142
+ GOVERNANCE_POLICY_DENIAL = "governance_policy_denial",
1143
+ DATABASE_USAGE_LIMITS = "database_usage_limits",
1144
+ INACTIVE_USER = "inactive_user",
1145
+ ENTITLEMENT_ENFORCEMENT = "entitlement_enforcement",
1146
+ DELETED = "deleted",
1147
+ NOT_IMPLEMENTED = "not_implemented",
1148
+ FEATURE_NOT_ENABLED = "feature_not_enabled"
1149
+ }
1150
+ }
1151
+ }
1152
+ /** First page in the collection. */
1153
+ interface FirstPage {
1154
+ /** Link to the first page in the collection. */
1155
+ href: string;
1156
+ }
1157
+ /** Resource defining initialization parameters. */
1158
+ interface InitializeResource {
1159
+ /** Container reference. */
1160
+ container?: ContainerReference;
1161
+ /** Link to monitor the status of the initialize operation. */
1162
+ href?: string;
1163
+ /** Status of the initialize operation. */
1164
+ status?: InitializeResource.Constants.Status | string;
1165
+ /** The id to trace the failed initialization operation. */
1166
+ trace?: string;
1167
+ /** Set of errors on the latest initialization request. */
1168
+ errors?: ErrorModelResource[];
1169
+ /** Start time of the last initialization. */
1170
+ last_started_at?: string;
1171
+ /** End time of the last initialization. */
1172
+ last_finished_at?: string;
1173
+ /** Initialized options. */
1174
+ initialized_options?: InitializedOption[];
1175
+ }
1176
+ namespace InitializeResource {
1177
+ namespace Constants {
1178
+ /** Status of the initialize operation. */
1179
+ enum Status {
1180
+ NOT_STARTED = "not_started",
1181
+ IN_PROGRESS = "in_progress",
1182
+ SUCCEEDED = "succeeded",
1183
+ FAILED = "failed"
1184
+ }
1185
+ }
1186
+ }
1187
+ /** List of options successfully initialized. */
1188
+ interface InitializedOption {
1189
+ /** The name of the option. */
1190
+ name?: string;
1191
+ /** The version of the option. */
1192
+ version?: number;
1193
+ }
1194
+ /** This model represents an individual patch operation to be performed on a JSON document, as defined by RFC 6902. */
1195
+ interface JsonPatchOperation {
1196
+ /** The operation to be performed. */
1197
+ op: JsonPatchOperation.Constants.Op | string;
1198
+ /** The JSON Pointer that identifies the field that is the target of the operation. */
1199
+ path: string;
1200
+ /** The JSON Pointer that identifies the field that is the source of the operation. */
1201
+ from?: string;
1202
+ /** The value to be used within the operation. */
1203
+ value?: any;
1204
+ }
1205
+ namespace JsonPatchOperation {
1206
+ namespace Constants {
1207
+ /** The operation to be performed. */
1208
+ enum Op {
1209
+ ADD = "add",
1210
+ REMOVE = "remove",
1211
+ REPLACE = "replace",
1212
+ MOVE = "move",
1213
+ COPY = "copy",
1214
+ TEST = "test"
1215
+ }
1216
+ }
1217
+ }
1218
+ /** Next page in the collection. */
1219
+ interface NextPage {
1220
+ /** Link to the next page in the collection. */
1221
+ href: string;
1222
+ /** Start token for pagination to the next page in the collection. */
1223
+ start: string;
1224
+ }
1225
+ /** Service id credentials. */
1226
+ interface ServiceIdCredentials {
1227
+ /** Name of the api key of the service id. */
1228
+ name?: string;
1229
+ /** Created date of the api key of the service id. */
1230
+ created_at?: string;
1231
+ }
1232
+ /** UseCase. */
1233
+ interface UseCase {
1234
+ /** The id of the use case associated with the data product. */
1235
+ id: string;
1236
+ /** The display name of the use case associated with the data product. */
1237
+ name?: string;
1238
+ /** Container reference. */
1239
+ container?: ContainerReference;
1240
+ }
1241
+ /*************************
1242
+ * pager classes
1243
+ ************************/
1244
+ /**
1245
+ * DataProductsPager can be used to simplify the use of listDataProducts().
1246
+ */
1247
+ class DataProductsPager {
1248
+ protected _hasNext: boolean;
1249
+ protected pageContext: any;
1250
+ protected client: DphV1;
1251
+ protected params: DphV1.ListDataProductsParams;
1252
+ /**
1253
+ * Construct a DataProductsPager object.
1254
+ *
1255
+ * @param {DphV1} client - The service client instance used to invoke listDataProducts()
1256
+ * @param {Object} [params] - The parameters to be passed to listDataProducts()
1257
+ * @constructor
1258
+ * @returns {DataProductsPager}
1259
+ */
1260
+ constructor(client: DphV1, params?: DphV1.ListDataProductsParams);
1261
+ /**
1262
+ * Returns true if there are potentially more results to be retrieved by invoking getNext().
1263
+ * @returns {boolean}
1264
+ */
1265
+ hasNext(): boolean;
1266
+ /**
1267
+ * Returns the next page of results by invoking listDataProducts().
1268
+ * @returns {Promise<DphV1.DataProductSummary[]>}
1269
+ */
1270
+ getNext(): Promise<DphV1.DataProductSummary[]>;
1271
+ /**
1272
+ * Returns all results by invoking listDataProducts() repeatedly until all pages of results have been retrieved.
1273
+ * @returns {Promise<DphV1.DataProductSummary[]>}
1274
+ */
1275
+ getAll(): Promise<DphV1.DataProductSummary[]>;
1276
+ }
1277
+ /**
1278
+ * DataProductDraftsPager can be used to simplify the use of listDataProductDrafts().
1279
+ */
1280
+ class DataProductDraftsPager {
1281
+ protected _hasNext: boolean;
1282
+ protected pageContext: any;
1283
+ protected client: DphV1;
1284
+ protected params: DphV1.ListDataProductDraftsParams;
1285
+ /**
1286
+ * Construct a DataProductDraftsPager object.
1287
+ *
1288
+ * @param {DphV1} client - The service client instance used to invoke listDataProductDrafts()
1289
+ * @param {Object} params - The parameters to be passed to listDataProductDrafts()
1290
+ * @constructor
1291
+ * @returns {DataProductDraftsPager}
1292
+ */
1293
+ constructor(client: DphV1, params: DphV1.ListDataProductDraftsParams);
1294
+ /**
1295
+ * Returns true if there are potentially more results to be retrieved by invoking getNext().
1296
+ * @returns {boolean}
1297
+ */
1298
+ hasNext(): boolean;
1299
+ /**
1300
+ * Returns the next page of results by invoking listDataProductDrafts().
1301
+ * @returns {Promise<DphV1.DataProductVersionSummary[]>}
1302
+ */
1303
+ getNext(): Promise<DphV1.DataProductVersionSummary[]>;
1304
+ /**
1305
+ * Returns all results by invoking listDataProductDrafts() repeatedly until all pages of results have been retrieved.
1306
+ * @returns {Promise<DphV1.DataProductVersionSummary[]>}
1307
+ */
1308
+ getAll(): Promise<DphV1.DataProductVersionSummary[]>;
1309
+ }
1310
+ /**
1311
+ * DataProductReleasesPager can be used to simplify the use of listDataProductReleases().
1312
+ */
1313
+ class DataProductReleasesPager {
1314
+ protected _hasNext: boolean;
1315
+ protected pageContext: any;
1316
+ protected client: DphV1;
1317
+ protected params: DphV1.ListDataProductReleasesParams;
1318
+ /**
1319
+ * Construct a DataProductReleasesPager object.
1320
+ *
1321
+ * @param {DphV1} client - The service client instance used to invoke listDataProductReleases()
1322
+ * @param {Object} params - The parameters to be passed to listDataProductReleases()
1323
+ * @constructor
1324
+ * @returns {DataProductReleasesPager}
1325
+ */
1326
+ constructor(client: DphV1, params: DphV1.ListDataProductReleasesParams);
1327
+ /**
1328
+ * Returns true if there are potentially more results to be retrieved by invoking getNext().
1329
+ * @returns {boolean}
1330
+ */
1331
+ hasNext(): boolean;
1332
+ /**
1333
+ * Returns the next page of results by invoking listDataProductReleases().
1334
+ * @returns {Promise<DphV1.DataProductVersionSummary[]>}
1335
+ */
1336
+ getNext(): Promise<DphV1.DataProductVersionSummary[]>;
1337
+ /**
1338
+ * Returns all results by invoking listDataProductReleases() repeatedly until all pages of results have been retrieved.
1339
+ * @returns {Promise<DphV1.DataProductVersionSummary[]>}
1340
+ */
1341
+ getAll(): Promise<DphV1.DataProductVersionSummary[]>;
1342
+ }
1343
+ }
1344
+ export = DphV1;