Skip to content

Commit 818c939

Browse files
author
Piyush Kaushik
authored
Merge pull request #168 from akamai/release/v2.16.0
Release/v2.16.0
2 parents 5bc776f + 57e74d0 commit 818c939

File tree

141 files changed

+17172
-1673
lines changed

Some content is hidden

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

141 files changed

+17172
-1673
lines changed

.github/workflows/checks.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ on:
66
pull_request:
77
branches:
88
- v2
9+
- master
910
jobs:
1011
test:
1112
runs-on: ubuntu-latest

CHANGELOG.md

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

3+
## 2.16.0 (September 26, 2022)
4+
5+
#### FEATURES/ENHANCEMENTS:
6+
7+
* APPSEC
8+
* Add interfaces to support file malware scanning (FMS):
9+
* MalwareContentTypes
10+
* MalwarePolicy
11+
* MalwarePolicyAction
12+
* MalwareProtection
13+
* Add GetRuleRecommendations method to TuningRecommendations interface
14+
* Add deprecation notes for the following:
15+
* methods:
16+
* GetIPGeoProtections
17+
* GetNetworkLayerProtections
18+
* GetRateProtections
19+
* GetReputationProtections
20+
* GetSlowPostProtectionSetting
21+
* GetSlowPostProtections
22+
* GetWAFProtections
23+
* RemoveNetworkLayerProtection
24+
* RemovePolicyProtections
25+
* RemoveReputationProtection
26+
* structs:
27+
* GetIPGeoProtectionsRequest
28+
* GetNetworkLayerProtectionsRequest
29+
* GetRateProtectionsRequest
30+
* GetReputationProtectionsRequest
31+
* GetSlowPostProtectionSettingRequest
32+
* GetSlowPostProtectionSettingResponse
33+
* GetSlowPostProtectionsRequest
34+
* GetWAFProtectionsRequest
35+
* RemoveNetworkLayerProtectionRequest
36+
* RemovePolicyProtectionsRequest
37+
* RemoveReputationProtectionRequest
38+
39+
* [IMPORTANT] Added Bot Management API Support
40+
* Akamai Bot Category - read
41+
* Akamai Bot Category Action - read, update
42+
* Akamai Defined Bot - read
43+
* Bot Analytics Cookie - read, update
44+
* Bot Analytics Cookie Values - read
45+
* Bot Category Exception - read, update
46+
* Bot Detection - read
47+
* Bot Detection Action - read, update
48+
* Bot Endpoint Coverage Report - read
49+
* Bot Management Setting - read, update
50+
* Challenge Action - create, read, update, delete
51+
* Challenge Interception Rules - read, update
52+
* Client Side Security - read, update
53+
* Conditional Action - create, read, update, delete
54+
* Custom Bot Category - create, read, update, delete
55+
* Custom Bot Category Action - read, update
56+
* Custom Bot Category Sequence - read, update
57+
* Custom Client - create, read, update, delete
58+
* Custom Defined Bot - create, read, update, delete
59+
* Custom Deny Action - create, read, update, delete
60+
* Javascript Injection - read, update
61+
* Recategorized Akamai Defined Bot - create, read, update, delete
62+
* Response Action - read
63+
* Serve Alternate Action - create, read, update, delete
64+
* Transactional Endpoint - create, read, update, delete
65+
* Transactional Endpoint Protection - read, update
66+
367
## 2.15.0 (August 22, 2022)
468

569
#### FEATURES/ENHANCEMENTS:

Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,11 @@ COVERAGE_XML = $(COVERAGE_DIR)/coverage.xml
5959
COVERAGE_HTML = $(COVERAGE_DIR)/index.html
6060

6161
$(TEST_TARGETS): COVERAGE_DIR := $(CURDIR)/test/coverage
62+
$(TEST_TARGETS): SHELL = /bin/bash
6263
$(TEST_TARGETS): ; $(info $(M) Running tests with coverage...) @ ## Run coverage tests
6364
$Q mkdir -p $(COVERAGE_DIR)
6465
$Q mkdir -p test
65-
$Q $(GO) test -timeout $(TIMEOUT)s $(ARGS) \
66+
$Q set -o pipefail && $(GO) test -timeout $(TIMEOUT)s $(ARGS) \
6667
-coverpkg=./... \
6768
-covermode=$(COVERAGE_MODE) \
6869
-coverprofile="$(COVERAGE_PROFILE)" ./... | tee test/tests.output

pkg/appsec/activations.go

Lines changed: 20 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -161,14 +161,14 @@ func (v GetActivationHistoryRequest) Validate() error {
161161
}
162162

163163
func (p *appsec) GetActivations(ctx context.Context, params GetActivationsRequest) (*GetActivationsResponse, error) {
164+
logger := p.Log(ctx)
165+
logger.Debug("GetActivations")
166+
164167
if err := params.Validate(); err != nil {
165168
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
166169
}
167170

168-
logger := p.Log(ctx)
169-
logger.Debug("GetActivations")
170-
171-
var rval GetActivationsResponse
171+
var result GetActivationsResponse
172172

173173
uri := fmt.Sprintf(
174174
"/appsec/v1/activations/%d",
@@ -179,7 +179,7 @@ func (p *appsec) GetActivations(ctx context.Context, params GetActivationsReques
179179
return nil, fmt.Errorf("failed to create GetActivations request: %w", err)
180180
}
181181

182-
resp, errp := p.Exec(req, &rval)
182+
resp, errp := p.Exec(req, &result)
183183
if errp != nil {
184184
return nil, fmt.Errorf("GetActivations request failed: %w", errp)
185185
}
@@ -188,18 +188,18 @@ func (p *appsec) GetActivations(ctx context.Context, params GetActivationsReques
188188
return nil, p.Error(resp)
189189
}
190190

191-
return &rval, nil
191+
return &result, nil
192192
}
193193

194194
func (p *appsec) GetActivationHistory(ctx context.Context, params GetActivationHistoryRequest) (*GetActivationHistoryResponse, error) {
195+
logger := p.Log(ctx)
196+
logger.Debug("GetActivationHistory")
197+
195198
if err := params.Validate(); err != nil {
196199
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
197200
}
198201

199-
logger := p.Log(ctx)
200-
logger.Debug("GetActivationHistory")
201-
202-
var rval GetActivationHistoryResponse
202+
var result GetActivationHistoryResponse
203203

204204
uri := fmt.Sprintf(
205205
"/appsec/v1/configs/%d/activations",
@@ -210,7 +210,7 @@ func (p *appsec) GetActivationHistory(ctx context.Context, params GetActivationH
210210
return nil, fmt.Errorf("failed to create GetActivationHistory request: %w", err)
211211
}
212212

213-
resp, errp := p.Exec(req, &rval)
213+
resp, errp := p.Exec(req, &result)
214214
if errp != nil {
215215
return nil, fmt.Errorf("list activation history request failed: %w", errp)
216216
}
@@ -219,7 +219,7 @@ func (p *appsec) GetActivationHistory(ctx context.Context, params GetActivationH
219219
return nil, p.Error(resp)
220220
}
221221

222-
return &rval, nil
222+
return &result, nil
223223
}
224224

225225
func (p *appsec) CreateActivations(ctx context.Context, params CreateActivationsRequest, _ bool) (*CreateActivationsResponse, error) {
@@ -233,42 +233,39 @@ func (p *appsec) CreateActivations(ctx context.Context, params CreateActivations
233233
return nil, fmt.Errorf("failed to create CreateActivations request: %w", err)
234234
}
235235

236-
var rval CreateActivationsResponse
236+
var result CreateActivationsResponse
237237

238-
resp, err := p.Exec(req, &rval, params)
238+
resp, err := p.Exec(req, &result, params)
239239
if err != nil {
240240
return nil, fmt.Errorf("CreateActivations request failed: %w", err)
241241
}
242242
if resp.StatusCode != http.StatusOK {
243243
return nil, p.Error(resp)
244244
}
245245

246-
var rvalget CreateActivationsResponse
247-
248246
uriget := fmt.Sprintf(
249247
"/appsec/v1/activations/%d",
250-
rval.ActivationID,
248+
result.ActivationID,
251249
)
252250

253251
req, err = http.NewRequestWithContext(ctx, http.MethodGet, uriget, nil)
254252
if err != nil {
255253
return nil, fmt.Errorf("failed to create GetActivation request: %w", err)
256254
}
257255

258-
resp, err = p.Exec(req, &rvalget)
256+
resp, err = p.Exec(req, &result)
259257
if err != nil {
260258
return nil, fmt.Errorf("GetActivation request failed: %w", err)
261259
}
262260
if resp.StatusCode != http.StatusOK {
263261
return nil, p.Error(resp)
264262
}
265263

266-
return &rvalget, nil
264+
return &result, nil
267265

268266
}
269267

270268
func (p *appsec) RemoveActivations(ctx context.Context, params RemoveActivationsRequest) (*RemoveActivationsResponse, error) {
271-
272269
logger := p.Log(ctx)
273270
logger.Debug("RemoveActivations")
274271

@@ -279,17 +276,17 @@ func (p *appsec) RemoveActivations(ctx context.Context, params RemoveActivations
279276
return nil, fmt.Errorf("failed to create RemoveActivations request: %w", err)
280277
}
281278

282-
var rval RemoveActivationsResponse
279+
var result RemoveActivationsResponse
283280

284-
resp, errp := p.Exec(req, &rval, params)
281+
resp, errp := p.Exec(req, &result, params)
285282
if errp != nil {
286283
return nil, fmt.Errorf("RemoveActivations request failed: %w", errp)
287284
}
288285
if resp.StatusCode != http.StatusOK {
289286
return nil, p.Error(resp)
290287
}
291288

292-
return &rval, nil
289+
return &result, nil
293290
}
294291

295292
// ActivationValue is used to create an "enum" of possible Activation.ActivationType values

pkg/appsec/advanced_settings_evasive_path_match.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -89,14 +89,14 @@ func (v RemoveAdvancedSettingsEvasivePathMatchRequest) Validate() error {
8989
}
9090

9191
func (p *appsec) GetAdvancedSettingsEvasivePathMatch(ctx context.Context, params GetAdvancedSettingsEvasivePathMatchRequest) (*GetAdvancedSettingsEvasivePathMatchResponse, error) {
92+
logger := p.Log(ctx)
93+
logger.Debug("GetAdvancedSettingsLoggings")
94+
9295
if err := params.Validate(); err != nil {
9396
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
9497
}
9598

96-
logger := p.Log(ctx)
97-
logger.Debug("GetAdvancedSettingsLoggings")
98-
99-
var rval GetAdvancedSettingsEvasivePathMatchResponse
99+
var result GetAdvancedSettingsEvasivePathMatchResponse
100100
var uri string
101101

102102
if params.PolicyID != "" {
@@ -117,7 +117,7 @@ func (p *appsec) GetAdvancedSettingsEvasivePathMatch(ctx context.Context, params
117117
return nil, fmt.Errorf("failed to create getadvancedsettingsloggings request: %w", err)
118118
}
119119

120-
resp, err := p.Exec(req, &rval)
120+
resp, err := p.Exec(req, &result)
121121
if err != nil {
122122
return nil, fmt.Errorf("getadvancedsettingsloggings request failed: %w", err)
123123
}
@@ -126,39 +126,39 @@ func (p *appsec) GetAdvancedSettingsEvasivePathMatch(ctx context.Context, params
126126
return nil, p.Error(resp)
127127
}
128128

129-
return &rval, nil
129+
return &result, nil
130130
}
131131

132132
func (p *appsec) UpdateAdvancedSettingsEvasivePathMatch(ctx context.Context, params UpdateAdvancedSettingsEvasivePathMatchRequest) (*UpdateAdvancedSettingsEvasivePathMatchResponse, error) {
133+
logger := p.Log(ctx)
134+
logger.Debug("UpdateAdvancedSettingsLogging")
135+
133136
if err := params.Validate(); err != nil {
134137
return nil, fmt.Errorf("%w: %s", ErrStructValidation, err.Error())
135138
}
136139

137-
logger := p.Log(ctx)
138-
logger.Debug("UpdateAdvancedSettingsLogging")
139-
140-
var putURL string
140+
var uri string
141141
if params.PolicyID != "" {
142-
putURL = fmt.Sprintf(
142+
uri = fmt.Sprintf(
143143
"/appsec/v1/configs/%d/versions/%d/security-policies/%s/advanced-settings/evasive-path-match",
144144
params.ConfigID,
145145
params.Version,
146146
params.PolicyID)
147147
} else {
148-
putURL = fmt.Sprintf(
148+
uri = fmt.Sprintf(
149149
"/appsec/v1/configs/%d/versions/%d/advanced-settings/evasive-path-match",
150150
params.ConfigID,
151151
params.Version)
152152
}
153153

154-
req, err := http.NewRequestWithContext(ctx, http.MethodPut, putURL, nil)
154+
req, err := http.NewRequestWithContext(ctx, http.MethodPut, uri, nil)
155155
if err != nil {
156156
return nil, fmt.Errorf("failed to create create AdvancedSettingsLoggingrequest: %w", err)
157157
}
158158

159159
req.Header.Set("Content-Type", "application/json")
160-
var rval UpdateAdvancedSettingsEvasivePathMatchResponse
161-
resp, err := p.Exec(req, &rval, params)
160+
var result UpdateAdvancedSettingsEvasivePathMatchResponse
161+
resp, err := p.Exec(req, &result, params)
162162
if err != nil {
163163
return nil, fmt.Errorf("create AdvancedSettingsLogging request failed: %w", err)
164164
}
@@ -167,7 +167,7 @@ func (p *appsec) UpdateAdvancedSettingsEvasivePathMatch(ctx context.Context, par
167167
return nil, p.Error(resp)
168168
}
169169

170-
return &rval, nil
170+
return &result, nil
171171
}
172172

173173
func (p *appsec) RemoveAdvancedSettingsEvasivePathMatch(ctx context.Context, params RemoveAdvancedSettingsEvasivePathMatchRequest) (*RemoveAdvancedSettingsEvasivePathMatchResponse, error) {

0 commit comments

Comments
 (0)