Skip to content

Commit a31d03f

Browse files
authored
Merge pull request #169 from akamai/release/v2.17.0
Release/v2.17.0
2 parents 818c939 + e1e0a4e commit a31d03f

File tree

69 files changed

+1122
-865
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

69 files changed

+1122
-865
lines changed

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
# EDGEGRID GOLANG RELEASE NOTES
22

3+
## 2.17.0 (October 24, 2022)
4+
5+
#### FEATURES/ENHANCEMENTS:
6+
7+
* Datastream
8+
* Add ListStreams
9+
* Add new connectors: Elasticsearch, NewRelic and Loggly
10+
* Extend Splunk and Custom HTTPS connectors mTLS certificates configuration
11+
* Extend SumoLogic, Splunk and Custom HTTPS connectors with ability to specify custom HTTP headers
12+
13+
#### BUG FIXES:
14+
15+
* APPSEC
16+
* Fix incorrect JSON sent when applying appsec_ip_geo resource in allow mode
17+
318
## 2.16.0 (September 26, 2022)
419

520
#### FEATURES/ENHANCEMENTS:

pkg/appsec/activations.go

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -168,8 +168,6 @@ func (p *appsec) GetActivations(ctx context.Context, params GetActivationsReques
168168
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
169169
}
170170

171-
var result GetActivationsResponse
172-
173171
uri := fmt.Sprintf(
174172
"/appsec/v1/activations/%d",
175173
params.ActivationID)
@@ -179,9 +177,10 @@ func (p *appsec) GetActivations(ctx context.Context, params GetActivationsReques
179177
return nil, fmt.Errorf("failed to create GetActivations request: %w", err)
180178
}
181179

180+
var result GetActivationsResponse
182181
resp, errp := p.Exec(req, &result)
183182
if errp != nil {
184-
return nil, fmt.Errorf("GetActivations request failed: %w", errp)
183+
return nil, fmt.Errorf("get activations request failed: %w", errp)
185184
}
186185

187186
if resp.StatusCode != http.StatusOK {
@@ -199,8 +198,6 @@ func (p *appsec) GetActivationHistory(ctx context.Context, params GetActivationH
199198
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
200199
}
201200

202-
var result GetActivationHistoryResponse
203-
204201
uri := fmt.Sprintf(
205202
"/appsec/v1/configs/%d/activations",
206203
params.ConfigID)
@@ -210,9 +207,10 @@ func (p *appsec) GetActivationHistory(ctx context.Context, params GetActivationH
210207
return nil, fmt.Errorf("failed to create GetActivationHistory request: %w", err)
211208
}
212209

213-
resp, errp := p.Exec(req, &result)
214-
if errp != nil {
215-
return nil, fmt.Errorf("list activation history request failed: %w", errp)
210+
var result GetActivationHistoryResponse
211+
resp, err := p.Exec(req, &result)
212+
if err != nil {
213+
return nil, fmt.Errorf("get activation history request failed: %w", err)
216214
}
217215

218216
if resp.StatusCode != http.StatusOK {
@@ -234,10 +232,9 @@ func (p *appsec) CreateActivations(ctx context.Context, params CreateActivations
234232
}
235233

236234
var result CreateActivationsResponse
237-
238235
resp, err := p.Exec(req, &result, params)
239236
if err != nil {
240-
return nil, fmt.Errorf("CreateActivations request failed: %w", err)
237+
return nil, fmt.Errorf("create activations request failed: %w", err)
241238
}
242239
if resp.StatusCode != http.StatusOK {
243240
return nil, p.Error(resp)
@@ -255,14 +252,13 @@ func (p *appsec) CreateActivations(ctx context.Context, params CreateActivations
255252

256253
resp, err = p.Exec(req, &result)
257254
if err != nil {
258-
return nil, fmt.Errorf("GetActivation request failed: %w", err)
255+
return nil, fmt.Errorf("get activation request failed: %w", err)
259256
}
260257
if resp.StatusCode != http.StatusOK {
261258
return nil, p.Error(resp)
262259
}
263260

264261
return &result, nil
265-
266262
}
267263

268264
func (p *appsec) RemoveActivations(ctx context.Context, params RemoveActivationsRequest) (*RemoveActivationsResponse, error) {
@@ -277,10 +273,9 @@ func (p *appsec) RemoveActivations(ctx context.Context, params RemoveActivations
277273
}
278274

279275
var result RemoveActivationsResponse
280-
281276
resp, errp := p.Exec(req, &result, params)
282277
if errp != nil {
283-
return nil, fmt.Errorf("RemoveActivations request failed: %w", errp)
278+
return nil, fmt.Errorf("remove activations request failed: %w", errp)
284279
}
285280
if resp.StatusCode != http.StatusOK {
286281
return nil, p.Error(resp)

pkg/appsec/advanced_settings_evasive_path_match.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -90,15 +90,13 @@ func (v RemoveAdvancedSettingsEvasivePathMatchRequest) Validate() error {
9090

9191
func (p *appsec) GetAdvancedSettingsEvasivePathMatch(ctx context.Context, params GetAdvancedSettingsEvasivePathMatchRequest) (*GetAdvancedSettingsEvasivePathMatchResponse, error) {
9292
logger := p.Log(ctx)
93-
logger.Debug("GetAdvancedSettingsLoggings")
93+
logger.Debug("GetAdvancedSettingsEvasivePathMatch")
9494

9595
if err := params.Validate(); err != nil {
9696
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
9797
}
9898

99-
var result GetAdvancedSettingsEvasivePathMatchResponse
10099
var uri string
101-
102100
if params.PolicyID != "" {
103101
uri = fmt.Sprintf(
104102
"/appsec/v1/configs/%d/versions/%d/security-policies/%s/advanced-settings/evasive-path-match",
@@ -114,12 +112,13 @@ func (p *appsec) GetAdvancedSettingsEvasivePathMatch(ctx context.Context, params
114112

115113
req, err := http.NewRequestWithContext(ctx, http.MethodGet, uri, nil)
116114
if err != nil {
117-
return nil, fmt.Errorf("failed to create getadvancedsettingsloggings request: %w", err)
115+
return nil, fmt.Errorf("failed to create GetAdvancedSettingsEvasivePathMatch request: %w", err)
118116
}
119117

118+
var result GetAdvancedSettingsEvasivePathMatchResponse
120119
resp, err := p.Exec(req, &result)
121120
if err != nil {
122-
return nil, fmt.Errorf("getadvancedsettingsloggings request failed: %w", err)
121+
return nil, fmt.Errorf("get advanced settings evasive path match request failed: %w", err)
123122
}
124123

125124
if resp.StatusCode != http.StatusOK {
@@ -131,7 +130,7 @@ func (p *appsec) GetAdvancedSettingsEvasivePathMatch(ctx context.Context, params
131130

132131
func (p *appsec) UpdateAdvancedSettingsEvasivePathMatch(ctx context.Context, params UpdateAdvancedSettingsEvasivePathMatchRequest) (*UpdateAdvancedSettingsEvasivePathMatchResponse, error) {
133132
logger := p.Log(ctx)
134-
logger.Debug("UpdateAdvancedSettingsLogging")
133+
logger.Debug("UpdateAdvancedSettingsEvasivePathMatch")
135134

136135
if err := params.Validate(); err != nil {
137136
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
@@ -153,14 +152,14 @@ func (p *appsec) UpdateAdvancedSettingsEvasivePathMatch(ctx context.Context, par
153152

154153
req, err := http.NewRequestWithContext(ctx, http.MethodPut, uri, nil)
155154
if err != nil {
156-
return nil, fmt.Errorf("failed to create create AdvancedSettingsLoggingrequest: %w", err)
155+
return nil, fmt.Errorf("failed to create UpdateAdvancedSettingsEvasivePathMatch request: %w", err)
157156
}
158-
159157
req.Header.Set("Content-Type", "application/json")
158+
160159
var result UpdateAdvancedSettingsEvasivePathMatchResponse
161160
resp, err := p.Exec(req, &result, params)
162161
if err != nil {
163-
return nil, fmt.Errorf("create AdvancedSettingsLogging request failed: %w", err)
162+
return nil, fmt.Errorf("update advanced settings evasive path match request failed: %w", err)
164163
}
165164

166165
if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusCreated {
@@ -171,6 +170,9 @@ func (p *appsec) UpdateAdvancedSettingsEvasivePathMatch(ctx context.Context, par
171170
}
172171

173172
func (p *appsec) RemoveAdvancedSettingsEvasivePathMatch(ctx context.Context, params RemoveAdvancedSettingsEvasivePathMatchRequest) (*RemoveAdvancedSettingsEvasivePathMatchResponse, error) {
173+
logger := p.Log(ctx)
174+
logger.Debug("RemoveAdvancedSettingsEvasivePathMatch")
175+
174176
request := UpdateAdvancedSettingsEvasivePathMatchRequest{
175177
ConfigID: params.ConfigID,
176178
Version: params.Version,
@@ -179,7 +181,7 @@ func (p *appsec) RemoveAdvancedSettingsEvasivePathMatch(ctx context.Context, par
179181
}
180182
_, err := p.UpdateAdvancedSettingsEvasivePathMatch(ctx, request)
181183
if err != nil {
182-
return nil, fmt.Errorf("UpdateAdvancedSettingsEvasivePathMatch request failed: %w", err)
184+
return nil, fmt.Errorf("remove advanced settings evasive path match request failed: %w", err)
183185
}
184186
response := RemoveAdvancedSettingsEvasivePathMatchResponse{
185187
ConfigID: params.ConfigID,

pkg/appsec/advanced_settings_logging.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,7 @@ func (p *appsec) GetAdvancedSettingsLogging(ctx context.Context, params GetAdvan
152152
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
153153
}
154154

155-
var result GetAdvancedSettingsLoggingResponse
156155
var uri string
157-
158156
if params.PolicyID != "" {
159157
uri = fmt.Sprintf(
160158
"/appsec/v1/configs/%d/versions/%d/security-policies/%s/advanced-settings/logging",
@@ -173,17 +171,17 @@ func (p *appsec) GetAdvancedSettingsLogging(ctx context.Context, params GetAdvan
173171
return nil, fmt.Errorf("failed to create GetAdvancedSettingsLogging request: %w", err)
174172
}
175173

174+
var result GetAdvancedSettingsLoggingResponse
176175
resp, err := p.Exec(req, &result)
177176
if err != nil {
178-
return nil, fmt.Errorf("GetAdvancedSettingsLogging request failed: %w", err)
177+
return nil, fmt.Errorf("get advanced settings logging request failed: %w", err)
179178
}
180179

181180
if resp.StatusCode != http.StatusOK {
182181
return nil, p.Error(resp)
183182
}
184183

185184
return &result, nil
186-
187185
}
188186

189187
func (p *appsec) UpdateAdvancedSettingsLogging(ctx context.Context, params UpdateAdvancedSettingsLoggingRequest) (*UpdateAdvancedSettingsLoggingResponse, error) {
@@ -212,12 +210,12 @@ func (p *appsec) UpdateAdvancedSettingsLogging(ctx context.Context, params Updat
212210
if err != nil {
213211
return nil, fmt.Errorf("failed to create UpdateAdvancedSettingsLogging request: %w", err)
214212
}
215-
216213
req.Header.Set("Content-Type", "application/json")
214+
217215
var result UpdateAdvancedSettingsLoggingResponse
218216
resp, err := p.Exec(req, &result, params.JsonPayloadRaw)
219217
if err != nil {
220-
return nil, fmt.Errorf("CreateAdvancedSettingsLogging request failed: %w", err)
218+
return nil, fmt.Errorf("update advanced settings logging request failed: %w", err)
221219
}
222220

223221
if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusCreated {
@@ -253,12 +251,12 @@ func (p *appsec) RemoveAdvancedSettingsLogging(ctx context.Context, params Remov
253251
if err != nil {
254252
return nil, fmt.Errorf("failed to create RemoveAdvancedSettingsLogging request: %w", err)
255253
}
256-
257254
req.Header.Set("Content-Type", "application/json")
255+
258256
var result RemoveAdvancedSettingsLoggingResponse
259257
resp, err := p.Exec(req, &result, params)
260258
if err != nil {
261-
return nil, fmt.Errorf("RemoveAdvancedSettingsLogging request failed: %w", err)
259+
return nil, fmt.Errorf("remove advanced settings logging request failed: %w", err)
262260
}
263261

264262
if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusCreated {

pkg/appsec/advanced_settings_pragma_header.go

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,7 @@ func (p *appsec) GetAdvancedSettingsPragma(ctx context.Context, params GetAdvanc
8989
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
9090
}
9191

92-
var result GetAdvancedSettingsPragmaResponse
9392
var uri string
94-
9593
if params.PolicyID != "" {
9694
uri = fmt.Sprintf(
9795
"/appsec/v1/configs/%d/versions/%d/security-policies/%s/advanced-settings/pragma-header",
@@ -109,20 +107,19 @@ func (p *appsec) GetAdvancedSettingsPragma(ctx context.Context, params GetAdvanc
109107
if err != nil {
110108
return nil, fmt.Errorf("failed to create GetAdvancedSettingsPragma request: %w", err)
111109
}
112-
113110
req.Header.Set("Content-Type", "application/json")
114111

112+
var result GetAdvancedSettingsPragmaResponse
115113
resp, err := p.Exec(req, &result)
116114
if err != nil {
117-
return nil, fmt.Errorf("GetAdvancedSettingsPragma request failed: %w", err)
115+
return nil, fmt.Errorf("get advanced settings pragma request failed: %w", err)
118116
}
119117

120118
if resp.StatusCode != http.StatusOK {
121119
return nil, p.Error(resp)
122120
}
123121

124122
return &result, nil
125-
126123
}
127124

128125
func (p *appsec) UpdateAdvancedSettingsPragma(ctx context.Context, params UpdateAdvancedSettingsPragmaRequest) (*UpdateAdvancedSettingsPragmaResponse, error) {
@@ -155,7 +152,7 @@ func (p *appsec) UpdateAdvancedSettingsPragma(ctx context.Context, params Update
155152
var result UpdateAdvancedSettingsPragmaResponse
156153
resp, err := p.Exec(req, &result, params.JsonPayloadRaw)
157154
if err != nil {
158-
return nil, fmt.Errorf("UpdateAdvancedSettingsPragma request failed: %w", err)
155+
return nil, fmt.Errorf("update advanced settings pragma request failed: %w", err)
159156
}
160157

161158
if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusCreated {

pkg/appsec/advanced_settings_prefetch.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,6 @@ func (p *appsec) GetAdvancedSettingsPrefetch(ctx context.Context, params GetAdva
9393
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
9494
}
9595

96-
var result GetAdvancedSettingsPrefetchResponse
97-
9896
uri := fmt.Sprintf(
9997
"/appsec/v1/configs/%d/versions/%d/advanced-settings/prefetch",
10098
params.ConfigID,
@@ -106,17 +104,17 @@ func (p *appsec) GetAdvancedSettingsPrefetch(ctx context.Context, params GetAdva
106104
return nil, fmt.Errorf("failed to create GetAdvancedSettingsPrefetch request: %w", err)
107105
}
108106

107+
var result GetAdvancedSettingsPrefetchResponse
109108
resp, err := p.Exec(req, &result)
110109
if err != nil {
111-
return nil, fmt.Errorf("GetAdvancedSettingsPrefetch request failed: %w", err)
110+
return nil, fmt.Errorf("get advanced settings prefetch request failed: %w", err)
112111
}
113112

114113
if resp.StatusCode != http.StatusOK {
115114
return nil, p.Error(resp)
116115
}
117116

118117
return &result, nil
119-
120118
}
121119

122120
func (p *appsec) UpdateAdvancedSettingsPrefetch(ctx context.Context, params UpdateAdvancedSettingsPrefetchRequest) (*UpdateAdvancedSettingsPrefetchResponse, error) {
@@ -141,7 +139,7 @@ func (p *appsec) UpdateAdvancedSettingsPrefetch(ctx context.Context, params Upda
141139
var result UpdateAdvancedSettingsPrefetchResponse
142140
resp, err := p.Exec(req, &result, params)
143141
if err != nil {
144-
return nil, fmt.Errorf("UpdateAdvancedSettingsPrefetch request failed: %w", err)
142+
return nil, fmt.Errorf("update advanced settings prefetch request failed: %w", err)
145143
}
146144

147145
if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusCreated {

pkg/appsec/api_constraints_protection.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,6 @@ func (p *appsec) GetAPIConstraintsProtection(ctx context.Context, params GetAPIC
8585
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
8686
}
8787

88-
var result GetAPIConstraintsProtectionResponse
89-
9088
uri := fmt.Sprintf(
9189
"/appsec/v1/configs/%d/versions/%d/security-policies/%s/protections",
9290
params.ConfigID,
@@ -98,17 +96,17 @@ func (p *appsec) GetAPIConstraintsProtection(ctx context.Context, params GetAPIC
9896
return nil, fmt.Errorf("failed to create GetAPIConstraintsProtection request: %w", err)
9997
}
10098

99+
var result GetAPIConstraintsProtectionResponse
101100
resp, err := p.Exec(req, &result)
102101
if err != nil {
103-
return nil, fmt.Errorf("GetAPIConstraintsProtection request failed: %w", err)
102+
return nil, fmt.Errorf("get API constraints protection request failed: %w", err)
104103
}
105104

106105
if resp.StatusCode != http.StatusOK {
107106
return nil, p.Error(resp)
108107
}
109108

110109
return &result, nil
111-
112110
}
113111

114112
func (p *appsec) UpdateAPIConstraintsProtection(ctx context.Context, params UpdateAPIConstraintsProtectionRequest) (*UpdateAPIConstraintsProtectionResponse, error) {
@@ -134,7 +132,7 @@ func (p *appsec) UpdateAPIConstraintsProtection(ctx context.Context, params Upda
134132
var result UpdateAPIConstraintsProtectionResponse
135133
resp, err := p.Exec(req, &result, params)
136134
if err != nil {
137-
return nil, fmt.Errorf("UpdateAPIConstraintsProtection request failed: %w", err)
135+
return nil, fmt.Errorf("update API constraints protection request failed: %w", err)
138136
}
139137

140138
if resp.StatusCode != http.StatusOK && resp.StatusCode != http.StatusCreated {

0 commit comments

Comments
 (0)