github.com/launchdarkly/api-client-go@v5.3.0+incompatible/api_audit_log.go (about) 1 2 /* 3 * LaunchDarkly REST API 4 * 5 * Build custom integrations with the LaunchDarkly REST API 6 * 7 * API version: 5.3.0 8 * Contact: support@launchdarkly.com 9 * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) 10 */ 11 12 package ldapi 13 14 import ( 15 "context" 16 "io/ioutil" 17 "net/http" 18 "net/url" 19 "strings" 20 "fmt" 21 "github.com/antihax/optional" 22 ) 23 24 // Linger please 25 var ( 26 _ context.Context 27 ) 28 29 type AuditLogApiService service 30 31 /* 32 AuditLogApiService Get a list of all audit log entries. The query parameters allow you to restrict the returned results by date ranges, resource specifiers, or a full-text search query. 33 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 34 * @param optional nil or *AuditLogApiGetAuditLogEntriesOpts - Optional Parameters: 35 * @param "Before" (optional.Int64) - A timestamp filter, expressed as a Unix epoch time in milliseconds. All entries returned will have before this timestamp. 36 * @param "After" (optional.Int64) - A timestamp filter, expressed as a Unix epoch time in milliseconds. All entries returned will have occurred after this timestamp. 37 * @param "Q" (optional.String) - Text to search for. You can search for the full or partial name of the resource involved or full or partial email address of the member who made the change. 38 * @param "Limit" (optional.Float32) - A limit on the number of audit log entries to be returned, between 1 and 20. 39 * @param "Spec" (optional.String) - A resource specifier, allowing you to filter audit log listings by resource. 40 41 @return AuditLogEntries 42 */ 43 44 type AuditLogApiGetAuditLogEntriesOpts struct { 45 Before optional.Int64 46 After optional.Int64 47 Q optional.String 48 Limit optional.Float32 49 Spec optional.String 50 } 51 52 func (a *AuditLogApiService) GetAuditLogEntries(ctx context.Context, localVarOptionals *AuditLogApiGetAuditLogEntriesOpts) (AuditLogEntries, *http.Response, error) { 53 var ( 54 localVarHttpMethod = strings.ToUpper("Get") 55 localVarPostBody interface{} 56 localVarFileName string 57 localVarFileBytes []byte 58 localVarReturnValue AuditLogEntries 59 ) 60 61 // create path and map variables 62 localVarPath := a.client.cfg.BasePath + "/auditlog" 63 64 localVarHeaderParams := make(map[string]string) 65 localVarQueryParams := url.Values{} 66 localVarFormParams := url.Values{} 67 68 if localVarOptionals != nil && localVarOptionals.Before.IsSet() { 69 localVarQueryParams.Add("before", parameterToString(localVarOptionals.Before.Value(), "")) 70 } 71 if localVarOptionals != nil && localVarOptionals.After.IsSet() { 72 localVarQueryParams.Add("after", parameterToString(localVarOptionals.After.Value(), "")) 73 } 74 if localVarOptionals != nil && localVarOptionals.Q.IsSet() { 75 localVarQueryParams.Add("q", parameterToString(localVarOptionals.Q.Value(), "")) 76 } 77 if localVarOptionals != nil && localVarOptionals.Limit.IsSet() { 78 localVarQueryParams.Add("limit", parameterToString(localVarOptionals.Limit.Value(), "")) 79 } 80 if localVarOptionals != nil && localVarOptionals.Spec.IsSet() { 81 localVarQueryParams.Add("spec", parameterToString(localVarOptionals.Spec.Value(), "")) 82 } 83 // to determine the Content-Type header 84 localVarHttpContentTypes := []string{"application/json"} 85 86 // set Content-Type header 87 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 88 if localVarHttpContentType != "" { 89 localVarHeaderParams["Content-Type"] = localVarHttpContentType 90 } 91 92 // to determine the Accept header 93 localVarHttpHeaderAccepts := []string{"application/json"} 94 95 // set Accept header 96 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 97 if localVarHttpHeaderAccept != "" { 98 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 99 } 100 if ctx != nil { 101 // API Key Authentication 102 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 103 var key string 104 if auth.Prefix != "" { 105 key = auth.Prefix + " " + auth.Key 106 } else { 107 key = auth.Key 108 } 109 localVarHeaderParams["Authorization"] = key 110 111 } 112 } 113 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 114 if err != nil { 115 return localVarReturnValue, nil, err 116 } 117 118 localVarHttpResponse, err := a.client.callAPI(r) 119 if err != nil || localVarHttpResponse == nil { 120 return localVarReturnValue, localVarHttpResponse, err 121 } 122 123 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 124 localVarHttpResponse.Body.Close() 125 if err != nil { 126 return localVarReturnValue, localVarHttpResponse, err 127 } 128 129 if localVarHttpResponse.StatusCode < 300 { 130 // If we succeed, return the data, otherwise pass on to decode error. 131 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 132 return localVarReturnValue, localVarHttpResponse, err 133 } 134 135 if localVarHttpResponse.StatusCode >= 300 { 136 newErr := GenericSwaggerError{ 137 body: localVarBody, 138 error: localVarHttpResponse.Status, 139 } 140 141 if localVarHttpResponse.StatusCode == 200 { 142 var v AuditLogEntries 143 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 144 if err != nil { 145 newErr.error = err.Error() 146 return localVarReturnValue, localVarHttpResponse, newErr 147 } 148 newErr.model = v 149 return localVarReturnValue, localVarHttpResponse, newErr 150 } 151 152 return localVarReturnValue, localVarHttpResponse, newErr 153 } 154 155 return localVarReturnValue, localVarHttpResponse, nil 156 } 157 158 /* 159 AuditLogApiService Use this endpoint to fetch a single audit log entry by its resouce ID. 160 * @param ctx context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background(). 161 * @param resourceId The resource ID. 162 163 @return AuditLogEntry 164 */ 165 func (a *AuditLogApiService) GetAuditLogEntry(ctx context.Context, resourceId string) (AuditLogEntry, *http.Response, error) { 166 var ( 167 localVarHttpMethod = strings.ToUpper("Get") 168 localVarPostBody interface{} 169 localVarFileName string 170 localVarFileBytes []byte 171 localVarReturnValue AuditLogEntry 172 ) 173 174 // create path and map variables 175 localVarPath := a.client.cfg.BasePath + "/auditlog/{resourceId}" 176 localVarPath = strings.Replace(localVarPath, "{"+"resourceId"+"}", fmt.Sprintf("%v", resourceId), -1) 177 178 localVarHeaderParams := make(map[string]string) 179 localVarQueryParams := url.Values{} 180 localVarFormParams := url.Values{} 181 182 // to determine the Content-Type header 183 localVarHttpContentTypes := []string{"application/json"} 184 185 // set Content-Type header 186 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 187 if localVarHttpContentType != "" { 188 localVarHeaderParams["Content-Type"] = localVarHttpContentType 189 } 190 191 // to determine the Accept header 192 localVarHttpHeaderAccepts := []string{"application/json"} 193 194 // set Accept header 195 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 196 if localVarHttpHeaderAccept != "" { 197 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 198 } 199 if ctx != nil { 200 // API Key Authentication 201 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 202 var key string 203 if auth.Prefix != "" { 204 key = auth.Prefix + " " + auth.Key 205 } else { 206 key = auth.Key 207 } 208 localVarHeaderParams["Authorization"] = key 209 210 } 211 } 212 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 213 if err != nil { 214 return localVarReturnValue, nil, err 215 } 216 217 localVarHttpResponse, err := a.client.callAPI(r) 218 if err != nil || localVarHttpResponse == nil { 219 return localVarReturnValue, localVarHttpResponse, err 220 } 221 222 localVarBody, err := ioutil.ReadAll(localVarHttpResponse.Body) 223 localVarHttpResponse.Body.Close() 224 if err != nil { 225 return localVarReturnValue, localVarHttpResponse, err 226 } 227 228 if localVarHttpResponse.StatusCode < 300 { 229 // If we succeed, return the data, otherwise pass on to decode error. 230 err = a.client.decode(&localVarReturnValue, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 231 return localVarReturnValue, localVarHttpResponse, err 232 } 233 234 if localVarHttpResponse.StatusCode >= 300 { 235 newErr := GenericSwaggerError{ 236 body: localVarBody, 237 error: localVarHttpResponse.Status, 238 } 239 240 if localVarHttpResponse.StatusCode == 200 { 241 var v AuditLogEntry 242 err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); 243 if err != nil { 244 newErr.error = err.Error() 245 return localVarReturnValue, localVarHttpResponse, newErr 246 } 247 newErr.model = v 248 return localVarReturnValue, localVarHttpResponse, newErr 249 } 250 251 return localVarReturnValue, localVarHttpResponse, newErr 252 } 253 254 return localVarReturnValue, localVarHttpResponse, nil 255 } 256