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