1// Copyright (c) 2016, 2018, 2020, Oracle and/or its affiliates.  All rights reserved.
2// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
3// Code generated. DO NOT EDIT.
4
5package dataintegration
6
7import (
8	"github.com/oracle/oci-go-sdk/common"
9	"net/http"
10)
11
12// ListFoldersRequest wrapper for the ListFolders operation
13type ListFoldersRequest struct {
14
15	// DIS workspace id
16	WorkspaceId *string `mandatory:"true" contributesTo:"path" name:"workspaceId"`
17
18	// Unique Oracle-assigned identifier for the request. If
19	// you need to contact Oracle about a particular request,
20	// please provide the request ID.
21	OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"`
22
23	// This filter parameter can be used to filter by the project or the folder object.
24	AggregatorKey *string `mandatory:"false" contributesTo:"query" name:"aggregatorKey"`
25
26	// This parameter allows users to specify which fields to get for an object.
27	Fields []string `contributesTo:"query" name:"fields" collectionFormat:"multi"`
28
29	// This filter parameter can be used to filter by the name of the object.
30	Name *string `mandatory:"false" contributesTo:"query" name:"name"`
31
32	// This filter parameter can be used to filter by the identifier of the object.
33	Identifier []string `contributesTo:"query" name:"identifier" collectionFormat:"multi"`
34
35	// This parameter will control pagination.  Values for the parameter should come from the `opc-next-page` or `opc-prev-page` header in previous response.
36	Page *string `mandatory:"false" contributesTo:"query" name:"page"`
37
38	// This parameter allows users to set the maximum number of items to return per page.  The value must be between 1 and 100 (inclusive).  Default value is 100.
39	Limit *int `mandatory:"false" contributesTo:"query" name:"limit"`
40
41	// This parameter is used to control the sort order.  Supported values are `ASC` (ascending) and `DESC` (descending).
42	SortOrder ListFoldersSortOrderEnum `mandatory:"false" contributesTo:"query" name:"sortOrder" omitEmpty:"true"`
43
44	// This parameter allows users to specify a sort field.  Supported sort fields are `name`, `identifier`, `timeCreated`, and `timeUpdated`.  Default sort order is the descending order of `timeCreated` (most recently created objects at the top).  Sorting related parameters are ignored when parameter `query` is present (search operation and sorting order is by relevance score in descending order).
45	SortBy ListFoldersSortByEnum `mandatory:"false" contributesTo:"query" name:"sortBy" omitEmpty:"true"`
46
47	// Metadata about the request. This information will not be transmitted to the service, but
48	// represents information that the SDK will consume to drive retry behavior.
49	RequestMetadata common.RequestMetadata
50}
51
52func (request ListFoldersRequest) String() string {
53	return common.PointerString(request)
54}
55
56// HTTPRequest implements the OCIRequest interface
57func (request ListFoldersRequest) HTTPRequest(method, path string) (http.Request, error) {
58	return common.MakeDefaultHTTPRequestWithTaggedStruct(method, path, request)
59}
60
61// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy.
62func (request ListFoldersRequest) RetryPolicy() *common.RetryPolicy {
63	return request.RequestMetadata.RetryPolicy
64}
65
66// ListFoldersResponse wrapper for the ListFolders operation
67type ListFoldersResponse struct {
68
69	// The underlying http response
70	RawResponse *http.Response
71
72	// A list of FolderSummaryCollection instances
73	FolderSummaryCollection `presentIn:"body"`
74
75	// Unique Oracle-assigned identifier for the request. If you need to contact
76	// Oracle about a particular request, please provide the request ID.
77	OpcRequestId *string `presentIn:"header" name:"opc-request-id"`
78
79	// Retrieves the next page of results. When this header appears in the response, additional pages of results remain. See List Pagination (https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
80	OpcNextPage *string `presentIn:"header" name:"opc-next-page"`
81
82	// Retrieves the previous page of results. When this header appears in the response, previous pages of results exist. See List Pagination (https://docs.cloud.oracle.com/iaas/Content/API/Concepts/usingapi.htm#nine).
83	OpcPrevPage *string `presentIn:"header" name:"opc-prev-page"`
84
85	// Total items in the entire list.
86	OpcTotalItems *int `presentIn:"header" name:"opc-total-items"`
87}
88
89func (response ListFoldersResponse) String() string {
90	return common.PointerString(response)
91}
92
93// HTTPResponse implements the OCIResponse interface
94func (response ListFoldersResponse) HTTPResponse() *http.Response {
95	return response.RawResponse
96}
97
98// ListFoldersSortOrderEnum Enum with underlying type: string
99type ListFoldersSortOrderEnum string
100
101// Set of constants representing the allowable values for ListFoldersSortOrderEnum
102const (
103	ListFoldersSortOrderAsc  ListFoldersSortOrderEnum = "ASC"
104	ListFoldersSortOrderDesc ListFoldersSortOrderEnum = "DESC"
105)
106
107var mappingListFoldersSortOrder = map[string]ListFoldersSortOrderEnum{
108	"ASC":  ListFoldersSortOrderAsc,
109	"DESC": ListFoldersSortOrderDesc,
110}
111
112// GetListFoldersSortOrderEnumValues Enumerates the set of values for ListFoldersSortOrderEnum
113func GetListFoldersSortOrderEnumValues() []ListFoldersSortOrderEnum {
114	values := make([]ListFoldersSortOrderEnum, 0)
115	for _, v := range mappingListFoldersSortOrder {
116		values = append(values, v)
117	}
118	return values
119}
120
121// ListFoldersSortByEnum Enum with underlying type: string
122type ListFoldersSortByEnum string
123
124// Set of constants representing the allowable values for ListFoldersSortByEnum
125const (
126	ListFoldersSortByTimeCreated ListFoldersSortByEnum = "TIME_CREATED"
127	ListFoldersSortByDisplayName ListFoldersSortByEnum = "DISPLAY_NAME"
128)
129
130var mappingListFoldersSortBy = map[string]ListFoldersSortByEnum{
131	"TIME_CREATED": ListFoldersSortByTimeCreated,
132	"DISPLAY_NAME": ListFoldersSortByDisplayName,
133}
134
135// GetListFoldersSortByEnumValues Enumerates the set of values for ListFoldersSortByEnum
136func GetListFoldersSortByEnumValues() []ListFoldersSortByEnum {
137	values := make([]ListFoldersSortByEnum, 0)
138	for _, v := range mappingListFoldersSortBy {
139		values = append(values, v)
140	}
141	return values
142}
143