Releases: akamai/AkamaiOPEN-edgegrid-golang
Releases · akamai/AkamaiOPEN-edgegrid-golang
Edgegrid v9.1.0 release
EDGEGRID GOLANG RELEASE NOTES
9.1.0 (Nov 14, 2024)
FEATURES/ENHANCEMENTS:
-
General
- Added a configurable
WithRetries
option for creating new sessions with global GET retries. It can be configured with these parameters:retryMax
- The maximum number of API request retries.retryWaitMin
- The minimum wait time intime.Duration
between API requests retries.retryWaitMax
- The maximum wait time intime.Duration
between API requests retries.excludedEndpoints
- The list of path expressions defining endpoints which should be excluded from the retry feature.
- Added logic responsible for closing the response body in each method.
- Added a configurable
-
APPSEC
- Added following content protection fields to
GetExportConfigurationResponse
underBotManagement
sectionContentProtectionRules
ContentProtectionRuleSequence
ContentProtectionJavaScriptInjectionRules
- Changed
EnabledBotmanSiemEvents
to*bool
and omitted from following structs when emptyGetSiemSettingResponse
RemoveSiemSettingsRequest
RemoveSiemSettingsResponse
UpdateSiemSettingsRequest
UpdateSiemSettingsResponse
- Added following content protection fields to
-
DNS
- Added support for
OutboundZoneTransfer
field in requests and responses for these methods:CreateBulkZones
CreateZone
GetZone
ListZones
UpdateZone
- Added support for
BUG FIXES:
-
APPSEC
- Fixed SIEM exception validation for the
Exceptions
field.
- Fixed SIEM exception validation for the
-
Cloud Access
- Added custom error
ErrAccessKeyNotFound
to easier verify if provided access key does not exist.
- Added custom error
Edgegrid v9.0.0 release
EDGEGRID GOLANG RELEASE NOTES
9.0.0 (Oct 3, 2024)
BREAKING CHANGES:
-
General
- Consolidated multiple sub-interfaces into a single interface for each sub-provider.
- Renamed
NTWRKLISTS
interface toNetworkList
fornetworklists
provider - Removed
tools
package in favour ofptr
package
-
Cloudaccess
- Changed naming of request body fields for following structures:
BodyParams
toBody
inCreateAccessKeyVersionRequest
CreateAccessKeyVersionBodyParams
toCreateAccessKeyVersionRequestBody
- Changed naming of request body fields for following structures:
-
Cloudlets
- Changed naming of request body fields for following structures:
BodyParams
toBody
inUpdatePolicyRequest
andClonePolicyRequest
UpdatePolicyBodyParams
toUpdatePolicyRequestBody
ClonePolicyBodyParams
toClonePolicyRequestBody
- Changed naming of request body fields for following structures:
-
Cloudwrapper
- Changed naming of request body fields for following structures:
CreateConfigurationBody
toCreateConfigurationRequestBody
UpdateConfigurationBody
toUpdateConfigurationRequestBody
- Changed naming of request body fields for following structures:
-
DNS
- Refactored parameters in following methods:
GetAuthorities
- from (context.Context, string) into (context.Context,GetAuthoritiesRequest
)GetNameServerRecordList
- from (context.Context, string) into (context.Context,GetNameServerRecordListRequest
)GetRecord
- from (context.Context, string, string, string) into (context.Context,GetRecordRequest
)GetRecordList
- from (context.Context, string, string, string) into (context.Context,GetRecordListRequest
)CreateRecord
- from (context.Context, *RecordBody, string, ...bool) into (context.Context,CreateRecordRequest
)UpdateRecord
- from (context.Context, *RecordBody, string, ...bool) into (context.Context,UpdateRecordRequest
)DeleteRecord
- from (context.Context, *RecordBody, string, ...bool) into (context.Context,DeleteRecordRequest
)GetRecordSets
- from (context.Context, string, ...RecordSetQueryArgs) into (context.Context,GetRecordSetsRequest
)CreateRecordSets
- from (context.Context, *RecordSets, string, ...bool) into (context.Context,CreateRecordSetsRequest
)UpdateRecordSets
- from (context.Context, *RecordSets, string, ...bool) into (context.Context,UpdateRecordSetsRequest
)ListTSIGKeys
- from (context.Context, *TSIGQueryString) into (context.Context,ListTSIGKeysRequest
)GetTSIGKeyZones
- from (context.Context, *TSIGKey) into (context.Context,GetTSIGKeyZonesRequest
)GetTSIGKeyAliases
- from (context.Context, string) into (context.Context,GetTSIGKeyAliasesRequest
)UpdateTSIGKeyBulk
- from (context.Context, *TSIGKeyBulkPost) into (context.Context,UpdateTSIGKeyBulkRequest
)GetTSIGKey
- from (context.Context, string) into (context.Context,GetTSIGKeyRequest
)DeleteTSIGKey
- from (context.Context, string) into (context.Context,DeleteTSIGKeyRequest
)UpdateTSIGKey
- from (context.Context, *TSIGKey, string) into (context.Context,UpdateTSIGKeyRequest
)ListZones
- from (context.Context, ...ZoneListQueryArgs) into (context.Context,ListZonesRequest
)GetZone
- from (context.Context, string) into (context.Context,GetZoneRequest
)GetChangeList
- from (context.Context, string) into (context.Context,GetChangeListRequest
)GetMasterZoneFile
- from (context.Context, string) into (context.Context,GetMasterZoneFileRequest
)PostMasterZoneFile
- from (context.Context, string, string) into (context.Context,PostMasterZoneFileRequest
)CreateZone
- from (context.Context, *ZoneCreate, ZoneQueryString, ...bool) into (context.Context,CreateZoneRequest
)SaveChangeList
- from (context.Context, *ZoneCreate) into (context.Context,SaveChangeListRequest
)SubmitChangeList
- from (context.Context, *ZoneCreate) into (context.Context,SubmitChangeListRequest
)UpdateZone
- from (context.Context, *ZoneCreate) into (context.Context,UpdateZoneRequest
)GetZoneNames
- from (context.Context, string) into (context.Context,GetZoneNamesRequest
)GetZoneNameTypes
- from (context.Context, string, string) into (context.Context,GetZoneNameTypesRequest
)GetBulkZoneCreateStatus
- from (context.Context, string) into (context.Context,GetBulkZoneCreateStatusRequest
)GetBulkZoneDeleteStatus
- from (context.Context, string) into (context.Context,GetBulkZoneDeleteStatusRequest
)GetBulkZoneCreateResult
- from (context.Context, string) into (context.Context,GetBulkZoneCreateResultRequest
)GetBulkZoneDeleteResult
- from (context.Context, string) into (context.Context,GetBulkZoneDeleteResultRequest
)CreateBulkZones
- from (context.Context, *BulkZonesCreate, ZoneQueryString) into (context.Context,CreateBulkZonesRequest
)DeleteBulkZones
- from (context.Context, *ZoneNameListResponse, ...bool) into (context.Context,DeleteBulkZonesRequest
)GetRdata
- from (context.Context, string, string, string) into (context.Context,GetRdataRequest
)
- Refactored response in following methods:
GetAuthorities
-*AuthorityResponse
into*GetAuthoritiesResponse
GetRecord
-*RecordBody
into*GetRecordResponse
GetRecordList
-*RecordSetResponse
into*GetRecordListResponse
GetRecordSets
-*RecordSetResponse
into*GetRecordSetsResponse
GetTSIGKey
-*TSIGKeyResponse
into*GetTSIGKeyResponse
ListTSIGKeys
-*TSIGReportResponse
into*ListTSIGKeysResponse
GetTSIGKeyZones
-*ZoneNameListResponse
into*GetTSIGKeyZonesResponse
GetTSIGKeyAliases
-*ZoneNameListResponse
into*GetTSIGKeyAliasesResponse
GetZone
-*ZoneResponse
into*GetZoneResponse
GetChangeList
-*ChangeListResponse
into*GetChangeListResponse
GetZoneNames
-*ZoneNamesResponse
into*GetZoneNamesResponse
GetZoneNameTypes
-*ZoneNameTypesResponse
into*GetZoneNameTypesResponse
GetBulkZoneCreateStatus
-*BulkStatusResponse
into*GetBulkZoneCreateStatusResponse
GetBulkZoneDeleteStatus
-*BulkStatusResponse
into*GetBulkZoneDeleteStatusResponse
GetBulkZoneCreateResult
-*BulkCreateResultResponse
into*GetBulkZoneCreateResultResponse
GetBulkZoneDeleteResult
-*BulkDeleteResultResponse
into*GetBulkZoneDeleteResultResponse
CreateBulkZones
-*BulkZonesResponse
into*CreateBulkZonesResponse
DeleteBulkZones
-*BulkZonesResponse
into*DeleteBulkZonesResponse
- Removed following interfaces:
Authorities
Data
Records
Recordsets
TSIGKeys
Zones
- Renamed following methods:
SaveChangelist
intoSaveChangeList
SubmitChangelist
intoSubmitChangeList
TSIGKeyBulkUpdate
intoUpdateTSIGKeyBulk
- Refactored parameters in following methods:
-
EdgeKV
- For the
CreateEdgeKVAccessTokenRequest
, removed theExpiry
field and added theRestrictToEdgeWorkerIDs
field. - For the
CreateEdgeKVAccessTokenResponse
, removed theExpiry
andValue
fields, and added these fields:AllowOnProduction
AllowOnStaging
CPCode
IssueDate
LatestRefreshDate
NamespacePermissions
NextScheduledRefreshDate
RestrictToEdgeWorkerIDs
TokenActivationStatus
- Added these fields to the
EdgeKVAccessToken
method:TokenActivationStatus
IssueDate
LatestRefreshDate
NextScheduledRefreshDate
- For the
-
Edgeworkers
- Changed naming of request body fields for these structures:
EdgeWorkerIDBodyRequest
toEdgeWorkerIDRequestBody
- Changed naming of request body fields for these structures:
-
GTM
- Refactored parameters in these methods:
ListASMaps
- from (context.Context, string) into (context.Context,ListASMapsRequest
)GetASMap
- from (context.Context, string, string) into (context.Context,GetASMapRequests
)CreateASMap
- from (context.Context, *ASMap, string) into (context.Context,CreateASMapRequest
)UpdateASMap
- from (context.Context, *ASMap, string) into (context.Context,UpdateASMapRequest
)DeleteASMap
- from (context.Context, *ASMap, string) into (context.Context,DeleteASMapRequest
)ListCIDRMaps
- from (context.Context, string) into (context.Context,ListCIDRMapsRequest
)GetCIDRMap
- from (context.Context, string, string) into (context.Context,GetCIDRMapRequest
)CreateCIDRMap
- from (context.Context, *CIDRMap, string) into (context.Context,CreateCIDRMapRequest
)UpdateCIDRMap
- from (context.Context, *CIDRMap, string) into (context.Context,UpdateCIDRMapRequest
)DeleteCIDRMap
- from (context.Context, *CIDRMap, string) into (context.Context,DeleteCIDRMapRequest
)ListDatacenters
- from (context.Context, string) into (context.Context,ListDatacentersRequest
)GetDatacenter
- from (context.Context, int, string) into (context.Context,GetDatacenterRequest
)CreateDatacenter
- from (context.Context, *Datacenter, string) into (context.Context,CreateDatacenterRequest
)UpdateDatacenter
- from (context.Context, *Datacenter, string) into (context.Context,UpdateDatacenterRequest
)DeleteDatacenter
- from (context.Context, *Datacenter, string) into (context.Context,DeleteDatacenterRequest
)GetDomainStatus
- from (context.Context, string) into (context.Context,GetDomainStatusRequest
)GetDomain
- from (context.Context, string) into (context.Context,GetDomainRequest
)CreateDomain
- from (context.Context, *Domain, map[string]string) into (context.Context,CreateDomainRequest
)UpdateDomain
- from (context.Context, *Domain, map[string]string) into (context.Context,UpdateDomainRequest
)DeleteDomain
- from (context.Context, *Doma...
- Refactored parameters in these methods:
Edgegrid v8.4.0 release
EDGEGRID GOLANG RELEASE NOTES
8.4.0 (Aug 22, 2024)
FEATURES/ENHANCEMENTS:
-
APPSEC
- Added field
ClientLists
toRuleConditions
andAttackGroupConditions
- The
RequestBodyInspectionLimitOverride
field has been added in the following structures:GetAdvancedSettingsRequestBodyResponse
,UpdateAdvancedSettingsRequestBodyRequest
,UpdateAdvancedSettingsRequestBodyResponse
,RemoveAdvancedSettingsRequestBodyRequest
,RemoveAdvancedSettingsRequestBodyResponse
- Added field
-
IAM
- Added new methods:
- GetProperty
- ListProperties
- MoveProperty
MapPropertyIDToName
- to provide property name for given IAM property ID
- Added new methods:
-
PAPI
- Added new method
MapPropertyNameToID
to provide PAPI property ID for given property name
- Added new method
Edgegrid v8.3.0 release
EDGEGRID GOLANG RELEASE NOTES
8.3.0 (July 09, 2024)
FEATURES/ENHANCEMENTS:
-
General
- Added
To
utility function in theptr
package that helps with creating value pointers
- Added
-
BOTMAN
- Added Content Protection APIs
- CreateContentProtectionRule
- GetContentProtectionRuleList
- GetContentProtectionRule
- UpdateContentProtectionRule
- RemoveContentProtectionRule
- GetContentProtectionRuleSequence
- UpdateContentProtectionRuleSequence
- GetContentProtectionJavaScriptInjectionRuleList
- GetContentProtectionJavaScriptInjectionRule
- CreateContentProtectionJavaScriptInjectionRule
- UpdateContentProtectionJavaScriptInjectionRule
- RemoveContentProtectionJavaScriptInjectionRule
- Added Content Protection APIs
-
Added Cloud Access Manager API support
- Access Keys
- Access Key Versions
- Properties using Access Key
-
DNS
- Added GetZonesDNSSecStatus method returning the current DNSSEC status for one or more zones
Deprecations
- Deprecated the following functions in the
tools
package. Useptr.To
instead.BoolPtr
IntPtr
Int64Ptr
Float32Ptr
Float64Ptr
StringPtr
Edgegrid v8.2.0 release
EDGEGRID GOLANG RELEASE NOTES
8.2.0 (May 21, 2024)
FEATURES/ENHANCEMENTS:
-
APPSEC
- Added
CounterType
field toCreateRatePolicyResponse
,UpdateRatePolicyResponse
,RemoveRatePolicyResponse
,GetRatePoliciesResponse
andGetRatePolicyResponse
structs to support managing rate policy counter type
- Added
-
BOTMAN
-
HAPI
- Added method to return certificate for the edge hostname
- Added fields to
GetEdgeHostnameResponse
:ProductID
,MapAlias
andUseCases
BUG FIXES:
-
APPSEC
- The
Override
field in the following structs has been updated from a pointer to a value type within theAdvancedSettingsAttackPayloadLogging
interface:GetAdvancedSettingsAttackPayloadLoggingResponse
,UpdateAdvancedSettingsAttackPayloadLoggingResponse
,RemoveAdvancedSettingsAttackPayloadLoggingRequest
,RemoveAdvancedSettingsAttackPayloadLoggingResponse
This update was made to address a drift issue related to policy level settings.
- Omit
Prefetch
withinAdvancedOptions
inGetExportConfigurationResponse
when empty
- The
-
CLOUDLETS
- Added validation that
ObjectMatchValue
is not supported withMatchType
query
inMatchRuleER
(#535)
- Added validation that
Edgegrid v8.1.0 release
EDGEGRID GOLANG RELEASE NOTES
8.1.0 (April 11, 2024)
FEATURES/ENHANCEMENTS:
-
DNS
- Modified
ParseRData
method to remove priority, weight and port from targets only when those values are same for allSRV
targets.
Otherwise, targets are returned untouched andpriority
,weight
andport
in the map are not populated.
- Modified
-
Image and Video Manager
- Added
SmartCrop
transformation
- Added
Edgegrid v8.0.0 release
EDGEGRID GOLANG RELEASE NOTES
8.0.0 (March 19, 2024)
BREAKING CHANGES:
-
Migrated to go 1.21
-
CPS
- Split request and response structures for create and update enrollment operations
-
DNS
- Renamed following structs:
RecordsetQueryArgs
intoRecordSetQueryArgs
Recordsets
intoRecordSets
Recordset
intoRecordSet
MetadataH
intoMetadata
- Renamed following fields:
GroupId
intoGroupID
inListGroupRequest
Recordsets
intoRecordSets
inRecordSetResponse
ContractIds
intoContractIDs
inTSIGQueryString
Gid
intoGID
inTSIGQueryString
andTSIGReportMeta
TsigKey
intoTSIGKey
inZoneCreate
andZoneResponse
VersionId
intoVersionID
inZoneResponse
RequestId
intoRequestID
inBulkZonesResponse
,BulkStatusResponse
,BulkCreateResultResponse
andBulkDeleteResultResponse
- Renamed
RecordSets
interface intoRecordsets
- Renamed following methods:
ListTsigKeys
intoListTSIGKeys
GetTsigKeyZones
intoGetTSIGKeyZones
GetTsigKeyAliases
intoGetTSIGKeyAliases
TsigKeyBulkUpdate
intoTSIGKeyBulkUpdate
GetTsigKey
intoGetTSIGKey
DeleteTsigKey
intoDeleteTSIGKey
UpdateTsigKey
intoUpdateTSIGKey
GetRecordsets
intoGetRecordSets
CreateRecordsets
intoCreateRecordSets
UpdateRecordsets
intoUpdateRecordSets
- Deleted following methods:
NewAuthorityResponse
NewChangeListResponse
NewRecordBody
NewRecordSetResponse
NewTsigKey
NewTsigQueryString
NewZone
NewZoneQueryString
NewZoneResponse
RecordToMap
- Unexported following methods:
FullIPv6
PadCoordinates
ValidateZone
- Renamed following structs:
-
GTM
- Renamed following structs:
AsAssignment
intoASAssignment
AsMap
intoASMap
AsMapList
intoASMapList
CidrAssignment
intoCIDRAssignment
CidrMap
intoCIDRMap
CidrMapList
intoCIDRMapList
CidrMapResponse
intoCIDRMapResponse
AsMapResponse
intoASMapResponse
HttpHeader
intoHTTPHeader
- Renamed following fields:
AsNumbers
intoASNumbers
inASAssignment
AsMapItems
intoASMapItems
inASMapList
CidrMapItems
intoCIDRMapItems
inCIDRMapList
ChangeId
intoChangeID
inResponseStatus
DatacenterId
intoDatacenterID
inDatacenterBase
,Datacenter
,TrafficTarget
andResourceInstance
AsMaps
intoASMaps
inDomain
DefaultSslClientPrivateKey
intoDefaultSSLClientPrivateKey
inDomain
CnameCoalescingEnabled
intoCNameCoalescingEnabled
inDomain
CidrMaps
intoCIDRMaps
inDomain
DefaultSslClientCertificate
intoDefaultSSLClientCertificate
inDomain
AcgId
intoAcgID
inDomainItem
HttpError3xx
intoHTTPError3xx
inLivenessTest
HttpError4xx
intoHTTPError4xx
inLivenessTest
HttpError5xx
intoHTTPError5xx
inLivenessTest
SslClientPrivateKey
intoSSLClientPrivateKey
inLivenessTest
SslClientCertificate
intoSSLClientCertificate
inLivenessTest
HttpHeaders
intoHTTPHeaders
inLivenessTest
Ipv6
intoIPv6
inProperty
BackupIp
intoBackupIP
inProperty
- Renamed
CidrMaps
interface intoCIDRMaps
- Renamed following methods:
ListAsMaps
intoListASMaps
GetAsMap
intoGetASMap
CreateAsMap
intoCreateASMap
DeleteAsMap
intoDeleteASMap
UpdateAsMap
intoUpdateASMap
ListCidrMaps
intoListCIDRMaps
GetCidrMap
intoGetCIDRMap
CreateCidrMap
intoCreateCIDRMap
DeleteCidrMap
intoDeleteCIDRMap
UpdateCidrMap
intoUpdateCIDRMap
- Deleted following methods:
NewASAssignment
NewAsMap
NewCidrAssignment
NewCidrMap
NewDatacenter
NewDatacenterBase
NewDatacenterResponse
NewDefaultDatacenter
NewDomain
NewGeoAssignment
NewHttpHeader
NewGeoMap
NewLivenessTest
NewLoadObject
NewProperty
NewResource
NewResourceInstance
NewResponseStatus
NewStaticRRSet
NewTrafficTarget
- Renamed following structs:
FEATURES/ENHANCEMENTS:
-
Added default value
application/json
forAccept
header for all requests sent to API -
Appsec
- Added
PenaltyBoxConditions
API - read and update - Added
EvalPenaltyBoxConditions
API - read and update
- Added
-
CPS
- Added
ID
,OrgID
,ProductionSlots
,StagingSlots
andAssignedSlots
to the response structures ofGetEnrollment
andListEnrollment
operations
- Added
-
GTM
- Added new fields:
SignAndServe
andSignAndServeAlgorithm
for theDomain
HTTPMethod
,HTTPRequestBody
,Pre2023SecurityPosture
andAlternateCACertificates
for theLivenessTest
inProperty
Precedence
for theTrafficTarget
inProperty
- Enhanced error details by addition of
Errors
field inError
structure - Added support for the creation of
ranked-failover
properties
- Added new fields:
BUG FIXES:
-
DNS
- Removed not working
DeleteZone
method
- Removed not working
-
PAPI
- Updated documentation link for
GetProperties
method
- Updated documentation link for
Edgegrid v7.6.1 release
EDGEGRID GOLANG RELEASE NOTES
7.6.1 (February 14, 2024)
BUG FIXES:
- Edgeworkers
- Fixed case when not providing optional
note
field inActivateVersion
would cause activation to fail
- Fixed case when not providing optional
Edgegrid v7.6.0 release
EDGEGRID GOLANG RELEASE NOTES
7.6.0 (February 8, 2024)
FEATURES/ENHANCEMENTS:
-
General
- Enhanced error handling when Error is not in standard format.
-
Added Cloudlets V3 API support
- Cloudlet Info
- Policies
- Policy Properties
- Policy Versions
- Policy Activations
- Supported cloudlet types
- API Prioritization (AP)
- Application Segmentation (AS)
- Edge Redirector (ER)
- Forward Rewrite (FR)
- Phased Release (PR aka CD)
- Request Control (RC aka IG)
-
DNS
- Added
ListGroups
method
- Added
-
Edgeworkers
- Added
note
field toActivation
andActivateVersion
structs for EdgeWorkers Activation
- Added
-
GTM
- Added new fields to
DomainItem
struct
- Added new fields to
-
IVM
- Extended
OutputImage
for support ofAllowPristineOnDownsize
andPreferModernFormats
- Extended
PolicyInputImage
for support ofServeStaleDuration
- Extended
RolloutInfo
for support ofServeStaleEndTime
- Extended
BUG FIXES:
- APPSEC
- Added
updateLatestNetworkStatus
query parameter in GetActivations request to resolve drift on manual changes to infrastructure
- Added
Edgegrid v7.5.0 release
EDGEGRID GOLANG RELEASE NOTES
7.5.0 (November 28, 2023)
FEATURES/ENHANCEMENTS:
-
APPSEC
- Added
ASNControls
field toUpdateIPGeoRequest
andIPGeoFirewall
structs to support firewall blocking by ASN client lists
- Added
-
BOTMAN
- Added API support for Custom Code - read and update