@@ -19,6 +19,7 @@ type HttpClient interface {
1919type Client struct {
2020 AccessID string
2121 AccessKey string
22+ AuthJwt string
2223 Environment string
2324 BaseURL * url.URL
2425 httpClient HttpClient
@@ -40,14 +41,18 @@ var endpoints = map[string]string{
4041
4142var rateLimiter = time .NewTicker (time .Minute / 240 )
4243
43- func createNewRequest (method , url string , body io.Reader , accessID string , accessKey string ) (* http.Request , error ) {
44+ func createNewRequest (method , url string , body io.Reader , accessID string , accessKey string , authJwt string ) (* http.Request , error ) {
4445 req , err := http .NewRequest (method , url , body )
4546 if err != nil {
4647 return nil , err
4748 }
4849 req .Header .Add ("Content-Type" , "application/json" )
4950 req .Header .Add ("User-Agent" , "SumoLogicTerraformProvider/" + ProviderVersion )
50- req .SetBasicAuth (accessID , accessKey )
51+ if authJwt == "" {
52+ req .SetBasicAuth (accessID , accessKey )
53+ } else {
54+ req .Header .Add ("Authorization" , "Bearer " + authJwt )
55+ }
5156 return req , nil
5257}
5358
@@ -64,7 +69,7 @@ func (s *Client) PostWithCookies(urlPath string, payload interface{}) ([]byte, [
6469 return nil , nil , err
6570 }
6671
67- req , err := createNewRequest (http .MethodPost , sumoURL .String (), bytes .NewBuffer (body ), s .AccessID , s .AccessKey )
72+ req , err := createNewRequest (http .MethodPost , sumoURL .String (), bytes .NewBuffer (body ), s .AccessID , s .AccessKey , s . AuthJwt )
6873 if err != nil {
6974 return nil , nil , err
7075 }
@@ -98,7 +103,7 @@ func (s *Client) GetWithCookies(urlPath string, cookies []*http.Cookie) ([]byte,
98103
99104 sumoURL := s .BaseURL .ResolveReference (relativeURL )
100105
101- req , err := createNewRequest (http .MethodGet , sumoURL .String (), nil , s .AccessID , s .AccessKey )
106+ req , err := createNewRequest (http .MethodGet , sumoURL .String (), nil , s .AccessID , s .AccessKey , s . AuthJwt )
102107 if err != nil {
103108 return nil , "" , err
104109 }
@@ -133,7 +138,7 @@ func (s *Client) Post(urlPath string, payload interface{}, isAdminMode bool) ([]
133138 sumoURL := s .BaseURL .ResolveReference (relativeURL )
134139
135140 body , _ := json .Marshal (payload )
136- req , err := createNewRequest (http .MethodPost , sumoURL .String (), bytes .NewBuffer (body ), s .AccessID , s .AccessKey )
141+ req , err := createNewRequest (http .MethodPost , sumoURL .String (), bytes .NewBuffer (body ), s .AccessID , s .AccessKey , s . AuthJwt )
137142 if err != nil {
138143 return nil , err
139144 }
@@ -164,7 +169,7 @@ func (s *Client) Post(urlPath string, payload interface{}, isAdminMode bool) ([]
164169func (s * Client ) PostRawPayload (urlPath string , payload string ) ([]byte , error ) {
165170 relativeURL , _ := url .Parse (urlPath )
166171 sumoURL := s .BaseURL .ResolveReference (relativeURL )
167- req , err := createNewRequest (http .MethodPost , sumoURL .String (), bytes .NewBuffer ([]byte (payload )), s .AccessID , s .AccessKey )
172+ req , err := createNewRequest (http .MethodPost , sumoURL .String (), bytes .NewBuffer ([]byte (payload )), s .AccessID , s .AccessKey , s . AuthJwt )
168173 if err != nil {
169174 return nil , err
170175 }
@@ -195,7 +200,7 @@ func (s *Client) Put(urlPath string, payload interface{}, isAdminMode bool) ([]b
195200 _ , etag , _ := s .Get (sumoURL .String (), false )
196201
197202 body , _ := json .Marshal (payload )
198- req , err := createNewRequest (http .MethodPut , sumoURL .String (), bytes .NewBuffer (body ), s .AccessID , s .AccessKey )
203+ req , err := createNewRequest (http .MethodPut , sumoURL .String (), bytes .NewBuffer (body ), s .AccessID , s .AccessKey , s . AuthJwt )
199204 if err != nil {
200205 return nil , err
201206 }
@@ -228,7 +233,7 @@ func (s *Client) Get(urlPath string, isAdminMode bool) ([]byte, string, error) {
228233 relativeURL , _ := url .Parse (urlPath )
229234 sumoURL := s .BaseURL .ResolveReference (relativeURL )
230235
231- req , err := createNewRequest (http .MethodGet , sumoURL .String (), nil , s .AccessID , s .AccessKey )
236+ req , err := createNewRequest (http .MethodGet , sumoURL .String (), nil , s .AccessID , s .AccessKey , s . AuthJwt )
232237 if err != nil {
233238 return nil , "" , err
234239 }
@@ -262,7 +267,7 @@ func (s *Client) Delete(urlPath string) ([]byte, error) {
262267 relativeURL , _ := url .Parse (urlPath )
263268 sumoURL := s .BaseURL .ResolveReference (relativeURL )
264269
265- req , err := createNewRequest (http .MethodDelete , sumoURL .String (), nil , s .AccessID , s .AccessKey )
270+ req , err := createNewRequest (http .MethodDelete , sumoURL .String (), nil , s .AccessID , s .AccessKey , s . AuthJwt )
266271 if err != nil {
267272 return nil , err
268273 }
@@ -286,10 +291,11 @@ func (s *Client) Delete(urlPath string) ([]byte, error) {
286291 return d , nil
287292}
288293
289- func NewClient (accessID , accessKey , environment , base_url string ) (* Client , error ) {
294+ func NewClient (accessID , accessKey , authJwt , environment , base_url string ) (* Client , error ) {
290295 client := Client {
291296 AccessID : accessID ,
292297 AccessKey : accessKey ,
298+ AuthJwt : authJwt ,
293299 httpClient : http .DefaultClient ,
294300 Environment : environment ,
295301 }
0 commit comments