-
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
-
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
-
General
- Consolidated multiple sub-interfaces into a single interface for each sub-provider.
- Renamed the
NTWRKLISTS
interface toNetworkList
for thenetworklists
provider. - Removed the
tools
package in favor of theptr
package.
-
Cloudaccess
- Changed naming of the request body fields for the
CreateAccessKeyVersionRequest
structure:- From
BodyParams
toBody
. - From
CreateAccessKeyVersionBodyParams
toCreateAccessKeyVersionRequestBody
.
- From
- Changed naming of the request body fields for the
-
Cloudlets
- Changed naming of the request body fields for the
UpdatePolicyRequest
structure:- From
BodyParams
toBody
. - From
UpdatePolicyBodyParams
toUpdatePolicyRequestBody
.
- From
- Changed naming of the request body fields for the
ClonePolicyRequest
structure:- From
BodyParams
toBody
. - From
ClonePolicyBodyParams
toClonePolicyRequestBody
.
- From
- Changed naming of the request body fields for the
-
Cloudwrapper
- Changed naming of the request body field for the
CreateConfigurationRequest
structure:- From
CreateConfigurationBody
toCreateConfigurationRequestBody
.
- From
- Changed naming of the request body field for the
UpdateConfigurationRequest
structure:- From
UpdateConfigurationBody
toUpdateConfigurationRequestBody
.
- From
- Changed naming of the request body field for the
-
DNS
- Refactored parameters in these 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 the responses in these methods:
GetAuthorities
- from*AuthorityResponse
into*GetAuthoritiesResponse
GetRecord
-*RecordBody
into*GetRecordResponse
GetRecordList
- from*RecordSetResponse
into*GetRecordListResponse
GetRecordSets
- from*RecordSetResponse
into*GetRecordSetsResponse
GetTSIGKey
- from*TSIGKeyResponse
into*GetTSIGKeyResponse
ListTSIGKeys
- from*TSIGReportResponse
into*ListTSIGKeysResponse
GetTSIGKeyZones
- from ***ZoneNameListResponse
into*GetTSIGKeyZonesResponse
GetTSIGKeyAliases
- from*ZoneNameListResponse
into*GetTSIGKeyAliasesResponse
GetZone
- from*ZoneResponse
into*GetZoneResponse
GetChangeList
- from*ChangeListResponse
into*GetChangeListResponse
GetZoneNames
- from*ZoneNamesResponse
into*GetZoneNamesResponse
GetZoneNameTypes
- from*ZoneNameTypesResponse
into*GetZoneNameTypesResponse
GetBulkZoneCreateStatus
- from*BulkStatusResponse
into*GetBulkZoneCreateStatusResponse
GetBulkZoneDeleteStatus
- from*BulkStatusResponse
into*GetBulkZoneDeleteStatusResponse
GetBulkZoneCreateResult
- from*BulkCreateResultResponse
into*GetBulkZoneCreateResultResponse
GetBulkZoneDeleteResult
- from*BulkDeleteResultResponse
into*GetBulkZoneDeleteResultResponse
CreateBulkZones
- from*BulkZonesResponse
into*CreateBulkZonesResponse
DeleteBulkZones
- from*BulkZonesResponse
into*DeleteBulkZonesResponse
- Removed these interfaces:
Authorities
Data
Records
Recordsets
TSIGKeys
Zones
- Renamed these methods:
- From
SaveChangelist
intoSaveChangeList
- From
SubmitChangelist
intoSubmitChangeList
- From
TSIGKeyBulkUpdate
intoUpdateTSIGKeyBulk
- From
- Refactored parameters in these methods:
-
EdgeKV
- For the
CreateEdgeKVAccessTokenRequest
structure, removed theExpiry
field and added theRestrictToEdgeWorkerIDs
field. - For the
CreateEdgeKVAccessTokenResponse
structure, removed theExpiry
andValue
fields, and added these fields:AllowOnProduction
AllowOnStaging
CPCode
IssueDate
LatestRefreshDate
NamespacePermissions
NextScheduledRefreshDate
RestrictToEdgeWorkerIDs
TokenActivationStatus
- Added these fields to the
EdgeKVAccessToken
structure:TokenActivationStatus
IssueDate
LatestRefreshDate
NextScheduledRefreshDate
- For the
-
Edgeworkers
- Changed naming of request body field for this structure:
- From
EdgeWorkerIDBodyRequest
toEdgeWorkerIDRequestBody
.
- From
- Changed naming of request body field for this structure:
-
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, *Domain) into (context.Context,DeleteDomainRequest
)ListGeoMaps
- from (context.Context, string) into (context.Context,ListGeoMapsRequest
)GetGeoMap
- from (context.Context, string, string) into (context.Context,GetGeoMapRequest
)CreateGeoMap
- from (context.Context, *GeoMap, string) into (context.Context,CreateGeoMapRequest
)UpdateGeoMap
- from (context.Context, *GeoMap, string) into (context.Context,UpdateGeoMapRequest
)DeleteGeoMap
- from (context.Context, *GeoMap, string) into (context.Context,DeleteGeoMapRequest
)ListProperties
- from (context.Context, string) into (context.Context,ListPropertiesRequest
)GetProperty
- from (context.Context, string, string) into (context.Context,GetPropertyRequest
)CreateProperty
- from (context.Context, *Property, string) into (context.Context,CreatePropertyRequest
)UpdateProperty
- from (context.Context, *Property, string) into (context.Context,UpdatePropertyRequest
)DeleteProperty
- from (context.Context, *Property, string) into (context.Context,DeletePropertyRequest
)ListResources
- from (context.Context, string) into (context.Context,ListResourcesRequest
)GetResource
- from (context.Context, string, string) into (context.Context,GetResourceRequest
)CreateResource
- from (context.Context, *Resource, string) into (context.Context,CreateResourceRequest
)UpdateResource
- from (context.Context, *Resource, string) into (context.Context,UpdateResourceRequest
)DeleteResource
- from (context.Context, *Resource, string) into (context.Context,DeleteResourceRequest
)
- Refactored the responses in these methods:
ListASMaps
- from[]*ASMap
into[]ASMap
GetASMap
- from*ASMap
into*GetASMapResponse
CreateASMap
- from*ASMapResponse
into*CreateASMapResponse
UpdateASMap
- from*ResponseStatus
into*UpdateASMapResponse
DeleteASMap
- from*ResponseStatus
into*DeleteASMapResponse
ListCIDRMaps
- from[]*CIDRMap
into[]CIDRMap
GetCIDRMap
- from*CIDRMap
into*GetCIDRMapResponse
CreateCIDRMap
- from*CIDRMapResponse
into*CreateCIDRMapResponse
UpdateCIDRMap
- from*ResponseStatus
into*UpdateCIDRMapResponse
DeleteCIDRMap
- from*ResponseStatus
into*DeleteCIDRMapResponse
ListDatacenters
- from[]*Datacenter
into[]Datacenter
CreateDatacenter
- from*DatacenterResponse
into*CreateDatacenterResponse
UpdateDatacenter
- from*ResponseStatus
into*UpdateDatacenterResponse
DeleteDatacenter
- from*ResponseStatus
into*DeleteDatacenterResponse
ListDomains
- from[]*DomainItem
into[]DomainItem
GetDomain
-*Domain
into*GetDomainResponse
CreateDomain
- from*DomainResponse
into*CreateDomainResponse
UpdateDomain
- from*ResponseStatus
into*UpdateDomainResponse
DeleteDomain
-*ResponseStatus
into*DeleteDomainResponse
GetDomainStatus
- from*ResponseStatus
into*GetDomainStatusResponse
ListGeoMaps
- from[]*GeoMap
into[]GeoMap
GetGeoMap
- from*GeoMap
into*GetGeoMapResponse
CreateGeoMap
- from*GeoMapResponse
into*CreateGeoMapResponse
UpdateGeoMap
- from*ResponseStatus
into*UpdateGeoMapResponse
DeleteGeoMap
- from*ResponseStatus
into*DeleteGeoMapResponse
ListProperties
- from[]*Property
into[]Property
GetProperty
- from*Property
into*GetPropertyResponse
CreateProperty
- from*PropertyResponse
into*CreatePropertyResponse
UpdateProperty
- from*ResponseStatus
into*UpdatePropertyResponse
DeleteProperty
- from*ResponseStatus
into*DeletePropertyResponse
ListResources
- from[]*Resource
into[]Resource
GetResource
- from*Resource
into*GetResourceResponse
CreateResource
- from*ResourceResponse
into*CreateResourceResponse
UpdateResource
- from*ResponseStatus
into*UpdateResourceResponse
DeleteResource
- from*ResponseStatus
into*DeleteResourceResponse
- Extended the response for these methods - previously only the status was returned, now the status and resource are returned:
UpdateASMap
DeleteASMap
UpdateCIDRMap
DeleteCIDRMap
UpdateDatacenter
DeleteDatacenter
UpdateDomain
UpdateGeoMap
DeleteGeoMap
UpdateProperty
DeleteProperty
UpdateResource
DeleteResource
- Removed these interfaces:
ASMaps
CIDRMaps
Datacenters
Domains
GeoMaps
Properties
Resources
- Refactored parameters in these methods:
-
IAM
- Migrated V2 endpoints to V3.
- Improved date handling to use
time.Time
instead ofstring
.- Changed field types in these structures:
Users
LastLoginDate
. Changed the field data type fromstring
totime.Time
.PasswordExpiryDate
. Changed the field data type fromstring
totime.Time
.
UserListItem
LastLoginDate
. Changed the field data type fromstring
totime.Time
.
Role
CreatedDate
. Changed the field data type fromstring
totime.Time
.ModifiedDate
. Changed the field data type fromstring
totime.Time
.
RoleUser
LastLoginDate
. Changed the field data type fromstring
totime.Time
.
GroupUser
LastLoginDate
. Changed the field data type fromstring
totime.Time
.
- Changed field types in these structures:
- Changed the
Notifications
field to a pointer type in these structures:CreateUserRequest
UpdateUserNotificationsRequest
- Added the required
AdditionalAuthentication
field to theCreateUserRequest
method. - Made the
Notifications
field required in theUpdateUserNotifications
method.
-
PAPI
- Removed the
rule_format
andproduct_id
fields from theProperty
structure, as this information is populated in theGetPropertyVersion
method.
- Removed the
-
APPSEC
- Added the
Exceptions
field to these structures:GetSiemSettingsResponse
GetSiemSettingResponse
UpdateSiemSettingsRequest
UpdateSiemSettingsResponse
- Added the
Source
field to theGetExportConfigurationRequest
structure and theTargetProduct
field to theGetExportConfigurationResponse
structure.
- Added the
-
IAM
- Updated these structures:
User
with theAdditionalAuthenticationConfigured
andActions
parameters.UserListItem
with theAdditionalAuthenticationConfigured
andAdditionalAuthentication
parameters.UserBasicInfo
with theAdditionalAuthentication
parameter.UserActions
with theCanGenerateBypassCode
parameter.UserNotificationOptions
with theAPIClientCredentialExpiry
parameter.
- Added new methods:
- Added API Client Credentials methods:
- CreateYourCredential and CreateCredential
- GetYourCredential and GetCredential
- UpdateYourCredential and UpdateCredential
- DeleteYourCredential and DeleteCredential
- ListYourCredentials and ListCredentials
- DeactivateYourCredential and DeactivateCredential
- DeactivateYourCredentials and DeactivateCredentials
- Added the
UserStatus
andAccountID
parameters to theUser
structure. - Added the GetPasswordPolicy method to get a password policy for an account.
- Added Helper APIs:
- Added new methods:
- ListUsersForProperty
- BlockUsers
- DisableIPAllowlist
- EnableIPAllowlist
- GetIPAllowlistStatus
ListAccountSwitchKeys
based on ListAccountSwitchKeys and ListYourAccountSwitchKeysLockAPIClient
based on LockAPIClient and LockYourAPIClient- UnlockAPIClient
- ListAPIClients
- CreateAPIClient
GetAPIClient
based on GetAPIClient and GetYourAPIClientUpdateAPIClient
based on UpdateAPIClient and UpdateYourAPIClientDeleteAPIClient
based on DeleteAPIClient and DeleteYourAPIClient- ListCIDRBlocks
- CreateCIDRBlock
- GetCIDRBlock
- UpdateCIDRBlock
- DeleteCIDRBlock
- ValidateCIDRBlock
- Updated these structures:
-
APPSEC
- Added the
ClientLists
field to theRuleConditions
andAttackGroupConditions
structures. - Added the
RequestBodyInspectionLimitOverride
field to these structures:GetAdvancedSettingsRequestBodyResponse
UpdateAdvancedSettingsRequestBodyRequest
UpdateAdvancedSettingsRequestBodyResponse
RemoveAdvancedSettingsRequestBodyRequest
RemoveAdvancedSettingsRequestBodyResponse
- Added the
-
IAM
- Added new methods:
- GetProperty
- ListProperties
- MoveProperty
MapPropertyIDToName
- to provide a property name for a given IAM property ID
- Added new methods:
-
PAPI
- Added a new method
MapPropertyNameToID
to provide a PAPI property ID for a given property name.
- Added a new method
-
General
- Added the
To
utility function in theptr
package to facilitate creating value pointers.
- Added the
-
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 the GetZonesDNSSecStatus method returning the current DNSSEC status for one or more zones.
- Deprecated these functions in the
tools
package (useptr.To
instead):BoolPtr
IntPtr
Int64Ptr
Float32Ptr
Float64Ptr
StringPtr
-
APPSEC
- Added the
CounterType
field to theCreateRatePolicyResponse
,UpdateRatePolicyResponse
,RemoveRatePolicyResponse
,GetRatePoliciesResponse
, andGetRatePolicyResponse
structures to support managing the rate policy counter type.
- Added the
-
BOTMAN
- Added the GetCustomBotCategoryItemSequence and UpdateCustomBotCategoryItemSequence methods.
-
HAPI
- Added a new method to return a certificate for an edge hostname.
- Added the
ProductID
,MapAlias
, andUseCases
fields to theGetEdgeHostnameResponse
structure.
-
APPSEC
- Updated the
Override
field in these structures 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 the policy level settings.
- Omitted
Prefetch
withinAdvancedOptions
in theGetExportConfigurationResponse
structure when empty.
- Updated the
-
CLOUDLETS
- Added validation that
ObjectMatchValue
is not supported withMatchType
query
inMatchRuleER
(#535).
- Added validation that
-
DNS
- Modified the
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 the
-
Image and Video Manager
- Added
SmartCrop
transformation.
- Added
-
Migrated to go 1.21.
-
CPS
- Split the request and response structures for create and update enrollment operations.
-
DNS
- Renamed these structures:
RecordsetQueryArgs
intoRecordSetQueryArgs
Recordsets
intoRecordSets
Recordset
intoRecordSet
MetadataH
intoMetadata
- Renamed these 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 the
RecordSets
interface intoRecordsets
. - Renamed these methods:
ListTsigKeys
intoListTSIGKeys
GetTsigKeyZones
intoGetTSIGKeyZones
GetTsigKeyAliases
intoGetTSIGKeyAliases
TsigKeyBulkUpdate
intoTSIGKeyBulkUpdate
GetTsigKey
intoGetTSIGKey
DeleteTsigKey
intoDeleteTSIGKey
UpdateTsigKey
intoUpdateTSIGKey
GetRecordsets
intoGetRecordSets
CreateRecordsets
intoCreateRecordSets
UpdateRecordsets
intoUpdateRecordSets
- Deleted these methods:
NewAuthorityResponse
NewChangeListResponse
NewRecordBody
NewRecordSetResponse
NewTsigKey
NewTsigQueryString
NewZone
NewZoneQueryString
NewZoneResponse
RecordToMap
- Unexported these methods:
FullIPv6
PadCoordinates
ValidateZone
- Renamed these structures:
-
GTM
- Renamed these structures:
AsAssignment
intoASAssignment
AsMap
intoASMap
AsMapList
intoASMapList
CidrAssignment
intoCIDRAssignment
CidrMap
intoCIDRMap
CidrMapList
intoCIDRMapList
CidrMapResponse
intoCIDRMapResponse
AsMapResponse
intoASMapResponse
HttpHeader
intoHTTPHeader
- Renamed these 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 the
CidrMaps
interface intoCIDRMaps
. - Renamed these methods:
ListAsMaps
intoListASMaps
GetAsMap
intoGetASMap
CreateAsMap
intoCreateASMap
DeleteAsMap
intoDeleteASMap
UpdateAsMap
intoUpdateASMap
ListCidrMaps
intoListCIDRMaps
GetCidrMap
intoGetCIDRMap
CreateCidrMap
intoCreateCIDRMap
DeleteCidrMap
intoDeleteCIDRMap
UpdateCidrMap
intoUpdateCIDRMap
- Deleted these methods:
NewASAssignment
NewAsMap
NewCidrAssignment
NewCidrMap
NewDatacenter
NewDatacenterBase
NewDatacenterResponse
NewDefaultDatacenter
NewDomain
NewGeoAssignment
NewHttpHeader
NewGeoMap
NewLivenessTest
NewLoadObject
NewProperty
NewResource
NewResourceInstance
NewResponseStatus
NewStaticRRSet
NewTrafficTarget
- Renamed these structures:
-
Added the default value of
application/json
for theAccept
header for all requests sent to API. -
APPSEC
- Added the
PenaltyBoxConditions
API - read and update. - Added the
EvalPenaltyBoxConditions
API - read and update.
- Added the
-
CPS
- Added the
ID
,OrgID
,ProductionSlots
,StagingSlots
, andAssignedSlots
fields to the response structures of theGetEnrollment
andListEnrollment
operations.
- Added the
-
GTM
- Added new fields:
SignAndServe
andSignAndServeAlgorithm
for theDomain
HTTPMethod
,HTTPRequestBody
,Pre2023SecurityPosture
, andAlternateCACertificates
for theLivenessTest
inProperty
Precedence
forTrafficTarget
inProperty
- Enhanced error details by adding the
Errors
field in theError
structure. - Added support for the creation of the
ranked-failover
properties.
- Added new fields:
- DNS
- Removed the
DeleteZone
method that was not working.
- Removed the
- PAPI
- Updated the documentation link for the
GetProperties
method.
- Updated the documentation link for the
- Edgeworkers
- Fixed the case when not providing an optional
note
field in theActivateVersion
method would cause activation to fail.
- Fixed the case when not providing an optional
-
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 the
ListGroups
method.
- Added the
-
Edgeworkers
- Added the
note
field to theActivation
andActivateVersion
structures for EdgeWorkers Activation.
- Added the
-
GTM
- Added new fields to the
DomainItem
structure.
- Added new fields to the
-
IVM
- Extended
OutputImage
for support ofAllowPristineOnDownsize
andPreferModernFormats
. - Extended
PolicyInputImage
for support ofServeStaleDuration
. - Extended
RolloutInfo
for support ofServeStaleEndTime
.
- Extended
- APPSEC
- Added the
updateLatestNetworkStatus
query parameter in theGetActivations
request to resolve drift on manual changes to infrastructure.
- Added the
-
APPSEC
- Added the
ASNControls
field to the UpdateIPGeoRequestand
IPGeoFirewall` structures to support firewall blocking by ASN client lists.
- Added the
-
BOTMAN
- Added the API support for Custom Code - read and update.
-
APPSEC
- Updated the
GetExportConfigurationResponse
structure to export the rate policyburstWindow
andcondition
fields.
- Updated the
-
Cloudlets
- Added the
MatchesAlways
field to the ER cloudlet.
- Added the
-
IAM
- Phone number is no longer required for IAM user for the
CreateUser
andUpdateUserInfo
methods.
- Phone number is no longer required for IAM user for the
-
ClientLists
- Updated the
GetClientListResponse
andUpdateClientListResponse
structures to include theGroupID
field.
- Updated the
-
GTM
- Added a custom error
ErrNotFound
that can be used to check if GTM API returned a 404 not found.
- Added a custom error
-
HAPI
- Added
GetChangeRequest
.
- Added
-
Updated the
yaml.v3
dependency.
- CloudWrapper
- Fixed the build for 32-bit systems.
-
[IMPORTANT] Added CloudWrapper API support:
- Capacities
- Configurations
- Locations
- MultiCDN
- Properties
-
[IMPORTANT] Added Client Lists API Support
- ClientLists
- GetClientLists
- Support filter by name or type
- GetClientList
- UpdateClientList
- UpdateClientListItems
- CreateClientList
- DeleteClientList
- GetClientLists
- Activations
- ClientLists
-
APPSEC
- Added Bot Management API Support:
- Custom Client Sequence - read and update.
- Added Bot Management API Support:
- APPSEC
- Added Bot Management API Support:
- Challenge Injection Rules - read and update.
- Added the
CreateSecurityPolicyWithDefaultProtections
method to theSecurityPolicy
interface to support creating a security policy with all available protections enabled.
- Updated marshaling of the PII learning setting.
- Added Bot Management API Support:
- Deprecated the Challenge Interceptions Rules.
- Deprecated these interfaces used to maintain individual policy protections:
ApiConstraintsProtection
IPGeoProtection
MalwareProtection
NetworkLayerProtection
RateProtection
ReputationProtection
SlowPostProtection
WAFProtection
- Deprecated the
CreateSecurityPolicy
method of theSecurityPolicy
interface.
- DataStream
- Updated the
connectors
details in the DataStream 2 API v2. - Updated the
GetProperties
andGetDatasetFields
methods in the DataStream 2 API v2. - Updated the
CreateStream
,GetStream
,UpdateStream
,DeleteStream
, andListStreams
methods in the DataStream 2 API v2. - Updated the
Activate
,Deactivate
,ActivationHistory
, andStream
details in the DataStream 2 API v2 and changed their corresponding response objects.
- Updated the
- APPSEC
- Updated the Geo control to include Action for Ukraine.
- Added the
AdvancedSettingsPIILearning
interface to support reading and updating of the PII learning setting.
- APPSEC
- Added error handling for the failed NetworkList client calls.
-
APPSEC
- Updated the malware policy
ContentTypes
to includeEncodedContentAttributes
. - Malware policy's
ContentTypes
is reported as part of an individual policy but is no longer included in the bulk report of all policies.
- Updated the malware policy
-
CLOUDLETS
- Updated
ActivatePolicyVersion
to also return list of triggered activations.
- Updated
-
PAPI
- Fixed the property variables fields – empty and null values are ignored.
- Removed the
ProductID
field from theGetEdgeHostname
response.
- APPSEC
- Omitted the
clientIdentifier
andadditionalMatchOptions
fields inGetExportConfigurationResponse
when empty.
- Omitted the
-
APPSEC
- Added the
AdvancedSettingsRequestBody
interface to support configuring the request size inspection limit.
- Added the
-
EDGEKV
-
Image and Video Manager
- Added a possible value of
avif
for theforcedFormats
andallowedFormats
fields.
- Added a possible value of
-
PAPI
- Added the
complianceRecord
field to theActivation
structure for PAPI activation.
- Added the
- APPSEC
- Removed the deprecated
EvalHost
andEvalProtectHost
interfaces. (Use theWAPSelectedHostnames
interface instead.) - Removed the deprecated
BypassNetworkList
interface. (Use theWAPBypassNetworkList
interface instead.)
- Removed the deprecated
- APPSEC
- Added these BotManager fields to
GetExportConfigurationResponse
:BotManagement
CustomBotCategories
CustomDefinedBots
CustomBotCategorySequence
CustomClients
ResponseActions
AdvancedSettings
- Added the
AdvancedSettingsAttackPayloadLogging
interface.
- Added these BotManager fields to
- Fixed an issue in Edgegrid v4 with parsing a hostname (#182).
-
Migrated to go 1.18.
-
PAPI
- Fixed the response structures for
GetAvailableBehaviors
andGetAvailableCriteria
:
- Fixed the response structures for
-
CPS
- Updated the
Accept
header to the latest schemaapplication/vnd.akamai.cps.enrollment.v11+json
for these endpoints:
- Updated the
-
APPSEC
- Fixed an incorrect return type structure in
UpdateBypassNetworkListsResponse
. - Returned
RatePolicyCondition
via a pointer in the response structures of theRatePolicy
APIs.
- Fixed an incorrect return type structure in
-
Replaced obsolete APIs documentation links with the new ones from https://techdocs.akamai.com.
-
APPSEC
- Added the
burstWindow
andcondition
fields toRatePolicy
.
- Added the
-
CPS
- Added the
preferredTrustChain
field to thecsr
structure (#351). - Set
utf-8 charset
in thecontent-type
header for requests.
- Added the
-
Fixed code errors in documentation examples (#177).
-
IAM
- Issued updating user information – removed validation on user update.
-
General
- Added badges to readme and improved code quality.
-
[IMPORTANT] Added Property Include API support:
- Includes
- Include Activations
- Include Rules
- Include Versions
- APPSEC
- Factored out the
PolicySecurityControls
structure.
- Factored out the
- CPS
- Deprecated the
UpdateChange()
function.
- Deprecated the
- CPS
ChangeManagementInfo
- get or acknowledge the change management information, get the change deployment information.Deployments
- list deployments, get the production deployment, get the staging deployment.DeploymentSchedules
- get the deployment schedule, update the deployment schedule.History
- get the DV history, get the certificate history, get the change history.PostVerification
- get or acknowledge the post verification warnings.ThirdPartyCSR
- get the third-party CSR, upload a certificate.
- Renamed the
configdns
package todns
. - Rename the
configgtm
package togtm
. - CPS
- Renamed these structures:
Challenges
toChallenge
andValidationRecords
toValidationRecord
. - Changed the fields' type:
NotAfter
andNotBefore
fields in theDeploymentSchedule
structure used in the response forGetChangeStatus
are*string
instead ofstring
.
- Renamed these structures:
- Datastream
- Added the
ListStreams
method. - Added new connectors:
Elasticsearch
,NewRelic
, andLoggly
. - Extended the Splunk and Custom HTTPS connectors mTLS certificates configuration.
- Extended the SumoLogic, Splunk, and Custom HTTPS connectors with the ability to specify custom HTTP headers.
- Added the
- APPSEC
- Fixed an incorrect JSON sent when applying the
appsec_ip_geo
resource in allow mode.
- Fixed an incorrect JSON sent when applying the
-
APPSEC
- Added new interfaces to support file malware scanning (FMS):
MalwareContentTypes
MalwarePolicy
MalwarePolicyAction
MalwareProtection
- Added the
GetRuleRecommendations
method to theTuningRecommendations
interface. - Added the deprecation notes for these:
- methods:
GetIPGeoProtections
GetNetworkLayerProtections
GetRateProtections
GetReputationProtections
GetSlowPostProtectionSetting
GetSlowPostProtections
GetWAFProtections
RemoveNetworkLayerProtection
RemovePolicyProtections
RemoveReputationProtection
- structures:
GetIPGeoProtectionsRequest
GetNetworkLayerProtectionsRequest
GetRateProtectionsRequest
GetReputationProtectionsRequest
GetSlowPostProtectionSettingRequest
GetSlowPostProtectionSettingResponse
GetSlowPostProtectionsRequest
GetWAFProtectionsRequest
RemoveNetworkLayerProtectionRequest
RemovePolicyProtectionsRequest
RemoveReputationProtectionRequest
- methods:
- Added new interfaces to support file malware scanning (FMS):
-
[IMPORTANT] Added Bot Management API Support:
- Akamai Bot Category - read
- Akamai Bot Category Action - read, update
- Akamai Defined Bot - read
- Bot Analytics Cookie - read, update
- Bot Analytics Cookie Values - read
- Bot Category Exception - read, update
- Bot Detection - read
- Bot Detection Action - read, update
- Bot Endpoint Coverage Report - read
- Bot Management Setting - read, update
- Challenge Action - create, read, update, delete
- Challenge Interception Rules - read, update
- Client Side Security - read, update
- Conditional Action - create, read, update, delete
- Custom Bot Category - create, read, update, delete
- Custom Bot Category Action - read, update
- Custom Bot Category Sequence - read, update
- Custom Client - create, read, update, delete
- Custom Defined Bot - create, read, update, delete
- Custom Deny Action - create, read, update, delete
- Javascript Injection - read, update
- Recategorized Akamai Defined Bot - create, read, update, delete
- Response Action - read
- Serve Alternate Action - create, read, update, delete
- Transactional Endpoint - create, read, update, delete
- Transactional Endpoint Protection - read, update
-
APPSEC
- Added the
xff
field to the custom rule conditions. - Added the
NotificationEmails
field to theActivation
structure.
- Added the
-
GTM
- Improved error messages.
-
CPS
- Added cps ListEnrollments.
- Extended
CreateEnrollment
with theAllowDuplicateCN
option.
- IAM
- Changed the IAM
GroupID
type toint64
.
- Changed the IAM
-
APPSEC
- Added the penalty box support for the security policy in evaluation mode.
-
HAPI
- EdgeHostname - update
-
IAM
- Blocked properties - read, update
- Group - create, read, update, delete
- Role - create, read, update, delete
- User - lock, unlock, TFA, set password, reset password
- APPSEC
- Fixed an incorrect error message on the activation failure.
- The
EffectiveTimePeriod
,SamplingRate
,LoggingOptions
, andOperation
fields of the variousCustomRule
response structures are now marshaled correctly.
- Image and Video Manager
- Added the new
ImQuery
transformation. - Added the new
PostBreakPointTransformationType
.
- Added the new
- Image and Video Manager
- The
default_value
field on variable in image policy should not be required. - Changed all primitive optional parameters to pointers.
- Corrected the
Anchor
field inRectangleShapeType
. - Value field for
NumberVariableInline
should be defined asfloat64
. - Renamed
PointShapeType.True
toPointShapeType.Y
, to match the OpenAPI definition. - Added the
Composite
transformation toPostBreakpointTransformations
. - Fixed
PostBreakpointTransformations.PolicyInputImage
.
- The
-
APPSEC
- Added the
WAPBypassNetworkLists
interface, to be used in preference to the deprecatedBypassNetworkLists
interface.
- Added the
-
Added support for the account switch keys from environment (#149).
-
[IMPORTANT] Added Image and Video Manager API support
- Policy Set - create, read, update, delete
- Policy - create, read, update, delete, rollback to previous version, view policy history
-
CLOUDLETS
- Support for RC cloudlet type (Request Control)
-
PAPI
- CP code - read, update
-
[IMPORTANT] Added EdgeWorkers and EdgeKV API support:
- EDGEWORKERS
- Ids - create, read, update, delete, clone
- Versions - create, read, delete, validate version bundle
- Activations - create, read, delete
- Deactivations - read, delete
- Resource tiers - read
- Reports - read
- Secure token - create
- Permission groups - read
- Properties - read
- Contracts - read
- EDGEKV
- Items - create, read, update, delete
- Namespaces - create, read, update
- Initialization - create, read
- Access token - create, read, delete
- EDGEWORKERS
-
APPSEC
- Updated the source for the evasive path match interface with links to documentation.
-
CLOUDLETS
- Added support for the AS (Audience Segmentation) cloudlet type.
- APPSEC
- Removed the deprecation notes for individual policy protection methods.
- CLOUDLETS
- Fixed validation for the ALB version DataCenter percent.
-
CLOUDLETS
- Added support for VP cloudlet type (Visitor Prioritization).
- Added support for CD cloudlet type (Continuous Deployment / Phased Release).
- Added support for FR cloudlet type (Forward Rewrite).
- Added support for AP cloudlet type (API Prioritization).
-
APPSEC
- Added support for Evasive Path Match feature.
- Deprecated the individual policy protection interface methods.
-
NETWORK LISTS
- Included
ContractID
andGroupID
inGetNetworkListResponse
.
- Included
-
[IMPORTANT] Added Cloudlets API support:
- Policy (Application Load Balancer) - create, read, update, delete policy
- Policy (Edge Redirector) - create, read, update, delete policy
- Policy activation - create, read
- Application Load Balancer configuration - create, update, read
- Activation for Application Load Balancer configuration - create, read
-
APPSEC
- Added support for advanced exceptions in ASE rules.
- Updated the
bypass-network-list
data source and resource for the multi-policy WAP.
- [IMPORTANT] Added the DataStream API support:
- Stream operations
- Stream activation operations
- Read access to various DataStream properties
- Added the HAPI v1 support:
- Delete edge hostname
- APPSEC
- Fixed incorrect comments/URL references in inline documentation.
-
APPSEC
- Got an evaluation attack group's or risk score group's action.
-
NETWORK LISTS
- Added support for
contract_id
andgroup_id
for network list create/update.
- Added support for
- APPSEC
- Removed these packages along with their unit tests and test data:
pkg/appsec/attack_group_action.go
pkg/appsec/attack_group_condition_exception.go
pkg/appsec/eval_rule_action.go
pkg/appsec/eval_rule_condition_exception.go
pkg/appsec/rule_action.go
pkg/appsec/rule_condition_exception.go
- Removed these packages along with their unit tests and test data:
- DNSv2
- Fixed parsing SVCB, HTTPS rdata.
-
[IMPORTANT] CPS - Added Certificate Provisioning API support:
- Enrollments - create, read, update, delete enrollments
- Change status API - get change status, cancel change
- DV certificate API - get and acknowledge DV challenges
- Pre verification warnings - get and acknowledge pre verification warnings
-
APPSEC
- Removed these packages along with their unit tests and test data:
pkg/appsec/api_constraints_protection.go
pkg/appsec/advanced_settings_pragma_header.go
pkg/appsec/attack_group.go
pkg/appsec/eval_rule.go
pkg/appsec/rule.go
pkg/appsec/ip_geo_protection.go
- Removed these packages along with their unit tests and test data:
- APPSEC
- Suppressed the 'null' text on output of empty/false values.
- Prevented configuration drift when reapplying configuration after importing or creating resources.
- PAPI
- Added support to provision default certs as part of the hostname request.
- Added a new cert status object in the hostname response if it exists.
Added support for the these operations in the Network Lists API v2:
- Create a network list.
- Update an existing network list.
- Get the existing network lists, including optional filtering by name or type.
- Subscribe to a network list.
- Activate a network list.
- PAPI - Fixed an issue with rules causing advanced locked behaviors to fail.
- PAPI
- Fixed an issue with the version and rule comments being dropped.
- Fixed client side validation to allow certain PAPI errors to pass through.
- APPSEC
- Custom Deny
- SIEM Setting
- Advanced Options Settings
- API Match Target
- API Request Constraint
- Create/Delete/Rename Security Policy
- Host Coverage / Edit Version Notes
- All WAP Features / WAP Hostname Evaluation
- Create Security Configuration
- Rename Security Configuration Version
- Delete Security Configuration Version
- Clone Security Configuration
- Import tool for adding existing resources to Terraform state
- DNS
- Added support for HTTPS, SVCB records to ParseRData.
- PAPI - Fixed validation on empty rule behaviors causing some properties with nested behaviors to fail.
- [IMPORTANT] IAM - New Identity and Access Management API Support.
- APPSEC - Extended list of supported endpoints from the APPSEC API:
- DDoS Protection - Rate Policy & Action
- DDoS Protection - Slowpost setting & Action
- Application Layer Protection - Rule Action, Exceptions & Conditions
- Application Layer Protection - Rule Evaluation Action, Exceptions & Conditions
- Application Layer Protection - Attack Group Action, Exceptions & Conditions
- Application Layer Protection - Rule Upgrade & Change Mode for Rule Eval
- Reputation Profile & Action
- Network Layer Control - IP & GEO setting
- PAPI - fixed property hostname validation for missing hostnames.
- PAPI - fixed minor typos in rules error messages.
- [IMPORTANT] APPSEC - added the Application Security API.
- [ENHANCEMENT] DNS - added the Bulk API endpoints.
- ALL - re-enabled global account switch key support in the
.edgerc
files. - PAPI - Edgehostname IPV6 support fix. Added enums with allowed values.
- PAPI - Edgehostname blank cname or egdehostname id fix.
- PAPI - propertyversion blank etag field fix.
- [IMPORTANT] Breaking changes from earlier clients. Updated the library to use the v2 directory structure.
- [ENHANCEMENT] PAPI - API error returns to the user when an activation or validation error occurs.
- [NOTE] Reorganized the library to prepare for additional APIs to be included in future versions.
- Official release for the EdgeGrid Golang library.
- DNSv2 - Zone create signature to pass blank instead of nil.
- PAPI - Return nil instead of error if no cp code was found.
- GTM - Datacenter API requires blank instead of nil.
- [AT-40][Add] Preliminary Logging CorrelationID.
- Corrected AKAMAICDN target parsing.
- Addeded endpoints for listing zones, creating, and updating multiple recordsets.
- Refactored recordsets into a separate source file.
- Added updates to Client-v1, Papi-v1.
- Added a lock around the http request creation.
- PAPI - added logging to PAPI endpoints.
- DNSv2 - Added CERT and TSLA record parsing. Removed MX record parsing.
- DNSv2 - Enhanced the RecordError functions.
- DNSv2 - filterZoneCreate check upper case Type.
- DNSv2 - Added an optional
arg
to bypass dns record lock for the create, update, and delete functions. The default preserves the prior behavior.
- DNSv2 Updates:
- Added additional fields, including TSIG, to a zone.
- Added support for alias zone types.
- Added the utility functions for rdata parsing and process.
- Added the
GetRecord
andGetRecordSet
functions. - Add an additional recordset metadata.
- Added http request/response logging.
- Added support for caching Edgehostnames and Products.
- Added support for cache in PAPI library for edgehostnames and products to minimize round trips to fetch repeated common data to avoid the WAF deny rule IPBLOCK-BURST4-54013 issue.
- Added support for caching Contract, Groups, and Cp Codes.
- cache to minimize round trips on repeated common data fetches to avoid the WAF deny rule IPBLOCK-BURST4-54013 issue.
- Added support for GTM.