fastly

package
v12.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 7, 2026 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Examples

Constants

View Source
const (
	// CreateBatchOperation represents a batching variant.
	CreateBatchOperation BatchOperation = "create"
	// UpdateBatchOperation represents a batching variant.
	UpdateBatchOperation BatchOperation = "update"
	// UpsertBatchOperation represents a batching variant.
	UpsertBatchOperation BatchOperation = "upsert"
	// DeleteBatchOperation represents a batching variant.
	DeleteBatchOperation BatchOperation = "delete"

	// BatchModifyMaximumOperations represents the maximum number of operations
	// that can be sent within a single batch request. This is currently not
	// documented in the API.
	BatchModifyMaximumOperations = 1000

	// MaximumDictionarySize represents the maximum number of items that can be
	// placed within an Edge Dictionary.
	MaximumDictionarySize = 25000

	// MaximumACLSize represents the maximum number of entries that can be placed
	// within an ACL.
	MaximumACLSize = 10000
)
View Source
const (
	// ServiceTypeVCL is the type for VCL services.
	ServiceTypeVCL = "vcl"
	// ServiceTypeWasm is the type for Wasm services.
	ServiceTypeWasm = "wasm"
)
View Source
const (
	// S3RedundancyStandard represents a redundancy variant.
	S3RedundancyStandard S3Redundancy = "standard"
	// S3RedundancyIntelligentTiering represents a redundancy variant.
	S3RedundancyIntelligentTiering S3Redundancy = "intelligent_tiering"
	// S3RedundancyStandardIA represents a redundancy variant.
	S3RedundancyStandardIA S3Redundancy = "standard_ia"
	// S3RedundancyOneZoneIA represents a redundancy variant.
	S3RedundancyOneZoneIA S3Redundancy = "onezone_ia"
	// S3RedundancyGlacierInstantRetrieval represents a redundancy variant.
	S3RedundancyGlacierInstantRetrieval S3Redundancy = "glacier_ir"
	// S3RedundancyGlacierFlexibleRetrieval represents a redundancy variant.
	S3RedundancyGlacierFlexibleRetrieval S3Redundancy = "glacier"
	// S3RedundancyGlacierDeepArchive represents a redundancy variant.
	S3RedundancyGlacierDeepArchive S3Redundancy = "deep_archive"
	// S3RedundancyReduced represents a redundancy variant.
	S3RedundancyReduced S3Redundancy = "reduced_redundancy"

	// S3ServerSideEncryptionAES represents an encryption variant.
	S3ServerSideEncryptionAES S3ServerSideEncryption = "AES256"
	// S3ServerSideEncryptionKMS represents an encryption variant.
	S3ServerSideEncryptionKMS S3ServerSideEncryption = "aws:kms"

	// S3AccessControlListPrivate represents a control list variant.
	S3AccessControlListPrivate S3AccessControlList = "private"
	// S3AccessControlListPublicRead represents a control list variant.
	S3AccessControlListPublicRead S3AccessControlList = "public-read"
	// S3AccessControlListPublicReadWrite represents a control list variant.
	S3AccessControlListPublicReadWrite S3AccessControlList = "public-read-write"
	// S3AccessControlListAWSExecRead represents a control list variant.
	S3AccessControlListAWSExecRead S3AccessControlList = "aws-exec-read"
	// S3AccessControlListAuthenticatedRead represents a control list variant.
	S3AccessControlListAuthenticatedRead S3AccessControlList = "authenticated-read"
	// S3AccessControlListBucketOwnerRead represents a control list variant.
	S3AccessControlListBucketOwnerRead S3AccessControlList = "bucket-owner-read"
	// S3AccessControlListBucketOwnerFullControl represents a control list variant.
	S3AccessControlListBucketOwnerFullControl S3AccessControlList = "bucket-owner-full-control"
)
View Source
const (
	SourceTypeStatsEdge   = "stats.edge"
	SourceTypeStatsDomain = "stats.domain"
	SourceTypeStatsOrigin = "stats.origin"
)
View Source
const APIKeyEnvVar = "FASTLY_API_KEY" //nolint: gosec

APIKeyEnvVar is the name of the environment variable where the Fastly API key should be read from.

View Source
const APIKeyHeader = "Fastly-Key" //nolint: gosec

APIKeyHeader is the name of the header that contains the Fastly API key.

View Source
const DebugEnvVar = "FASTLY_DEBUG_MODE"

DebugEnvVar is the name of an environment variable that can be used to switch the API client into debug mode.

View Source
const DefaultEndpoint = "https://api.fastly.com"

DefaultEndpoint is the default endpoint for Fastly. Since Fastly does not support an on-premise solution, this is likely to always be the default.

View Source
const DefaultRealtimeStatsEndpoint = "https://rt.fastly.com"

DefaultRealtimeStatsEndpoint is the realtime stats endpoint for Fastly.

View Source
const EndpointEnvVar = "FASTLY_API_URL"

EndpointEnvVar is the name of an environment variable that can be used to change the URL of API requests.

View Source
const JSONMimeType = "application/json"

JSONMimeType is the MIME type for the JSON data format.

View Source
const RealtimeStatsEndpointEnvVar = "FASTLY_RTS_URL"

RealtimeStatsEndpointEnvVar is the name of an environment variable that can be used to change the URL of realtime stats requests.

View Source
const UserAgentEnvVar = "FASTLY_USER_AGENT"

UserAgentEnvVar is the name of an environment variable that can be used to change the User-Agent of the http requests.

Variables

View Source
var DefaultDeliveryTestServiceID = "kKJb5bOFI47uHeBVluGfX1"

ID of the default Delivery service for testing.

ERLActions is a list of supported actions.

ERLLoggers is a list of supported logger types.

View Source
var ERLWindowSizes = []ERLWindowSize{
	ERLSize1,
	ERLSize10,
	ERLSize60,
}

ERLWindowSizes is a list of supported time window sizes.

View Source
var ErrCommonNameNotInDomains = NewFieldError("CommonName").Message("CommonName must be in Domains")

ErrCommonNameNotInDomains is an error that is returned when an input struct requires that the domain in "CommonName" is also in "Domains".

View Source
var ErrInvalidMethod = NewFieldError("Method").Message("invalid")

ErrInvalidMethod is an error that is returned when the input struct has an invalid Method value.

View Source
var ErrInvalidPermission = NewFieldError("Permission").Message("invalid")

ErrInvalidPermission is an error that is returned when an input struct has a "Permission" key, but the one provided is invalid.

View Source
var ErrInvalidType = NewFieldError("Type").Message(alertTypeDoesNotMatch)

ErrInvalidType is an error that is returned when an alert is being updated, but the alert is not of the correct type.

View Source
var ErrManagedLoggingEnabled = errors.New("managed logging already enabled")

ErrManagedLoggingEnabled is an error that indicates that managed logging was already enabled for a service.

View Source
var ErrMaxExceededEntries = NewFieldError("Entries").Message(batchModifyMaxExceeded)

ErrMaxExceededEntries is an error that is returned when an input struct specifies an "Entries" key value exceeding the maximum allowed.

View Source
var ErrMaxExceededItems = NewFieldError("Items").Message(batchModifyMaxExceeded)

ErrMaxExceededItems is an error that is returned when an input struct specifies an "Items" key value exceeding the maximum allowed.

View Source
var ErrMaxExceededRules = NewFieldError("Rules").Message(batchModifyMaxExceeded)

ErrMaxExceededRules is an error that is returned when an input struct specifies an "Rules" key value exceeding the maximum allowed.

View Source
var ErrMissingACLID = NewFieldError("ACLID")

ErrMissingACLID is an error that is returned when an input struct requires a "ACLID" key, but one was not set.

View Source
var ErrMissingAccessKeyID = NewFieldError("AccessKeyID")

ErrMissingAccessKeyID is an error that is returned when an input struct requires a "AccessKeyID" key, but one was not set.

View Source
var ErrMissingAction = NewFieldError("Action")

ErrMissingAction is an error that is returned when an input struct requires a "Action" key, but one was not set.

View Source
var ErrMissingAddress = NewFieldError("Address")

ErrMissingAddress is an error that is returned when an input struct requires a "Address" key, but one was not set.

View Source
var ErrMissingAlertID = NewFieldError("AlertID")

ErrMissingAlertID is an error that is returned when an input struct requires a "AlertID" key, but one was not set.

View Source
var ErrMissingBackend = NewFieldError("Backend")

ErrMissingBackend is an error that is returned when an input struct requires a "Backend" key, but one was not set.

View Source
var ErrMissingCertBlob = NewFieldError("CertBlob")

ErrMissingCertBlob is an error that is returned when an input struct requires a "CertBlob" key, but one was not set.

View Source
var ErrMissingCertBundle = NewFieldError("CertBundle")

ErrMissingCertBundle is an error that is returned when an input struct requires a "CertBundle" key, but one was not set.

View Source
var ErrMissingCertificateMTLS = NewFieldError("Certificate, MutualAuthentication").Message("at least one of the available optional fields is required")

ErrMissingCertificateMTLS is an error that is returned when an input struct requires either a "Certificate" or "MutualAuthentication" key, but neither was set.

View Source
var ErrMissingComputeACLID = NewFieldError("ComputeACLID")

ErrMissingComputeACLID is an error that is returned when an input struct requires a "ComputeACLID" key, but one was not set.

View Source
var ErrMissingComputeACLIP = NewFieldError("ComputeACLIP")

ErrMissingComputeACLIP is an error that is returned when an input struct requires a "ComputeACLIP" key, but one was not set.

View Source
var ErrMissingConditions = NewFieldError("Conditions")

ErrMissingConditions is an error that is returned when an input struct requires a "Conditions" key, but one was not set.

View Source
var ErrMissingConfig = NewFieldError("Config")

ErrMissingConfig is an error that is returned when an input struct requires a "Config" key, but one was not set.

View Source
var ErrMissingContent = NewFieldError("Content")

ErrMissingContent is an error that is returned when an input struct requires a "Content" key, but one was not set.

View Source
var ErrMissingCustomerID = NewFieldError("CustomerID")

ErrMissingCustomerID is an error that is returned when an input struct requires a "CustomerID" key, but one was not set.

View Source
var ErrMissingDescription = NewFieldError("Description")

ErrMissingDescription is an error that is returned when an input struct requires a "Description" key, but one was not set.

View Source
var ErrMissingDictionaryID = NewFieldError("DictionaryID")

ErrMissingDictionaryID is an error that is returned when an input struct requires a "DictionaryID" key, but one was not set.

View Source
var ErrMissingDirector = NewFieldError("Director")

ErrMissingDirector is an error that is returned when an input struct requires a "Director" key, but one was not set.

View Source
var ErrMissingDomain = NewFieldError("Domain")

ErrMissingDomain is an error that is returned when an input struct requires a "Domain" key, but one was not set.

View Source
var ErrMissingDomainID = NewFieldError("DomainID")

ErrMissingDomainID is an error that is returned when an input struct requires a "DomainID" key, but one was not set.

View Source
var ErrMissingDomainQuery = NewFieldError("Query")

ErrMissingDomainQuery is an error that is returned when an input struct requires a "Query" key, but one was not set.

View Source
var ErrMissingERLID = NewFieldError("ERLID")

ErrMissingERLID is an error that is returned when an input struct requires an "ERLID" key, but one was not set.

View Source
var ErrMissingEntries = NewFieldError("Entries")

ErrMissingEntries is an error that is returned when an input struct requires a "Entries" key, but one was not set.

View Source
var ErrMissingEntryID = NewFieldError("EntryID")

ErrMissingEntryID is an error that is returned when an input struct requires a "EntryID" key, but one was not set.

View Source
var ErrMissingEventID = NewFieldError("EventID")

ErrMissingEventID is an error that is returned when an input struct requires a "EventID" key, but one was not set.

View Source
var ErrMissingEvents = NewFieldError("Events")

ErrMissingEvents is an error that is returned when an input struct requires a "Events" key, but one was not set.

View Source
var ErrMissingField = NewFieldError("Field")

ErrMissingField is an error that is returned when an input struct requires a "Field" key, but one was not set.

View Source
var ErrMissingFrom = NewFieldError("From")

ErrMissingFrom is an error that is returned when an input struct requires a "From" key, but one was not set.

View Source
var ErrMissingHost = NewFieldError("Host")

ErrMissingHost is an error that is returned when an input struct requires an "Host" key, but one was not set.

View Source
var ErrMissingID = NewFieldError("ID")

ErrMissingID is an error that is returned when an input struct requires a "ID" key, but one was not set.

View Source
var ErrMissingIP = NewFieldError("IP")

ErrMissingIP is an error that is returned when an input struct requires a "IP" key, but one was not set.

View Source
var ErrMissingImageOptimizerDefaultSetting = NewFieldError("ResizeFilter, Webp, WebpQuality, JpegType, JpegQuality, Upscale, AllowVideo").Message("at least one of the available optional fields is required")

ErrMissingImageOptimizerSettings is an error that is returned when an input struct requires one of the optional Image Optimizer default settings, but none are set.

View Source
var ErrMissingIntegrationID = NewFieldError("IntegrationID")

ErrMissingIntegrationID is an error that is returned when an input struct requires a "IntegrationID" key, but one was not set.

View Source
var ErrMissingIntermediatesBlob = NewFieldError("IntermediatesBlob")

ErrMissingIntermediatesBlob is an error that is returned when an input struct requires a "IntermediatesBlob" key, but one was not set.

View Source
var ErrMissingInterval = NewFieldError("Interval")

ErrMissingInterval is an error that is returned when an input struct requires a "Interval" key, but one was not set.

View Source
var ErrMissingIsExpired = NewFieldError("IsExpired")

ErrMissingIsExpired is an error that is returned when an input struct requires an "IsExpired" key, but one was not set.

View Source
var ErrMissingItemKey = NewFieldError("ItemKey")

ErrMissingItemKey is an error that is returned when an input struct requires a "ItemKey" key, but one was not set.

View Source
var ErrMissingKey = NewFieldError("Key")

ErrMissingKey is an error that is returned when an input struct requires a "Key" key, but one was not set.

View Source
var ErrMissingKeys = NewFieldError("Keys")

ErrMissingKeys is an error that is returned when an input struct requires a "Keys" key, but one was not set.

View Source
var ErrMissingKind = NewFieldError("Kind")

ErrMissingKind is an error that is returned when an input struct requires a "Kind" key, but one was not set.

View Source
var ErrMissingLimit = NewFieldError("Limit")

ErrMissingLimit is an error that is returned when an input struct requires a "Limit" key, but one was not set.

View Source
var ErrMissingListID = NewFieldError("ListID")

ErrMissingListID is an error that is returned when an input struct requires a "ListID" key, but one was not set.

View Source
var ErrMissingLogin = NewFieldError("Login")

ErrMissingLogin is an error that is returned when an input struct requires a "Login" key, but one was not set.

View Source
var ErrMissingMetrics = NewFieldError("Metrics")

ErrMissingMetrics is an error that is returned when an input struct requires a "Metrics" key, but one was not set.

View Source
var ErrMissingMode = NewFieldError("Mode")

ErrMissingMode is an error that is returned when an input struct requires a "Mode" key, but one was not set.

View Source
var ErrMissingMonth = NewFieldError("Month")

ErrMissingMonth is an error that is returned when an input struct requires a "Month" key, but one was not set.

View Source
var ErrMissingName = NewFieldError("Name")

ErrMissingName is an error that is returned when an input struct requires a "Name" key, but one was not set.

View Source
var ErrMissingNameValue = NewFieldError("Name").Message("service name can't be an empty value")

ErrMissingNameValue is an error that is returned when an input struct requires a "Name" key, but one was not set.

View Source
var ErrMissingNewName = NewFieldError("NewName")

ErrMissingNewName is an error that is returned when an input struct requires a "NewName" key, but one was not set.

View Source
var ErrMissingNumber = NewFieldError("Number")

ErrMissingNumber is an error that is returned when an input struct requires a "Number" key, but one was not set.

View Source
var ErrMissingOptionalNameComment = NewFieldError("Name, Comment").Message("at least one of the available 'optional' fields is required")

ErrMissingOptionalNameComment is an error that is returned when an input struct requires either a "Name" or "Comment" key, but one was not set.

View Source
var ErrMissingPermission = NewFieldError("Permission")

ErrMissingPermission is an error that is returned when an input struct requires a "Permission" key, but one was not set.

View Source
var ErrMissingPoolID = NewFieldError("PoolID")

ErrMissingPoolID is an error that is returned when an input struct requires a "PoolID" key, but one was not set.

View Source
var ErrMissingProductID = NewFieldError("ProductID")

ErrMissingProductID is an error that is returned when an input struct requires a "ProductID" key, but one was not set.

View Source
var ErrMissingProject = NewFieldError("Project")

ErrMissingProject is an error that is returned when an input struct requires a "Project" key, but one was not set.

View Source
var ErrMissingRedactionID = NewFieldError("RedactionID")

ErrMissingRedactionID is an error that is returned when an input struct requires a "RedactionID" key, but one was not set.

View Source
var ErrMissingRequestID = NewFieldError("RequestID")

ErrMissingRequestID is an error that is returned when an input struct requires a "RequestID" key, but one was not set.

View Source
var ErrMissingResourceID = NewFieldError("ResourceID")

ErrMissingResourceID is an error that is returned when an input struct requires a "ResourceID" key, but one was not set.

View Source
var ErrMissingRuleID = NewFieldError("RuleID")

ErrMissingRuleID is an error that is returned when an input struct requires a "RuleID" key, but one was not set.

View Source
var ErrMissingScope = NewFieldError("Scope")

ErrMissingScope is an error that is returned when an input struct requires a "Scope" key, but one was not set.

View Source
var ErrMissingSecret = NewFieldError("Secret")

ErrMissingSecret is an error that is returned when an input struct requires a "Secret" key, but one was not set.

View Source
var ErrMissingServer = NewFieldError("Server")

ErrMissingServer is an error that is returned when an input struct requires a "Server" key, but one was not set.

View Source
var ErrMissingServerSideEncryptionKMSKeyID = NewFieldError("ServerSideEncryptionKMSKeyID")

ErrMissingServerSideEncryptionKMSKeyID is an error that is returned when an input struct requires a "ServerSideEncryptionKMSKeyID" key, but one was not set.

View Source
var ErrMissingServiceAuthorizationsService = NewFieldError("Service").Message("SAService requires an ID")

ErrMissingServiceAuthorizationsService is an error that is returned when an input struct requires a "Service" key of type SAService, but one was not set or was misconfigured.

View Source
var ErrMissingServiceAuthorizationsUser = NewFieldError("User").Message("SAUser requires an ID")

ErrMissingServiceAuthorizationsUser is an error that is returned when an input struct requires a "User" key of type SAUser, but one was not set or was misconfigured.

View Source
var ErrMissingServiceID = NewFieldError("ServiceID")

ErrMissingServiceID is an error that is returned when an input struct requires a "ServiceID" key, but one was not set.

View Source
var ErrMissingServiceVersion = NewFieldError("ServiceVersion")

ErrMissingServiceVersion is an error that is returned when an input struct requires a "ServiceVersion" key, but one was not set.

View Source
var ErrMissingSignal = NewFieldError("Signal")

ErrMissingSignal is an error that is returned when an input struct requires a "Signal" key, but one was not set.

View Source
var ErrMissingSignalID = NewFieldError("SignalID")

ErrMissingSignalID is an error that is returned when an input struct requires a "SignalID" key, but one was not set.

View Source
var ErrMissingSite = NewFieldError("Site")

ErrMissingSite is an error that is returned when an input struct requires a "Site" key, but one was not set.

View Source
var ErrMissingSnippetID = NewFieldError("SnippetID")

ErrMissingSnippetID is an error that is returned when an input struct requires a "SnippetID" key, but one was not set.

View Source
var ErrMissingStart = NewFieldError("Start")

ErrMissingStart is an error that is returned when an input struct requires a "Start" key, but one was not set.

View Source
var ErrMissingStoreID = NewFieldError("StoreID")

ErrMissingStoreID is an error that is returned when an input struct requires a "StoreID" key, but one was not set.

View Source
var ErrMissingTLSCertificate = NewFieldError("TLSCertificate")

ErrMissingTLSCertificate is an error that is returned when an input struct requires a "TLSCertificate" key, but one was not set.

View Source
var ErrMissingTLSConfiguration = NewFieldError("TLSConfiguration")

ErrMissingTLSConfiguration is an error that is returned when an input struct requires a "TLSConfiguration" key, but one was not set.

View Source
var ErrMissingTLSDomain = NewFieldError("TLSDomain")

ErrMissingTLSDomain is an error that is returned when an input struct requires a "TLSDomain" key, but one was not set.

View Source
var ErrMissingThresholdID = NewFieldError("ThresholdID")

ErrMissingThresholdID is an error that is returned when an input struct requires a "ThresholdID" key, but one was not set.

View Source
var ErrMissingTo = NewFieldError("To")

ErrMissingTo is an error that is returned when an input struct requires a "To" key, but one was not set.

View Source
var ErrMissingToken = NewFieldError("Token")

ErrMissingToken is an error that is returned when an input struct requires a "Token" key, but one was not set.

View Source
var ErrMissingTokenID = errors.New("missing required field 'TokenID'")

ErrMissingTokenID is an error that is returned when an input struct requires a "TokenID" key, but one was not set.

View Source
var ErrMissingTokensValue = NewFieldError("Tokens").Message("expect at least one token")

ErrMissingTokensValue is an error that is returned when an input struct requires a "Tokens" key, but there needs to be at least one token entry.

View Source
var ErrMissingType = NewFieldError("Type")

ErrMissingType is an error that is returned when an input struct requires a "Type" key, but one was not set.

View Source
var ErrMissingURL = NewFieldError("URL")

ErrMissingURL is an error that is returned when an input struct requires a "URL" key, but one was not set.

View Source
var ErrMissingUserID = NewFieldError("UserID")

ErrMissingUserID is an error that is returned when an input struct requires a "UserID" key, but one was not set.

View Source
var ErrMissingUsername = NewFieldError("Username")

ErrMissingUsername is an error that is returned when an input struct requires a "Username" key, but one was not set.

View Source
var ErrMissingValue = NewFieldError("Value")

ErrMissingValue is an error that is returned when an input struct requires a "Value" key, but one was not set.

View Source
var ErrMissingVirtualPatchID = NewFieldError("Virtual Patch")

ErrMissingVirtualPatchID is an error that is returned when an input struct requires a "VirtualPatchID" key, but one was not set.

View Source
var ErrMissingWAFActiveRule = NewFieldError("Rules").Message("expect at least one WAFActiveRule")

ErrMissingWAFActiveRule is an error that is returned when an input struct requires a "Rules" key, but there needs to be at least one WAFActiveRule entry.

View Source
var ErrMissingWAFID = NewFieldError("WAFID")

ErrMissingWAFID is an error that is returned when an input struct requires a "WAFID" key, but one was not set.

View Source
var ErrMissingWAFRuleExclusion = NewFieldError("WAFRuleExclusion")

ErrMissingWAFRuleExclusion is an error that is returned when an input struct requires a "WAFRuleExclusion" key, but one was not set.

View Source
var ErrMissingWAFRuleExclusionNumber = NewFieldError("WAFRuleExclusionNumber")

ErrMissingWAFRuleExclusionNumber is an error that is returned when an input struct requires a "WAFRuleExclusionNumber" key, but one was not set.

View Source
var ErrMissingWAFVersionID = NewFieldError("WAFVersionID")

ErrMissingWAFVersionID is an error that is returned when an input struct requires a "WAFVersionID" key, but one was not set.

View Source
var ErrMissingWAFVersionNumber = NewFieldError("WAFVersionNumber")

ErrMissingWAFVersionNumber is an error that is returned when an input struct requires a "WAFVersionNumber" key, but one was not set.

View Source
var ErrMissingWebhook = NewFieldError("Webhook")

ErrMissingWebhook is an error that is returned when an input struct requires a "Webhook" key, but one was not set.

View Source
var ErrMissingWorkspaceID = NewFieldError("WorkspaceID")

ErrMissingWorkspaceID is an error that is returned when an input struct requires a "WorkspaceID" key, but one was not set.

View Source
var ErrMissingYear = NewFieldError("Year")

ErrMissingYear is an error that is returned when an input struct requires a "Year" key, but one was not set.

View Source
var ErrNotImplemented = errors.New("not implemented")

ErrNotImplemented is a generic error indicating that something is not yet implemented.

View Source
var ErrNotOK = errors.New("not ok")

ErrNotOK is a generic error indicating that something is not okay.

View Source
var ErrStatusNotOk = errors.New("unexpected 'status' field in API response body")

ErrStatusNotOk is an error that indicates the response body returned by the Fastly API was not `{"status": "ok"}`.

View Source
var ErrTokenEmpty = NewFieldError("Token").Message(emptyTokenInvalid)

ErrTokenEmpty is an error that is returned when an input struct specifies an "Token" key value which the user has set to an empty string.

View Source
var ProjectURL = "github.com/fastly/go-fastly"

ProjectURL is the url for this library.

View Source
var ProjectVersion = "12.1.1"

ProjectVersion is the version of this library.

View Source
var TestClient = DefaultClient()

TestClient is the test client.

View Source
var TestComputeServiceID = computeServiceIDForTest()

ID of the Compute service for testing.

View Source
var TestDeliveryServiceID = deliveryServiceIDForTest()

ID of the Delivery service for testing.

View Source
var TestNGWAFWorkspaceID = ngwafWorkspaceIDForTest()

ID of the NGWAF workspace for testing.

View Source
var TestStatsClient = NewRealtimeStatsClient()

TestStatsClient is the test client for realtime stats.

View Source
var UserAgent = fmt.Sprintf("FastlyGo/%s (+%s; %s)",
	ProjectVersion, ProjectURL, runtime.Version())

UserAgent is the user agent for this particular client.

Functions

func DecodeBodyMap

func DecodeBodyMap(body io.Reader, out any) error

DecodeBodyMap is used to decode an HTTP response body into a mapstructure struct.

func MakePackagePath

func MakePackagePath(serviceID string, serviceVersion int) (string, error)

MakePackagePath ensures we create the correct REST path for referencing packages in the API.

func NewContextForResourceID

func NewContextForResourceID(ctx context.Context, id string) context.Context

NewContextForResourceID returns a context.Context which contains the resource ID specified in the id parameter.

This context.Context should be passed to the various mutating request methods of fastly.Client so that those request methods can serialize concurrent requests against the same resource.

func NullString

func NullString(v string) *string

NullString is a helper that returns a pointer to the string value passed in or nil if the string is empty.

NOTE: historically this has only been utilized by https://github.com/fastly/terraform-provider-fastly

func Record

func Record(t *testing.T, fixture string, f func(*Client))

func RecordIgnoreBody

func RecordIgnoreBody(t *testing.T, fixture string, f func(*Client))

func RecordRealtimeStats

func RecordRealtimeStats(t *testing.T, fixture string, f func(*RTSClient))

func ToPointer

func ToPointer[T MultiConstraint](v T) *T

ToPointer converts T to *T.

func ToSafeURL

func ToSafeURL(unsafeComponents ...string) string

ToSafeURL produces a safe (no path traversal, no unsafe characters) URL from the path components passed in.

Unlike the normal behavior of url.JoinPath, this function skips ".." components, ensuring that user-provided components cannot remove code-provided components from the resulting path.

func ToValue

func ToValue[T MultiConstraint](v *T) T

ToValue converts *T to T. If v is nil, then return T's zero value.

func WithCalculationMethod

func WithCalculationMethod(calculationMethod CalculationMethod) dashboardItemOption

func WithFormat

func WithFormat(format VisualizationFormat) dashboardItemOption

func WithSpan

func WithSpan(span uint8) dashboardItemOption

func WithSubtitle

func WithSubtitle(subtitle string) dashboardItemOption

func WithTitle

func WithTitle(title string) dashboardItemOption

Types

type ACL

type ACL struct {
	CreatedAt      *time.Time `mapstructure:"created_at"`
	DeletedAt      *time.Time `mapstructure:"deleted_at"`
	ACLID          *string    `mapstructure:"id"`
	Name           *string    `mapstructure:"name"`
	ServiceID      *string    `mapstructure:"service_id"`
	ServiceVersion *int       `mapstructure:"version"`
	UpdatedAt      *time.Time `mapstructure:"updated_at"`
}

ACL represents a server response from the Fastly API.

type ACLEntry

type ACLEntry struct {
	ACLID     *string    `mapstructure:"acl_id"`
	Comment   *string    `mapstructure:"comment"`
	CreatedAt *time.Time `mapstructure:"created_at"`
	DeletedAt *time.Time `mapstructure:"deleted_at"`
	EntryID   *string    `mapstructure:"id"`
	IP        *string    `mapstructure:"ip"`
	Negated   *bool      `mapstructure:"negated"`
	ServiceID *string    `mapstructure:"service_id"`
	Subnet    *int       `mapstructure:"subnet"`
	UpdatedAt *time.Time `mapstructure:"updated_at"`
}

ACLEntry represents a server response from the Fastly API.

type ActivateVCLInput

type ActivateVCLInput struct {
	// Name is the name of the VCL to mark as main (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ActivateVCLInput is used as input to the ActivateVCL function.

type ActivateVersionInput

type ActivateVersionInput struct {
	// Environment is the Fastly environment to activate this version to.
	Environment string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ActivateVersionInput is the input to the ActivateVersion function.

type AlertDefinition

type AlertDefinition struct {
	CreatedAt          time.Time           `json:"created_at"`
	Description        string              `json:"description"`
	Dimensions         map[string][]string `json:"dimensions"`
	EvaluationStrategy map[string]any      `json:"evaluation_strategy"`
	ID                 string              `json:"id"`
	IntegrationIDs     []string            `json:"integration_ids"`
	Metric             string              `json:"metric"`
	Name               string              `json:"name"`
	ServiceID          string              `json:"service_id"`
	Source             string              `json:"source"`
	UpdatedAt          time.Time           `json:"updated_at"`
}

AlertDefinition holds the configuration for one alert.

type AlertDefinitionsResponse

type AlertDefinitionsResponse struct {
	Data []AlertDefinition `json:"data"`
	Meta AlertsMeta        `json:"meta"`
}

AlertDefinitionsResponse is the response for an alert definitions query.

type AlertHistory

type AlertHistory struct {
	Definition   AlertDefinition `json:"definition"`
	DefinitionID string          `json:"definition_id"`
	End          time.Time       `json:"end"`
	ID           string          `json:"id"`
	Start        time.Time       `json:"start"`
	Status       string          `json:"status"`
}

AlertHistory describes the status of an alert definition over a time range.

type AlertHistoryResponse

type AlertHistoryResponse struct {
	Data []AlertHistory `json:"data"`
	Meta AlertsMeta     `json:"meta"`
}

AlertHistoryResponse is the response for an alert history query.

type AlertsMeta

type AlertsMeta struct {
	Limit      int    `json:"limit"`
	NextCursor string `json:"next_cursor"`
	Sort       string `json:"sort"`
	Total      int    `json:"total"`
}

AlertsMeta holds metadata about an alerts query.

type AutomationToken

type AutomationToken struct {
	AccessToken *string              `mapstructure:"access_token"`
	CreatedAt   *time.Time           `mapstructure:"created_at"`
	ExpiresAt   *time.Time           `mapstructure:"expires_at"`
	IP          *string              `mapstructure:"ip"`
	LastUsedAt  *time.Time           `mapstructure:"last_used_at"`
	Name        *string              `mapstructure:"name"`
	Role        *AutomationTokenRole `mapstructure:"role"`
	Scope       *TokenScope          `mapstructure:"scope"`
	Services    []string             `mapstructure:"services"`
	TLSAccess   *bool                `mapstructure:"tls_access"`
	TokenID     *string              `mapstructure:"id"`
	UserID      *string              `mapstructure:"user_id"`
	CustomerID  *string              `mapstructure:"customer_id"`
}

AutomationToken represents an API token which allows non-human clients to authenticate requests to the Fastly API.

type AutomationTokenPaginator

type AutomationTokenPaginator struct {
	Data []*AutomationToken           `mapstructure:"data"`
	Meta AutomationTokenPaginatorMeta `mapstructure:"meta"`
}

AutomationTokenPaginator is used for pagination on AutomationToken endpoints. as they return JSONAPI data.

type AutomationTokenPaginatorMeta

type AutomationTokenPaginatorMeta struct {
	CurrentPage int `mapstructure:"current_page"`
	PerPage     int `mapstructure:"per_page"`
	RecordCount int `mapstructure:"record_count"`
	TotalPages  int `mapstructure:"total_pages"`
}

AutomationTokenPaginatorMeta represents the metadata for an AutomationTokenPaginator.

type AutomationTokenRole

type AutomationTokenRole string

AutomationTokenRole is used to match possible automation token roles.

const (
	// BillingRole allows view access to basic information about service configurations,
	// invoices, and account billing history.
	BillingRole AutomationTokenRole = "billing"
	// EngineerRole allows creating services and managing their configurations.
	EngineerRole AutomationTokenRole = "engineer"
	// UserRole allows view access to basic information about service configurations,
	// and controls.
	UserRole AutomationTokenRole = "user"
)

type Backend

type Backend struct {
	Address             *string    `mapstructure:"address"`
	AutoLoadbalance     *bool      `mapstructure:"auto_loadbalance"`
	BetweenBytesTimeout *int       `mapstructure:"between_bytes_timeout"`
	Comment             *string    `mapstructure:"comment"`
	ConnectTimeout      *int       `mapstructure:"connect_timeout"`
	CreatedAt           *time.Time `mapstructure:"created_at"`
	DeletedAt           *time.Time `mapstructure:"deleted_at"`
	ErrorThreshold      *int       `mapstructure:"error_threshold"`
	FirstByteTimeout    *int       `mapstructure:"first_byte_timeout"`
	HealthCheck         *string    `mapstructure:"healthcheck"`
	Hostname            *string    `mapstructure:"hostname"`
	KeepAliveTime       *int       `mapstructure:"keepalive_time"`
	MaxConn             *int       `mapstructure:"max_conn"`
	MaxTLSVersion       *string    `mapstructure:"max_tls_version"`
	MinTLSVersion       *string    `mapstructure:"min_tls_version"`
	Name                *string    `mapstructure:"name"`
	OverrideHost        *string    `mapstructure:"override_host"`
	Port                *int       `mapstructure:"port"`
	PreferIPv6          *bool      `mapstructure:"prefer_ipv6"`
	RequestCondition    *string    `mapstructure:"request_condition"`
	ShareKey            *string    `mapstructure:"share_key"`
	SSLCACert           *string    `mapstructure:"ssl_ca_cert"`
	SSLCertHostname     *string    `mapstructure:"ssl_cert_hostname"`
	SSLCheckCert        *bool      `mapstructure:"ssl_check_cert"`
	SSLCiphers          *string    `mapstructure:"ssl_ciphers"`
	SSLClientCert       *string    `mapstructure:"ssl_client_cert"`
	SSLClientKey        *string    `mapstructure:"ssl_client_key"`
	SSLSNIHostname      *string    `mapstructure:"ssl_sni_hostname"`
	ServiceID           *string    `mapstructure:"service_id"`
	ServiceVersion      *int       `mapstructure:"version"`
	Shield              *string    `mapstructure:"shield"`
	TCPKeepAliveEnable  *bool      `mapstructure:"tcp_keepalive_enable"`
	TCPKeepAliveIntvl   *int       `mapstructure:"tcp_keepalive_interval"`
	TCPKeepAliveProbes  *int       `mapstructure:"tcp_keepalive_probes"`
	TCPKeepAliveTime    *int       `mapstructure:"tcp_keepalive_time"`
	UpdatedAt           *time.Time `mapstructure:"updated_at"`
	UseSSL              *bool      `mapstructure:"use_ssl"`
	Weight              *int       `mapstructure:"weight"`
}

Backend represents a backend response from the Fastly API.

type BatchACLEntry

type BatchACLEntry struct {
	// Comment is a freeform descriptive note.
	Comment *string `json:"comment,omitempty"`
	// EntryID is an alphanumeric string identifying an ACL Entry.
	EntryID *string `json:"id,omitempty"`
	// IP is an IP address.
	IP *string `json:"ip,omitempty"`
	// Negated is whether to negate the match. Useful primarily when creating individual exceptions to larger subnets.
	Negated *Compatibool `json:"negated,omitempty"`
	// Operation is a batching operation variant.
	Operation *BatchOperation `json:"op"`
	// Subnet is the number of bits for the subnet mask applied to the IP address.
	Subnet *int `json:"subnet,omitempty"`
}

BatchACLEntry represents a single ACL entry.

type BatchConfigStoreItem

type BatchConfigStoreItem struct {
	// ItemKey is an item key (maximum 256 characters).
	ItemKey string `json:"item_key"`
	// ItemValue is an item value (maximum 8000 characters).
	ItemValue string `json:"item_value"`
	// Operation is a batching operation variant.
	Operation BatchOperation `json:"op"`
}

BatchDictionaryItem represents a dictionary item.

type BatchDeleteTokensInput

type BatchDeleteTokensInput struct {
	// Tokens is a list of alphanumeric strings, each identifying a token.
	Tokens []*BatchToken
}

BatchDeleteTokensInput is used as input to BatchDeleteTokens.

type BatchDictionaryItem

type BatchDictionaryItem struct {
	// ItemKey is an item key (maximum 256 characters).
	ItemKey *string `json:"item_key"`
	// ItemValue is an item value (maximum 8000 characters).
	ItemValue *string `json:"item_value"`
	// Operation is a batching operation variant.
	Operation *BatchOperation `json:"op"`
}

BatchDictionaryItem represents a dictionary item.

type BatchModifyACLEntriesInput

type BatchModifyACLEntriesInput struct {
	// ACLID is an alphanumeric string identifying a ACL (required).
	ACLID string `json:"-"`
	// Entries is a list of ACL entries.
	Entries []*BatchACLEntry `json:"entries"`
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string `json:"-"`
}

BatchModifyACLEntriesInput is the input parameter to the BatchModifyACLEntries function.

type BatchModifyConfigStoreItemsInput

type BatchModifyConfigStoreItemsInput struct {
	// Items is a list of Config Store items.
	Items []*BatchConfigStoreItem `json:"items"`
	// StoreID is the ID of the Config Store to modify items for (required).
	StoreID string `json:"-"`
}

BatchModifyConfigStoreItemsInput is the input parameter to the BatchModifyConfigStoreItems function.

type BatchModifyDictionaryItemsInput

type BatchModifyDictionaryItemsInput struct {
	// DictionaryID is the ID of the dictionary to modify items for (required).
	DictionaryID string `json:"-"`
	// Items is a list of dictionary items.
	Items []*BatchDictionaryItem `json:"items"`
	// ServiceID is the ID of the service (required).
	ServiceID string `json:"-"`
}

BatchModifyDictionaryItemsInput is the input parameter to the BatchModifyDictionaryItems function.

type BatchModifyKVStoreKeyInput

type BatchModifyKVStoreKeyInput struct {
	// Body is the HTTP request body containing a collection of JSON objects
	// separated by a new line. {"key": "example","value": "<base64-encoded>"}
	// (required).
	Body io.Reader
	// StoreID is the StoreID of the kv store (required).
	StoreID string
}

BatchModifyKVStoreKeyInput is the input to the BatchModifyKVStoreKey function.

type BatchOperation

type BatchOperation string

BatchOperation represents batching variants.

type BatchToken

type BatchToken struct {
	// ID is an alphanumeric string identifying a token.
	ID string `jsonapi:"primary,token,omitempty"`
}

BatchToken represents the JSONAPI data to be sent to the API. Reference: https://github.com/google/jsonapi#primary

type BigQuery

type BigQuery struct {
	AccountName       *string    `mapstructure:"account_name"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	Dataset           *string    `mapstructure:"dataset"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ProjectID         *string    `mapstructure:"project_id"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	SecretKey         *string    `mapstructure:"secret_key"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Table             *string    `mapstructure:"table"`
	Template          *string    `mapstructure:"template_suffix"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	User              *string    `mapstructure:"user"`
}

BigQuery represents a BigQuery response from the Fastly API.

type Billing

type Billing struct {
	EndTime   *time.Time     `mapstructure:"end_time"`
	InvoiceID *string        `mapstructure:"invoice_id"`
	StartTime *time.Time     `mapstructure:"start_time"`
	Status    *BillingStatus `mapstructure:"status"`
	Total     *BillingTotal  `mapstructure:"total"`
}

Billing is the top-level representation of a billing response from the Fastly API.

type BillingExtra

type BillingExtra struct {
	Name      *string  `mapstructure:"name"`
	Recurring *float64 `mapstructure:"recurring"`
	Setup     *float64 `mapstructure:"setup"`
}

BillingExtra is a representation of extras (such as SSL addons) from the Fastly API.

type BillingStatus

type BillingStatus struct {
	InvoiceID *string    `mapstructure:"invoice_id"`
	SentAt    *time.Time `mapstructure:"sent_at"`
	Status    *string    `mapstructure:"status"`
}

BillingStatus is a representation of the status of the bill from the Fastly API.

type BillingTotal

type BillingTotal struct {
	Bandwidth          *float64        `mapstructure:"bandwidth"`
	BandwidthCost      *float64        `mapstructure:"bandwidth_cost"`
	Cost               *float64        `mapstructure:"cost"`
	CostBeforeDiscount *float64        `mapstructure:"cost_before_discount"`
	Discount           *float64        `mapstructure:"discount"`
	Extras             []*BillingExtra `mapstructure:"extras"`
	ExtrasCost         *float64        `mapstructure:"extras_cost"`
	IncurredCost       *float64        `mapstructure:"incurred_cost"`
	Overage            *float64        `mapstructure:"overage"`
	PlanCode           *string         `mapstructure:"plan_code"`
	PlanMinimum        *string         `mapstructure:"plan_minimum"`
	PlanName           *string         `mapstructure:"plan_name"`
	Requests           *uint64         `mapstructure:"requests"`
	RequestsCost       *float64        `mapstructure:"requests_cost"`
	Terms              *string         `mapstructure:"terms"`
}

BillingTotal is a representation of the status of the usage for this bill from the Fastly API.

type BlobStorage

type BlobStorage struct {
	AccountName       *string    `mapstructure:"account_name"`
	CompressionCodec  *string    `mapstructure:"compression_codec"`
	Container         *string    `mapstructure:"container"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	FileMaxBytes      *int       `mapstructure:"file_max_bytes"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	GzipLevel         *int       `mapstructure:"gzip_level"`
	MessageType       *string    `mapstructure:"message_type"`
	Name              *string    `mapstructure:"name"`
	Path              *string    `mapstructure:"path"`
	Period            *int       `mapstructure:"period"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	PublicKey         *string    `mapstructure:"public_key"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	SASToken          *string    `mapstructure:"sas_token"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TimestampFormat   *string    `mapstructure:"timestamp_format"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

BlobStorage represents a blob storage response from the Fastly API.

type BulkCertificate

type BulkCertificate struct {
	Configurations []*TLSConfiguration `jsonapi:"relation,tls_configurations,tls_configuration"`
	CreatedAt      *time.Time          `jsonapi:"attr,created_at,iso8601"`
	Domains        []*TLSDomain        `jsonapi:"relation,tls_domains,tls_domain"`
	ID             string              `jsonapi:"primary,tls_bulk_certificate"`
	NotAfter       *time.Time          `jsonapi:"attr,not_after,iso8601"`
	NotBefore      *time.Time          `jsonapi:"attr,not_before,iso8601"`
	Replace        bool                `jsonapi:"attr,replace"`
	UpdatedAt      *time.Time          `jsonapi:"attr,updated_at,iso8601"`
}

BulkCertificate represents a bulk certificate.

type CacheSetting

type CacheSetting struct {
	Action         *CacheSettingAction `mapstructure:"action"`
	CacheCondition *string             `mapstructure:"cache_condition"`
	CreatedAt      *time.Time          `mapstructure:"created_at"`
	DeletedAt      *time.Time          `mapstructure:"deleted_at"`
	Name           *string             `mapstructure:"name"`
	ServiceID      *string             `mapstructure:"service_id"`
	ServiceVersion *int                `mapstructure:"version"`
	StaleTTL       *int                `mapstructure:"stale_ttl"`
	TTL            *int                `mapstructure:"ttl"`
	UpdatedAt      *time.Time          `mapstructure:"updated_at"`
}

CacheSetting represents a response from Fastly's API for cache settings.

type CacheSettingAction

type CacheSettingAction string

CacheSettingAction is the type of cache action.

const (
	// CacheSettingActionCache sets the cache to cache.
	CacheSettingActionCache CacheSettingAction = "cache"

	// CacheSettingActionPass sets the cache to pass through.
	CacheSettingActionPass CacheSettingAction = "pass"

	// CacheSettingActionRestart sets the cache to restart the request.
	CacheSettingActionRestart CacheSettingAction = "restart"
)

type CalculationMethod

type CalculationMethod string
const (
	CalculationMethodAvg    CalculationMethod = "avg"
	CalculationMethodSum    CalculationMethod = "sum"
	CalculationMethodMin    CalculationMethod = "min"
	CalculationMethodMax    CalculationMethod = "max"
	CalculationMethodLatest CalculationMethod = "latest"
)

type Client

type Client struct {
	// Address is the address of Fastly's API endpoint.
	Address string
	// DebugMode enables HTTP request/response dumps.
	DebugMode bool
	// HTTPClient is the HTTP client to use. If one is not provided, a default
	// client will be used.
	HTTPClient *http.Client
	// contains filtered or unexported fields
}

Client is the main entrypoint to the Fastly golang API library.

func DefaultClient

func DefaultClient() *Client

DefaultClient instantiates a new Fastly API client. This function requires the environment variable `FASTLY_API_KEY` is set and contains a valid API key to authenticate with Fastly.

func NewClient

func NewClient(key string) (*Client, error)

NewClient creates a new API client with the given key and the default API endpoint. Because Fastly allows some requests without an API key, this function will not error if the API token is not supplied. Attempts to make a request that requires an API key will return a 403 response.

func NewClientForEndpoint

func NewClientForEndpoint(key, endpoint string) (*Client, error)

NewClientForEndpoint creates a new API client with the given key and API endpoint. Because Fastly allows some requests without an API key, this function will not error if the API token is not supplied. Attempts to make a request that requires an API key will return a 403 response.

func (*Client) ActivateVCL

func (c *Client) ActivateVCL(ctx context.Context, i *ActivateVCLInput) (*VCL, error)

ActivateVCL creates a new Fastly VCL.

func (*Client) ActivateVersion

func (c *Client) ActivateVersion(ctx context.Context, i *ActivateVersionInput) (*Version, error)

ActivateVersion activates the given version.

func (*Client) AllDatacenters

func (c *Client) AllDatacenters(ctx context.Context) (datacenters []Datacenter, err error)

AllDatacenters returns the lists of datacenters for Fastly's network.

func (*Client) AllIPs

func (c *Client) AllIPs(ctx context.Context) (v4, v6 IPAddrs, err error)

AllIPs returns the lists of public IPv4 and IPv6 addresses for Fastly's network.

func (*Client) BatchDeleteTokens

func (c *Client) BatchDeleteTokens(ctx context.Context, i *BatchDeleteTokensInput) error

BatchDeleteTokens revokes multiple tokens.

func (*Client) BatchModifyACLEntries

func (c *Client) BatchModifyACLEntries(ctx context.Context, i *BatchModifyACLEntriesInput) error

BatchModifyACLEntries updates the specified resources.

func (*Client) BatchModifyConfigStoreItems

func (c *Client) BatchModifyConfigStoreItems(ctx context.Context, i *BatchModifyConfigStoreItemsInput) error

BatchModifyConfigStoreItems bulk updates dictionary items.

func (*Client) BatchModifyDictionaryItems

func (c *Client) BatchModifyDictionaryItems(ctx context.Context, i *BatchModifyDictionaryItemsInput) error

BatchModifyDictionaryItems bulk updates dictionary items.

func (*Client) BatchModifyKVStoreKey

func (c *Client) BatchModifyKVStoreKey(ctx context.Context, i *BatchModifyKVStoreKeyInput) error

BatchModifyKVStoreKey streams key/value JSON objects into an kv store. NOTE: We wrap the io.Reader with *bufio.Reader to handle large streams.

func (*Client) CloneVersion

func (c *Client) CloneVersion(ctx context.Context, i *CloneVersionInput) (*Version, error)

CloneVersion creates a clone of the specified version.

Returns a new configuration version with all the same configuration options, but an incremented number.

func (*Client) CreateACL

func (c *Client) CreateACL(ctx context.Context, i *CreateACLInput) (*ACL, error)

CreateACL creates a new resource.

func (*Client) CreateACLEntry

func (c *Client) CreateACLEntry(ctx context.Context, i *CreateACLEntryInput) (*ACLEntry, error)

CreateACLEntry creates a new resource.

func (*Client) CreateAlertDefinition

func (c *Client) CreateAlertDefinition(ctx context.Context, i *CreateAlertDefinitionInput) (*AlertDefinition, error)

CreateAlertDefinition creates a new alert definition.

func (*Client) CreateAutomationToken

func (c *Client) CreateAutomationToken(ctx context.Context, i *CreateAutomationTokenInput) (*AutomationToken, error)

CreateAutomationToken creates a new resource.

Requires sudo capability for the token being used.

func (*Client) CreateBackend

func (c *Client) CreateBackend(ctx context.Context, i *CreateBackendInput) (*Backend, error)

CreateBackend creates a new resource.

func (*Client) CreateBigQuery

func (c *Client) CreateBigQuery(ctx context.Context, i *CreateBigQueryInput) (*BigQuery, error)

CreateBigQuery creates a new resource.

func (*Client) CreateBlobStorage

func (c *Client) CreateBlobStorage(ctx context.Context, i *CreateBlobStorageInput) (*BlobStorage, error)

CreateBlobStorage creates a new resource.

func (*Client) CreateBulkCertificate

func (c *Client) CreateBulkCertificate(ctx context.Context, i *CreateBulkCertificateInput) (*BulkCertificate, error)

CreateBulkCertificate creates a new resource.

func (*Client) CreateCacheSetting

func (c *Client) CreateCacheSetting(ctx context.Context, i *CreateCacheSettingInput) (*CacheSetting, error)

CreateCacheSetting creates a new resource.

func (*Client) CreateClientKey

func (c *Client) CreateClientKey(ctx context.Context) (*ClientKey, error)

CreateClientKey creates a new time-limited client key for locally encrypting secrets before uploading them to the Fastly API.

func (*Client) CreateCloudfiles

func (c *Client) CreateCloudfiles(ctx context.Context, i *CreateCloudfilesInput) (*Cloudfiles, error)

CreateCloudfiles creates a new resource.

func (*Client) CreateCondition

func (c *Client) CreateCondition(ctx context.Context, i *CreateConditionInput) (*Condition, error)

CreateCondition creates a new resource.

func (*Client) CreateConfigStore

func (c *Client) CreateConfigStore(ctx context.Context, i *CreateConfigStoreInput) (*ConfigStore, error)

CreateConfigStore creates a new Fastly config store.

func (*Client) CreateConfigStoreItem

func (c *Client) CreateConfigStoreItem(ctx context.Context, i *CreateConfigStoreItemInput) (*ConfigStoreItem, error)

CreateConfigStoreItem creates a new Fastly config store item.

func (*Client) CreateCustomTLSCertificate

func (c *Client) CreateCustomTLSCertificate(ctx context.Context, i *CreateCustomTLSCertificateInput) (*CustomTLSCertificate, error)

CreateCustomTLSCertificate creates a new resource.

func (*Client) CreateDatadog

func (c *Client) CreateDatadog(ctx context.Context, i *CreateDatadogInput) (*Datadog, error)

CreateDatadog creates a new resource.

func (*Client) CreateDictionary

func (c *Client) CreateDictionary(ctx context.Context, i *CreateDictionaryInput) (*Dictionary, error)

CreateDictionary creates a new resource.

func (*Client) CreateDictionaryItem

func (c *Client) CreateDictionaryItem(ctx context.Context, i *CreateDictionaryItemInput) (*DictionaryItem, error)

CreateDictionaryItem creates a new resource.

func (*Client) CreateDictionaryItems

func (c *Client) CreateDictionaryItems(ctx context.Context, i []CreateDictionaryItemInput) ([]DictionaryItem, error)

CreateDictionaryItems creates a new resource.

func (*Client) CreateDigitalOcean

func (c *Client) CreateDigitalOcean(ctx context.Context, i *CreateDigitalOceanInput) (*DigitalOcean, error)

CreateDigitalOcean creates a new resource.

func (*Client) CreateDirector

func (c *Client) CreateDirector(ctx context.Context, i *CreateDirectorInput) (*Director, error)

CreateDirector creates a new resource.

func (*Client) CreateDirectorBackend

func (c *Client) CreateDirectorBackend(ctx context.Context, i *CreateDirectorBackendInput) (*DirectorBackend, error)

CreateDirectorBackend creates a new resource.

func (*Client) CreateDomain

func (c *Client) CreateDomain(ctx context.Context, i *CreateDomainInput) (*Domain, error)

CreateDomain creates a new resource.

func (*Client) CreateERL

func (c *Client) CreateERL(ctx context.Context, i *CreateERLInput) (*ERL, error)

CreateERL creates a new resource.

func (*Client) CreateElasticsearch

func (c *Client) CreateElasticsearch(ctx context.Context, i *CreateElasticsearchInput) (*Elasticsearch, error)

CreateElasticsearch creates a new resource.

func (*Client) CreateFTP

func (c *Client) CreateFTP(ctx context.Context, i *CreateFTPInput) (*FTP, error)

CreateFTP creates a new resource.

func (*Client) CreateGCS

func (c *Client) CreateGCS(ctx context.Context, i *CreateGCSInput) (*GCS, error)

CreateGCS creates a new resource.

func (*Client) CreateGrafanaCloudLogs

func (c *Client) CreateGrafanaCloudLogs(ctx context.Context, i *CreateGrafanaCloudLogsInput) (*GrafanaCloudLogs, error)

CreateGrafanaCloudLogs creates a new resource.

func (*Client) CreateGzip

func (c *Client) CreateGzip(ctx context.Context, i *CreateGzipInput) (*Gzip, error)

CreateGzip creates a new resource.

func (*Client) CreateHTTPS

func (c *Client) CreateHTTPS(ctx context.Context, i *CreateHTTPSInput) (*HTTPS, error)

CreateHTTPS creates a new resource.

func (*Client) CreateHeader

func (c *Client) CreateHeader(ctx context.Context, i *CreateHeaderInput) (*Header, error)

CreateHeader creates a new resource.

func (*Client) CreateHealthCheck

func (c *Client) CreateHealthCheck(ctx context.Context, i *CreateHealthCheckInput) (*HealthCheck, error)

CreateHealthCheck creates a new resource.

func (*Client) CreateHeroku

func (c *Client) CreateHeroku(ctx context.Context, i *CreateHerokuInput) (*Heroku, error)

CreateHeroku creates a new resource.

func (*Client) CreateHoneycomb

func (c *Client) CreateHoneycomb(ctx context.Context, i *CreateHoneycombInput) (*Honeycomb, error)

CreateHoneycomb creates a new resource.

func (*Client) CreateIntegration

func (c *Client) CreateIntegration(ctx context.Context, i *CreateIntegrationInput) (*CreateIntegrationResponse, error)

CreateIntegration creates a new integration.

func (*Client) CreateKVStore

func (c *Client) CreateKVStore(ctx context.Context, i *CreateKVStoreInput) (*KVStore, error)

CreateKVStore creates a new resource.

func (*Client) CreateKafka

func (c *Client) CreateKafka(ctx context.Context, i *CreateKafkaInput) (*Kafka, error)

CreateKafka creates a new resource.

func (*Client) CreateKinesis

func (c *Client) CreateKinesis(ctx context.Context, i *CreateKinesisInput) (*Kinesis, error)

CreateKinesis creates a new resource.

func (*Client) CreateLogentries

func (c *Client) CreateLogentries(ctx context.Context, i *CreateLogentriesInput) (*Logentries, error)

CreateLogentries creates a new resource.

func (*Client) CreateLoggly

func (c *Client) CreateLoggly(ctx context.Context, i *CreateLogglyInput) (*Loggly, error)

CreateLoggly creates a new resource.

func (*Client) CreateLogshuttle

func (c *Client) CreateLogshuttle(ctx context.Context, i *CreateLogshuttleInput) (*Logshuttle, error)

CreateLogshuttle creates a new resource.

func (*Client) CreateMailinglistConfirmation

func (c *Client) CreateMailinglistConfirmation(ctx context.Context, i *CreateMailinglistConfirmationInput) error

CreateMailinglistConfirmation sends a mailing list confirmation email.

func (*Client) CreateManagedLogging

func (c *Client) CreateManagedLogging(ctx context.Context, i *CreateManagedLoggingInput) (*ManagedLogging, error)

CreateManagedLogging creates a new resource.

func (*Client) CreateNewRelic

func (c *Client) CreateNewRelic(ctx context.Context, i *CreateNewRelicInput) (*NewRelic, error)

CreateNewRelic creates a new resource.

func (*Client) CreateNewRelicOTLP

func (c *Client) CreateNewRelicOTLP(ctx context.Context, i *CreateNewRelicOTLPInput) (*NewRelicOTLP, error)

CreateNewRelicOTLP creates a new Fastly newrelic.

func (*Client) CreateOpenstack

func (c *Client) CreateOpenstack(ctx context.Context, i *CreateOpenstackInput) (*Openstack, error)

CreateOpenstack creates a new resource.

func (*Client) CreatePapertrail

func (c *Client) CreatePapertrail(ctx context.Context, i *CreatePapertrailInput) (*Papertrail, error)

CreatePapertrail creates a new resource.

func (*Client) CreatePool

func (c *Client) CreatePool(ctx context.Context, i *CreatePoolInput) (*Pool, error)

CreatePool creates a new resource.

func (*Client) CreatePrivateKey

func (c *Client) CreatePrivateKey(ctx context.Context, i *CreatePrivateKeyInput) (*PrivateKey, error)

CreatePrivateKey creates a new resource.

func (*Client) CreatePubsub

func (c *Client) CreatePubsub(ctx context.Context, i *CreatePubsubInput) (*Pubsub, error)

CreatePubsub creates a new resource.

func (*Client) CreateRequestSetting

func (c *Client) CreateRequestSetting(ctx context.Context, i *CreateRequestSettingInput) (*RequestSetting, error)

CreateRequestSetting creates a new resource.

func (*Client) CreateResource

func (c *Client) CreateResource(ctx context.Context, i *CreateResourceInput) (*Resource, error)

CreateResource creates a new resource.

func (*Client) CreateResponseObject

func (c *Client) CreateResponseObject(ctx context.Context, i *CreateResponseObjectInput) (*ResponseObject, error)

CreateResponseObject creates a new resource.

func (*Client) CreateS3

func (c *Client) CreateS3(ctx context.Context, i *CreateS3Input) (*S3, error)

CreateS3 creates a new resource.

func (*Client) CreateSFTP

func (c *Client) CreateSFTP(ctx context.Context, i *CreateSFTPInput) (*SFTP, error)

CreateSFTP creates a new resource.

func (*Client) CreateScalyr

func (c *Client) CreateScalyr(ctx context.Context, i *CreateScalyrInput) (*Scalyr, error)

CreateScalyr creates a new resource.

func (*Client) CreateSecret

func (c *Client) CreateSecret(ctx context.Context, i *CreateSecretInput) (*Secret, error)

CreateSecret creates a new resource.

func (*Client) CreateSecretStore

func (c *Client) CreateSecretStore(ctx context.Context, i *CreateSecretStoreInput) (*SecretStore, error)

CreateSecretStore creates a new resource.

func (*Client) CreateServer

func (c *Client) CreateServer(ctx context.Context, i *CreateServerInput) (*Server, error)

CreateServer creates a new resource. Servers are versionless resources that are associated with a Pool.

func (*Client) CreateService

func (c *Client) CreateService(ctx context.Context, i *CreateServiceInput) (*Service, error)

CreateService creates a new resource.

func (*Client) CreateServiceAuthorization

func (c *Client) CreateServiceAuthorization(ctx context.Context, i *CreateServiceAuthorizationInput) (*ServiceAuthorization, error)

CreateServiceAuthorization creates a new resource.

func (*Client) CreateSnippet

func (c *Client) CreateSnippet(ctx context.Context, i *CreateSnippetInput) (*Snippet, error)

CreateSnippet creates a new resource.

func (*Client) CreateSplunk

func (c *Client) CreateSplunk(ctx context.Context, i *CreateSplunkInput) (*Splunk, error)

CreateSplunk creates a new resource.

func (*Client) CreateSumologic

func (c *Client) CreateSumologic(ctx context.Context, i *CreateSumologicInput) (*Sumologic, error)

CreateSumologic creates a new resource.

func (*Client) CreateSyslog

func (c *Client) CreateSyslog(ctx context.Context, i *CreateSyslogInput) (*Syslog, error)

CreateSyslog creates a new resource.

func (*Client) CreateTLSActivation

func (c *Client) CreateTLSActivation(ctx context.Context, i *CreateTLSActivationInput) (*TLSActivation, error)

CreateTLSActivation creates a new resource.

func (*Client) CreateTLSMutualAuthentication

func (c *Client) CreateTLSMutualAuthentication(ctx context.Context, i *CreateTLSMutualAuthenticationInput) (*TLSMutualAuthentication, error)

CreateTLSMutualAuthentication creates a new resource.

func (*Client) CreateTLSSubscription

func (c *Client) CreateTLSSubscription(ctx context.Context, i *CreateTLSSubscriptionInput) (*TLSSubscription, error)

CreateTLSSubscription creates a new resource.

func (*Client) CreateToken

func (c *Client) CreateToken(ctx context.Context, i *CreateTokenInput) (*Token, error)

CreateToken creates a new resource.

func (*Client) CreateUser

func (c *Client) CreateUser(ctx context.Context, i *CreateUserInput) (*User, error)

CreateUser creates a new resource.

func (*Client) CreateVCL

func (c *Client) CreateVCL(ctx context.Context, i *CreateVCLInput) (*VCL, error)

CreateVCL creates a new resource.

func (*Client) CreateVersion

func (c *Client) CreateVersion(ctx context.Context, i *CreateVersionInput) (*Version, error)

CreateVersion creates a new resource.

This is preferred in almost all scenarios, since `Create()` creates a _blank_ configuration where `Clone()` builds off of an existing configuration.

func (*Client) DeactivateVersion

func (c *Client) DeactivateVersion(ctx context.Context, i *DeactivateVersionInput) (*Version, error)

DeactivateVersion deactivates the given version.

func (*Client) Delete

func (c *Client) Delete(ctx context.Context, p string, ro RequestOptions) (*http.Response, error)

Delete issues an HTTP DELETE request.

func (*Client) DeleteACL

func (c *Client) DeleteACL(ctx context.Context, i *DeleteACLInput) error

DeleteACL deletes the specified resource.

func (*Client) DeleteACLEntry

func (c *Client) DeleteACLEntry(ctx context.Context, i *DeleteACLEntryInput) error

DeleteACLEntry deletes the specified resource.

func (*Client) DeleteAlertDefinition

func (c *Client) DeleteAlertDefinition(ctx context.Context, i *DeleteAlertDefinitionInput) error

DeleteAlertDefinition deletes the specified alert definition.

func (*Client) DeleteAutomationToken

func (c *Client) DeleteAutomationToken(ctx context.Context, i *DeleteAutomationTokenInput) error

DeleteAutomationToken deletes the specified resource.

func (*Client) DeleteBackend

func (c *Client) DeleteBackend(ctx context.Context, i *DeleteBackendInput) error

DeleteBackend deletes the specified resource.

func (*Client) DeleteBigQuery

func (c *Client) DeleteBigQuery(ctx context.Context, i *DeleteBigQueryInput) error

DeleteBigQuery deletes the specified resource.

func (*Client) DeleteBlobStorage

func (c *Client) DeleteBlobStorage(ctx context.Context, i *DeleteBlobStorageInput) error

DeleteBlobStorage deletes the specified resource.

func (*Client) DeleteBulkCertificate

func (c *Client) DeleteBulkCertificate(ctx context.Context, i *DeleteBulkCertificateInput) error

DeleteBulkCertificate deletes the specified resource.

func (*Client) DeleteCacheSetting

func (c *Client) DeleteCacheSetting(ctx context.Context, i *DeleteCacheSettingInput) error

DeleteCacheSetting deletes the specified resource.

func (*Client) DeleteCloudfiles

func (c *Client) DeleteCloudfiles(ctx context.Context, i *DeleteCloudfilesInput) error

DeleteCloudfiles deletes the specified resource.

func (*Client) DeleteCondition

func (c *Client) DeleteCondition(ctx context.Context, i *DeleteConditionInput) error

DeleteCondition deletes the specified resource.

func (*Client) DeleteConfigStore

func (c *Client) DeleteConfigStore(ctx context.Context, i *DeleteConfigStoreInput) error

DeleteConfigStore deletes the given config store version.

func (*Client) DeleteConfigStoreItem

func (c *Client) DeleteConfigStoreItem(ctx context.Context, i *DeleteConfigStoreItemInput) error

DeleteConfigStoreItem deletes the given config store item.

func (*Client) DeleteCustomTLSCertificate

func (c *Client) DeleteCustomTLSCertificate(ctx context.Context, i *DeleteCustomTLSCertificateInput) error

DeleteCustomTLSCertificate deletes the specified resource.

func (*Client) DeleteDatadog

func (c *Client) DeleteDatadog(ctx context.Context, i *DeleteDatadogInput) error

DeleteDatadog deletes the specified resource.

func (*Client) DeleteDictionary

func (c *Client) DeleteDictionary(ctx context.Context, i *DeleteDictionaryInput) error

DeleteDictionary deletes the specified resource.

func (*Client) DeleteDictionaryItem

func (c *Client) DeleteDictionaryItem(ctx context.Context, i *DeleteDictionaryItemInput) error

DeleteDictionaryItem deletes the specified resource.

func (*Client) DeleteDigitalOcean

func (c *Client) DeleteDigitalOcean(ctx context.Context, i *DeleteDigitalOceanInput) error

DeleteDigitalOcean deletes the specified resource.

func (*Client) DeleteDirector

func (c *Client) DeleteDirector(ctx context.Context, i *DeleteDirectorInput) error

DeleteDirector deletes the specified resource.

func (*Client) DeleteDirectorBackend

func (c *Client) DeleteDirectorBackend(ctx context.Context, i *DeleteDirectorBackendInput) error

DeleteDirectorBackend deletes the specified resource.

func (*Client) DeleteDomain

func (c *Client) DeleteDomain(ctx context.Context, i *DeleteDomainInput) error

DeleteDomain deletes the specified resource.

func (*Client) DeleteERL

func (c *Client) DeleteERL(ctx context.Context, i *DeleteERLInput) error

DeleteERL deletes the specified resource.

func (*Client) DeleteElasticsearch

func (c *Client) DeleteElasticsearch(ctx context.Context, i *DeleteElasticsearchInput) error

DeleteElasticsearch deletes the specified resource.

func (*Client) DeleteFTP

func (c *Client) DeleteFTP(ctx context.Context, i *DeleteFTPInput) error

DeleteFTP deletes the specified resource.

func (*Client) DeleteGCS

func (c *Client) DeleteGCS(ctx context.Context, i *DeleteGCSInput) error

DeleteGCS deletes the specified resource.

func (*Client) DeleteGrafanaCloudLogs

func (c *Client) DeleteGrafanaCloudLogs(ctx context.Context, i *DeleteGrafanaCloudLogsInput) error

DeleteGrafanaCloudLogs deletes the specified resource.

func (*Client) DeleteGzip

func (c *Client) DeleteGzip(ctx context.Context, i *DeleteGzipInput) error

DeleteGzip deletes the specified resource.

func (*Client) DeleteHTTPS

func (c *Client) DeleteHTTPS(ctx context.Context, i *DeleteHTTPSInput) error

DeleteHTTPS deletes the specified resource.

func (*Client) DeleteHeader

func (c *Client) DeleteHeader(ctx context.Context, i *DeleteHeaderInput) error

DeleteHeader deletes the specified resource.

func (*Client) DeleteHealthCheck

func (c *Client) DeleteHealthCheck(ctx context.Context, i *DeleteHealthCheckInput) error

DeleteHealthCheck deletes the specified resource.

func (*Client) DeleteHeroku

func (c *Client) DeleteHeroku(ctx context.Context, i *DeleteHerokuInput) error

DeleteHeroku deletes the specified resource.

func (*Client) DeleteHoneycomb

func (c *Client) DeleteHoneycomb(ctx context.Context, i *DeleteHoneycombInput) error

DeleteHoneycomb deletes the specified resource.

func (*Client) DeleteIntegration

func (c *Client) DeleteIntegration(ctx context.Context, i *DeleteIntegrationInput) error

DeleteIntegration deletes the specified integration.

func (*Client) DeleteJSONAPI

func (c *Client) DeleteJSONAPI(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

DeleteJSONAPI issues an HTTP DELETE request with the given interface json-encoded.

func (*Client) DeleteJSONAPIBulk

func (c *Client) DeleteJSONAPIBulk(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

DeleteJSONAPIBulk issues an HTTP DELETE request with the given interface json-encoded and bulk requests.

func (*Client) DeleteKVStore

func (c *Client) DeleteKVStore(ctx context.Context, i *DeleteKVStoreInput) error

DeleteKVStore deletes the specified resource.

func (*Client) DeleteKVStoreKey

func (c *Client) DeleteKVStoreKey(ctx context.Context, i *DeleteKVStoreKeyInput) error

DeleteKVStoreKey deletes the specified resource.

func (*Client) DeleteKafka

func (c *Client) DeleteKafka(ctx context.Context, i *DeleteKafkaInput) error

DeleteKafka deletes the specified resource.

func (*Client) DeleteKinesis

func (c *Client) DeleteKinesis(ctx context.Context, i *DeleteKinesisInput) error

DeleteKinesis deletes the specified resource.

func (*Client) DeleteLogentries

func (c *Client) DeleteLogentries(ctx context.Context, i *DeleteLogentriesInput) error

DeleteLogentries deletes the specified resource.

func (*Client) DeleteLoggly

func (c *Client) DeleteLoggly(ctx context.Context, i *DeleteLogglyInput) error

DeleteLoggly deletes the specified resource.

func (*Client) DeleteLogshuttle

func (c *Client) DeleteLogshuttle(ctx context.Context, i *DeleteLogshuttleInput) error

DeleteLogshuttle deletes the specified resource.

func (*Client) DeleteManagedLogging

func (c *Client) DeleteManagedLogging(ctx context.Context, i *DeleteManagedLoggingInput) error

DeleteManagedLogging deletes the specified resource.

func (*Client) DeleteNewRelic

func (c *Client) DeleteNewRelic(ctx context.Context, i *DeleteNewRelicInput) error

DeleteNewRelic deletes the specified resource.

func (*Client) DeleteNewRelicOTLP

func (c *Client) DeleteNewRelicOTLP(ctx context.Context, i *DeleteNewRelicOTLPInput) error

DeleteNewRelicOTLP deletes the given newrelic version.

func (*Client) DeleteObservabilityCustomDashboard

func (c *Client) DeleteObservabilityCustomDashboard(ctx context.Context, i *DeleteObservabilityCustomDashboardInput) error

func (*Client) DeleteOpenstack

func (c *Client) DeleteOpenstack(ctx context.Context, i *DeleteOpenstackInput) error

DeleteOpenstack deletes the specified resource.

func (*Client) DeletePapertrail

func (c *Client) DeletePapertrail(ctx context.Context, i *DeletePapertrailInput) error

DeletePapertrail deletes the specified resource.

func (*Client) DeletePool

func (c *Client) DeletePool(ctx context.Context, i *DeletePoolInput) error

DeletePool deletes the specified resource.

func (*Client) DeletePrivateKey

func (c *Client) DeletePrivateKey(ctx context.Context, i *DeletePrivateKeyInput) error

DeletePrivateKey deletes the specified resource.

func (*Client) DeletePubsub

func (c *Client) DeletePubsub(ctx context.Context, i *DeletePubsubInput) error

DeletePubsub deletes the specified resource.

func (*Client) DeleteRequestSetting

func (c *Client) DeleteRequestSetting(ctx context.Context, i *DeleteRequestSettingInput) error

DeleteRequestSetting deletes the specified resource.

func (*Client) DeleteResource

func (c *Client) DeleteResource(ctx context.Context, i *DeleteResourceInput) error

DeleteResource deletes the specified resource.

func (*Client) DeleteResponseObject

func (c *Client) DeleteResponseObject(ctx context.Context, i *DeleteResponseObjectInput) error

DeleteResponseObject deletes the specified resource.

func (*Client) DeleteS3

func (c *Client) DeleteS3(ctx context.Context, i *DeleteS3Input) error

DeleteS3 deletes the specified resource.

func (*Client) DeleteSFTP

func (c *Client) DeleteSFTP(ctx context.Context, i *DeleteSFTPInput) error

DeleteSFTP deletes the specified resource.

func (*Client) DeleteScalyr

func (c *Client) DeleteScalyr(ctx context.Context, i *DeleteScalyrInput) error

DeleteScalyr deletes the specified resource.

func (*Client) DeleteSecret

func (c *Client) DeleteSecret(ctx context.Context, i *DeleteSecretInput) error

DeleteSecret deletes the specified resource.

func (*Client) DeleteSecretStore

func (c *Client) DeleteSecretStore(ctx context.Context, i *DeleteSecretStoreInput) error

DeleteSecretStore deletes the specified resource.

func (*Client) DeleteServer

func (c *Client) DeleteServer(ctx context.Context, i *DeleteServerInput) error

DeleteServer deletes the specified resource.

func (*Client) DeleteService

func (c *Client) DeleteService(ctx context.Context, i *DeleteServiceInput) error

DeleteService deletes the specified resource.

func (*Client) DeleteServiceAuthorization

func (c *Client) DeleteServiceAuthorization(ctx context.Context, i *DeleteServiceAuthorizationInput) error

DeleteServiceAuthorization deletes the specified resource.

func (*Client) DeleteSnippet

func (c *Client) DeleteSnippet(ctx context.Context, i *DeleteSnippetInput) error

DeleteSnippet deletes the specified resource.

func (*Client) DeleteSplunk

func (c *Client) DeleteSplunk(ctx context.Context, i *DeleteSplunkInput) error

DeleteSplunk deletes the specified resource.

func (*Client) DeleteSumologic

func (c *Client) DeleteSumologic(ctx context.Context, i *DeleteSumologicInput) error

DeleteSumologic deletes the specified resource.

func (*Client) DeleteSyslog

func (c *Client) DeleteSyslog(ctx context.Context, i *DeleteSyslogInput) error

DeleteSyslog deletes the specified resource.

func (*Client) DeleteTLSActivation

func (c *Client) DeleteTLSActivation(ctx context.Context, i *DeleteTLSActivationInput) error

DeleteTLSActivation deletes the specified resource.

func (*Client) DeleteTLSMutualAuthentication

func (c *Client) DeleteTLSMutualAuthentication(ctx context.Context, i *DeleteTLSMutualAuthenticationInput) error

DeleteTLSMutualAuthentication deletes the specified resource.

func (*Client) DeleteTLSSubscription

func (c *Client) DeleteTLSSubscription(ctx context.Context, i *DeleteTLSSubscriptionInput) error

DeleteTLSSubscription deletes the specified resource.

func (*Client) DeleteToken

func (c *Client) DeleteToken(ctx context.Context, i *DeleteTokenInput) error

DeleteToken deletes the specified resource.

func (*Client) DeleteTokenSelf

func (c *Client) DeleteTokenSelf(ctx context.Context) error

DeleteTokenSelf deletes the specified resource.

func (*Client) DeleteUser

func (c *Client) DeleteUser(ctx context.Context, i *DeleteUserInput) error

DeleteUser deletes the specified resource.

func (*Client) DeleteVCL

func (c *Client) DeleteVCL(ctx context.Context, i *DeleteVCLInput) error

DeleteVCL deletes the specified resource.

func (*Client) DisableHTTP3

func (c *Client) DisableHTTP3(ctx context.Context, i *DisableHTTP3Input) error

DisableHTTP3 deletes the specified resource.

func (*Client) EdgeCheck

func (c *Client) EdgeCheck(ctx context.Context, i *EdgeCheckInput) ([]*EdgeCheck, error)

EdgeCheck queries the edge cache for all of Fastly's servers for the given URL.

func (*Client) EnableHTTP3

func (c *Client) EnableHTTP3(ctx context.Context, i *EnableHTTP3Input) (*HTTP3, error)

EnableHTTP3 creates a new resource.

func (*Client) Get

func (c *Client) Get(ctx context.Context, p string, ro RequestOptions) (*http.Response, error)

Get issues an HTTP GET request.

func (*Client) GetACL

func (c *Client) GetACL(ctx context.Context, i *GetACLInput) (*ACL, error)

GetACL retrieves the specified resource.

func (*Client) GetACLEntries

func (c *Client) GetACLEntries(ctx context.Context, i *GetACLEntriesInput) *ListPaginator[ACLEntry]

GetACLEntries returns a ListPaginator for paginating through the resources.

func (*Client) GetACLEntry

func (c *Client) GetACLEntry(ctx context.Context, i *GetACLEntryInput) (*ACLEntry, error)

GetACLEntry retrieves the specified resource.

func (*Client) GetAPIEvent

func (c *Client) GetAPIEvent(ctx context.Context, i *GetAPIEventInput) (*Event, error)

GetAPIEvent retrieves the specified resource.

func (*Client) GetAPIEvents

GetAPIEvents lists all the events for a particular customer.

func (*Client) GetAggregateJSON

func (c *Client) GetAggregateJSON(ctx context.Context, i *GetAggregateInput, dst any) error

GetAggregateJSON returns all aggregated stats and decodes the response directly to the JSON struct dst.

func (*Client) GetAlertDefinition

func (c *Client) GetAlertDefinition(ctx context.Context, i *GetAlertDefinitionInput) (*AlertDefinition, error)

GetAlertDefinition retrieves a specified alert definition.

func (*Client) GetAutomationToken

func (c *Client) GetAutomationToken(ctx context.Context, i *GetAutomationTokenInput) (*AutomationToken, error)

GetAutomationToken retrieves a specific resource by ID.

func (*Client) GetAutomationTokens

GetAutomationTokens retrieves all resources.

func (*Client) GetBackend

func (c *Client) GetBackend(ctx context.Context, i *GetBackendInput) (*Backend, error)

GetBackend retrieves the specified resource.

func (*Client) GetBigQuery

func (c *Client) GetBigQuery(ctx context.Context, i *GetBigQueryInput) (*BigQuery, error)

GetBigQuery retrieves the specified resource.

func (*Client) GetBilling

func (c *Client) GetBilling(ctx context.Context, i *GetBillingInput) (*Billing, error)

GetBilling returns the billing information for the current account.

func (*Client) GetBlobStorage

func (c *Client) GetBlobStorage(ctx context.Context, i *GetBlobStorageInput) (*BlobStorage, error)

GetBlobStorage retrieves the specified resource.

func (*Client) GetBulkCertificate

func (c *Client) GetBulkCertificate(ctx context.Context, i *GetBulkCertificateInput) (*BulkCertificate, error)

GetBulkCertificate retrieves the specified resource.

func (*Client) GetCacheSetting

func (c *Client) GetCacheSetting(ctx context.Context, i *GetCacheSettingInput) (*CacheSetting, error)

GetCacheSetting retrieves the specified resource.

func (*Client) GetCloudfiles

func (c *Client) GetCloudfiles(ctx context.Context, i *GetCloudfilesInput) (*Cloudfiles, error)

GetCloudfiles retrieves the specified resource.

func (*Client) GetCondition

func (c *Client) GetCondition(ctx context.Context, i *GetConditionInput) (*Condition, error)

GetCondition retrieves the specified resource.

func (*Client) GetConfigStore

func (c *Client) GetConfigStore(ctx context.Context, i *GetConfigStoreInput) (*ConfigStore, error)

GetConfigStore returns the config store for the given input parameters.

func (*Client) GetConfigStoreItem

func (c *Client) GetConfigStoreItem(ctx context.Context, i *GetConfigStoreItemInput) (*ConfigStoreItem, error)

GetConfigStoreItem gets the config store item with the given parameters.

func (*Client) GetConfigStoreMetadata

func (c *Client) GetConfigStoreMetadata(ctx context.Context, i *GetConfigStoreMetadataInput) (*ConfigStoreMetadata, error)

GetConfigStoreMetadata returns the config store's metadata for the given input parameters.

func (*Client) GetCurrentUser

func (c *Client) GetCurrentUser(ctx context.Context) (*User, error)

GetCurrentUser retrieves the user information for the authenticated user.

func (*Client) GetCustomTLSCertificate

func (c *Client) GetCustomTLSCertificate(ctx context.Context, i *GetCustomTLSCertificateInput) (*CustomTLSCertificate, error)

GetCustomTLSCertificate retrieves the specified resource.

func (*Client) GetCustomTLSConfiguration

func (c *Client) GetCustomTLSConfiguration(ctx context.Context, i *GetCustomTLSConfigurationInput) (*CustomTLSConfiguration, error)

GetCustomTLSConfiguration retrieves the specified resource.

func (*Client) GetDatadog

func (c *Client) GetDatadog(ctx context.Context, i *GetDatadogInput) (*Datadog, error)

GetDatadog retrieves the specified resource.

func (*Client) GetDictionary

func (c *Client) GetDictionary(ctx context.Context, i *GetDictionaryInput) (*Dictionary, error)

GetDictionary retrieves the specified resource.

func (*Client) GetDictionaryInfo

func (c *Client) GetDictionaryInfo(ctx context.Context, i *GetDictionaryInfoInput) (*DictionaryInfo, error)

GetDictionaryInfo retrieves the specified resource.

func (*Client) GetDictionaryItem

func (c *Client) GetDictionaryItem(ctx context.Context, i *GetDictionaryItemInput) (*DictionaryItem, error)

GetDictionaryItem retrieves the specified resource.

func (*Client) GetDictionaryItems

func (c *Client) GetDictionaryItems(ctx context.Context, i *GetDictionaryItemsInput) *ListPaginator[DictionaryItem]

GetDictionaryItems returns a ListPaginator for paginating through the resources.

func (*Client) GetDiff

func (c *Client) GetDiff(ctx context.Context, i *GetDiffInput) (*Diff, error)

GetDiff retrieves the specified resource.

func (*Client) GetDigitalOcean

func (c *Client) GetDigitalOcean(ctx context.Context, i *GetDigitalOceanInput) (*DigitalOcean, error)

GetDigitalOcean retrieves the specified resource.

func (*Client) GetDirector

func (c *Client) GetDirector(ctx context.Context, i *GetDirectorInput) (*Director, error)

GetDirector retrieves the specified resource.

func (*Client) GetDirectorBackend

func (c *Client) GetDirectorBackend(ctx context.Context, i *GetDirectorBackendInput) (*DirectorBackend, error)

GetDirectorBackend retrieves the specified resource.

func (*Client) GetDomain

func (c *Client) GetDomain(ctx context.Context, i *GetDomainInput) (*Domain, error)

GetDomain retrieves the specified resource.

func (*Client) GetDomainMetricsForService

func (c *Client) GetDomainMetricsForService(ctx context.Context, i *GetDomainMetricsInput) (*DomainInspector, error)

GetDomainMetricsForService retrieves the specified resource.

func (*Client) GetDomainMetricsForServiceJSON

func (c *Client) GetDomainMetricsForServiceJSON(ctx context.Context, i *GetDomainMetricsInput, dst any) error

GetDomainMetricsForServiceJSON retrieves the specified resource.

func (*Client) GetDynamicSnippet

func (c *Client) GetDynamicSnippet(ctx context.Context, i *GetDynamicSnippetInput) (*DynamicSnippet, error)

GetDynamicSnippet retrieves the specified resource.

This will show the current content associated with a Dynamic Snippet.

func (*Client) GetERL

func (c *Client) GetERL(ctx context.Context, i *GetERLInput) (*ERL, error)

GetERL retrieves the specified resource.

func (*Client) GetElasticsearch

func (c *Client) GetElasticsearch(ctx context.Context, i *GetElasticsearchInput) (*Elasticsearch, error)

GetElasticsearch retrieves the specified resource.

func (*Client) GetFTP

func (c *Client) GetFTP(ctx context.Context, i *GetFTPInput) (*FTP, error)

GetFTP retrieves the specified resource.

func (*Client) GetGCS

func (c *Client) GetGCS(ctx context.Context, i *GetGCSInput) (*GCS, error)

GetGCS retrieves the specified resource.

func (*Client) GetGeneratedVCL

func (c *Client) GetGeneratedVCL(ctx context.Context, i *GetGeneratedVCLInput) (*VCL, error)

GetGeneratedVCL retrieves the specified resource.

func (*Client) GetGrafanaCloudLogs

func (c *Client) GetGrafanaCloudLogs(ctx context.Context, i *GetGrafanaCloudLogsInput) (*GrafanaCloudLogs, error)

GetGrafanaCloudLogs retrieves the specified resource.

func (*Client) GetGzip

func (c *Client) GetGzip(ctx context.Context, i *GetGzipInput) (*Gzip, error)

GetGzip retrieves the specified resource.

func (*Client) GetHTTP3

func (c *Client) GetHTTP3(ctx context.Context, i *GetHTTP3Input) (*HTTP3, error)

GetHTTP3 retrieves the specified resource.

func (*Client) GetHTTPS

func (c *Client) GetHTTPS(ctx context.Context, i *GetHTTPSInput) (*HTTPS, error)

GetHTTPS retrieves the specified resource.

func (*Client) GetHeader

func (c *Client) GetHeader(ctx context.Context, i *GetHeaderInput) (*Header, error)

GetHeader retrieves the specified resource.

func (*Client) GetHealthCheck

func (c *Client) GetHealthCheck(ctx context.Context, i *GetHealthCheckInput) (*HealthCheck, error)

GetHealthCheck retrieves the specified resource.

func (*Client) GetHeroku

func (c *Client) GetHeroku(ctx context.Context, i *GetHerokuInput) (*Heroku, error)

GetHeroku retrieves the specified resource.

func (*Client) GetHoneycomb

func (c *Client) GetHoneycomb(ctx context.Context, i *GetHoneycombInput) (*Honeycomb, error)

GetHoneycomb retrieves the specified resource.

func (*Client) GetImageOptimizerDefaultSettings

func (c *Client) GetImageOptimizerDefaultSettings(ctx context.Context, i *GetImageOptimizerDefaultSettingsInput) (*ImageOptimizerDefaultSettings, error)

GetImageOptimizerDefaultSettings retrives the current Image Optimizer default settings on a given service version.

Returns (nil, nil) if no default settings are set.

func (*Client) GetIntegration

func (c *Client) GetIntegration(ctx context.Context, i *GetIntegrationInput) (*Integration, error)

GetIntegration retrieves a specified integration.

func (*Client) GetIntegrationTypes

func (c *Client) GetIntegrationTypes(ctx context.Context) (*[]IntegrationType, error)

GetIntegrationTypes retrieves the supported integration types and what configuration they require.

func (*Client) GetJSON

func (c *Client) GetJSON(ctx context.Context, p string, ro RequestOptions) (*http.Response, error)

GetJSON issues an HTTP GET request and indicates that the response should be JSON encoded.

func (*Client) GetKVStore

func (c *Client) GetKVStore(ctx context.Context, i *GetKVStoreInput) (*KVStore, error)

GetKVStore retrieves the specified resource.

func (*Client) GetKVStoreItem

func (c *Client) GetKVStoreItem(ctx context.Context, i *GetKVStoreItemInput) (GetKVStoreItemOutput, error)

GetKVStoreItem retrieves the specified item. The returned structure contains a 'Value' field which the caller must clean up by executing its 'Close' function if the field is non-nil.

func (*Client) GetKVStoreKey

func (c *Client) GetKVStoreKey(ctx context.Context, i *GetKVStoreKeyInput) (string, error)

GetKVStoreKey retrieves the specified resource.

func (*Client) GetKafka

func (c *Client) GetKafka(ctx context.Context, i *GetKafkaInput) (*Kafka, error)

GetKafka retrieves the specified resource.

func (*Client) GetKinesis

func (c *Client) GetKinesis(ctx context.Context, i *GetKinesisInput) (*Kinesis, error)

GetKinesis retrieves the specified resource.

func (*Client) GetLogentries

func (c *Client) GetLogentries(ctx context.Context, i *GetLogentriesInput) (*Logentries, error)

GetLogentries retrieves the specified resource.

func (*Client) GetLoggly

func (c *Client) GetLoggly(ctx context.Context, i *GetLogglyInput) (*Loggly, error)

GetLoggly retrieves the specified resource.

func (*Client) GetLogshuttle

func (c *Client) GetLogshuttle(ctx context.Context, i *GetLogshuttleInput) (*Logshuttle, error)

GetLogshuttle retrieves the specified resource.

func (*Client) GetNewRelic

func (c *Client) GetNewRelic(ctx context.Context, i *GetNewRelicInput) (*NewRelic, error)

GetNewRelic retrieves the specified resource.

func (*Client) GetNewRelicOTLP

func (c *Client) GetNewRelicOTLP(ctx context.Context, i *GetNewRelicOTLPInput) (*NewRelicOTLP, error)

GetNewRelicOTLP gets the newrelic configuration with the given parameters.

func (*Client) GetOpenstack

func (c *Client) GetOpenstack(ctx context.Context, i *GetOpenstackInput) (*Openstack, error)

GetOpenstack retrieves the specified resource.

func (*Client) GetOriginMetricsForService

func (c *Client) GetOriginMetricsForService(ctx context.Context, i *GetOriginMetricsInput) (*OriginInspector, error)

GetOriginMetricsForService retrieves the specified resource.

func (*Client) GetOriginMetricsForServiceJSON

func (c *Client) GetOriginMetricsForServiceJSON(ctx context.Context, i *GetOriginMetricsInput, dst any) error

GetOriginMetricsForServiceJSON retrieves the specified resource.

func (*Client) GetPackage

func (c *Client) GetPackage(ctx context.Context, i *GetPackageInput) (*Package, error)

GetPackage retrieves the specified resource.

func (*Client) GetPapertrail

func (c *Client) GetPapertrail(ctx context.Context, i *GetPapertrailInput) (*Papertrail, error)

GetPapertrail retrieves the specified resource.

func (*Client) GetPool

func (c *Client) GetPool(ctx context.Context, i *GetPoolInput) (*Pool, error)

GetPool retrieves the specified resource.

func (*Client) GetPrivateKey

func (c *Client) GetPrivateKey(ctx context.Context, i *GetPrivateKeyInput) (*PrivateKey, error)

GetPrivateKey retrieves the specified resource.

func (*Client) GetPubsub

func (c *Client) GetPubsub(ctx context.Context, i *GetPubsubInput) (*Pubsub, error)

GetPubsub retrieves the specified resource.

func (*Client) GetRegions

func (c *Client) GetRegions(ctx context.Context) (*RegionsResponse, error)

GetRegions returns a list of Fastly regions.

func (*Client) GetRequestSetting

func (c *Client) GetRequestSetting(ctx context.Context, i *GetRequestSettingInput) (*RequestSetting, error)

GetRequestSetting retrieves the specified resource.

func (*Client) GetResource

func (c *Client) GetResource(ctx context.Context, i *GetResourceInput) (*Resource, error)

GetResource retrieves the specified resource.

func (*Client) GetResponseObject

func (c *Client) GetResponseObject(ctx context.Context, i *GetResponseObjectInput) (*ResponseObject, error)

GetResponseObject retrieves the specified resource.

func (*Client) GetS3

func (c *Client) GetS3(ctx context.Context, i *GetS3Input) (*S3, error)

GetS3 retrieves the specified resource.

func (*Client) GetSFTP

func (c *Client) GetSFTP(ctx context.Context, i *GetSFTPInput) (*SFTP, error)

GetSFTP retrieves the specified resource.

func (*Client) GetScalyr

func (c *Client) GetScalyr(ctx context.Context, i *GetScalyrInput) (*Scalyr, error)

GetScalyr retrieves the specified resource.

func (*Client) GetSecret

func (c *Client) GetSecret(ctx context.Context, i *GetSecretInput) (*Secret, error)

GetSecret retrieves the specified resource.

func (*Client) GetSecretStore

func (c *Client) GetSecretStore(ctx context.Context, i *GetSecretStoreInput) (*SecretStore, error)

GetSecretStore retrieves the specified resource.

func (*Client) GetServer

func (c *Client) GetServer(ctx context.Context, i *GetServerInput) (*Server, error)

GetServer retrieves the specified resource.

func (*Client) GetService

func (c *Client) GetService(ctx context.Context, i *GetServiceInput) (*Service, error)

GetService retrieves the specified resource.

If no service exists for the given id, the API returns a 400 response not 404.

func (*Client) GetServiceAuthorization

func (c *Client) GetServiceAuthorization(ctx context.Context, i *GetServiceAuthorizationInput) (*ServiceAuthorization, error)

GetServiceAuthorization retrieves the specified resource.

func (*Client) GetServiceDetails

func (c *Client) GetServiceDetails(ctx context.Context, i *GetServiceInput) (*ServiceDetail, error)

GetServiceDetails retrieves the specified resource.

If no service exists for the given id, the API returns a 400 response not 404.

func (*Client) GetServices

func (c *Client) GetServices(ctx context.Context, i *GetServicesInput) *ListPaginator[Service]

GetServices returns a ListPaginator for paginating through the resources.

func (*Client) GetSettings

func (c *Client) GetSettings(ctx context.Context, i *GetSettingsInput) (*Settings, error)

GetSettings retrieves the specified resource.

func (*Client) GetSigningKey

func (c *Client) GetSigningKey(ctx context.Context) (ed25519.PublicKey, error)

GetSigningKey returns the public signing key for client keys. In general the signing key changes very rarely, and it's recommended to ship the signing key out-of-band from the API.

func (*Client) GetSnippet

func (c *Client) GetSnippet(ctx context.Context, i *GetSnippetInput) (*Snippet, error)

GetSnippet retrieves the specified resource.

Dynamic Snippets will not show content due to them being versionless, use GetDynamicSnippet to see content.

func (*Client) GetSplunk

func (c *Client) GetSplunk(ctx context.Context, i *GetSplunkInput) (*Splunk, error)

GetSplunk retrieves the specified resource.

func (*Client) GetStats

func (c *Client) GetStats(ctx context.Context, i *GetStatsInput) (*StatsResponse, error)

GetStats retrieves the specified resource.

func (*Client) GetStatsField

func (c *Client) GetStatsField(ctx context.Context, i *GetStatsInput) (*StatsFieldResponse, error)

GetStatsField retrieves the specified resource.

func (*Client) GetStatsJSON

func (c *Client) GetStatsJSON(ctx context.Context, i *GetStatsInput, dst any) error

GetStatsJSON fetches stats and decodes the response directly to the JSON struct dst.

func (*Client) GetSumologic

func (c *Client) GetSumologic(ctx context.Context, i *GetSumologicInput) (*Sumologic, error)

GetSumologic retrieves the specified resource.

func (*Client) GetSyslog

func (c *Client) GetSyslog(ctx context.Context, i *GetSyslogInput) (*Syslog, error)

GetSyslog retrieves the specified resource.

func (*Client) GetTLSActivation

func (c *Client) GetTLSActivation(ctx context.Context, i *GetTLSActivationInput) (*TLSActivation, error)

GetTLSActivation retrieves the specified resource.

func (*Client) GetTLSMutualAuthentication

func (c *Client) GetTLSMutualAuthentication(ctx context.Context, i *GetTLSMutualAuthenticationInput) (*TLSMutualAuthentication, error)

GetTLSMutualAuthentication retrieves the specified resource.

func (*Client) GetTLSSubscription

func (c *Client) GetTLSSubscription(ctx context.Context, i *GetTLSSubscriptionInput) (*TLSSubscription, error)

GetTLSSubscription retrieves the specified resource.

func (*Client) GetTokenSelf

func (c *Client) GetTokenSelf(ctx context.Context) (*Token, error)

GetTokenSelf retrieves the token information for the the access_token used used to authenticate the request.

Returns a 401 if the token has expired and a 403 for invalid access token.

func (*Client) GetUsage

func (c *Client) GetUsage(ctx context.Context, i *GetUsageInput) (*UsageResponse, error)

GetUsage returns usage information aggregated across all Fastly services and grouped by region.

func (*Client) GetUsageByService

func (c *Client) GetUsageByService(ctx context.Context, i *GetUsageInput) (*UsageByServiceResponse, error)

GetUsageByService returns usage information aggregated by service and grouped by service and region.

func (*Client) GetUser

func (c *Client) GetUser(ctx context.Context, i *GetUserInput) (*User, error)

GetUser retrieves the specified resource.

If no user exists for the given id, the API returns a 404 response.

func (*Client) GetVCL

func (c *Client) GetVCL(ctx context.Context, i *GetVCLInput) (*VCL, error)

GetVCL retrieves the specified resource.

func (*Client) GetVersion

func (c *Client) GetVersion(ctx context.Context, i *GetVersionInput) (*Version, error)

GetVersion retrieves the specified resource.

func (*Client) GetWebhookSigningKey

func (c *Client) GetWebhookSigningKey(ctx context.Context, i *GetWebhookSigningKeyInput) (*WebhookSigningKeyResponse, error)

GetWebhookSigningKey retrieves the signing key for a webhook integration.

func (*Client) Head

func (c *Client) Head(ctx context.Context, p string, ro RequestOptions) (*http.Response, error)

Head issues an HTTP HEAD request.

func (*Client) IPs

func (c *Client) IPs(ctx context.Context) (IPAddrs, error)

IPs returns the list of public IPv4 addresses for Fastly's network.

func (*Client) IPsV6

func (c *Client) IPsV6(ctx context.Context) (IPAddrs, error)

IPsV6 returns the list of public IPv6 addresses for Fastly's network.

func (*Client) InsertKVStoreKey

func (c *Client) InsertKVStoreKey(ctx context.Context, i *InsertKVStoreKeyInput) error

InsertKVStoreKey inserts a key/value pair into an kv store.

func (*Client) LatestVersion

func (c *Client) LatestVersion(ctx context.Context, i *LatestVersionInput) (*Version, error)

LatestVersion retrieves the specified resource.

If there are no versions, this function will return nil (but not an error).

func (*Client) ListACLEntries

func (c *Client) ListACLEntries(ctx context.Context, i *ListACLEntriesInput) ([]*ACLEntry, error)

ListACLEntries retrieves all resources. Not suitable for large collections.

func (*Client) ListACLs

func (c *Client) ListACLs(ctx context.Context, i *ListACLsInput) ([]*ACL, error)

ListACLs retrieves all resources.

func (*Client) ListAlertDefinitions

func (c *Client) ListAlertDefinitions(ctx context.Context, i *ListAlertDefinitionsInput) (*AlertDefinitionsResponse, error)

ListAlertDefinitions retrieves filtered, paginated alert definitions.

func (*Client) ListAlertHistory

func (c *Client) ListAlertHistory(ctx context.Context, i *ListAlertHistoryInput) (*AlertHistoryResponse, error)

ListAlertHistory retrieves filtered, paginated alert history records.

func (*Client) ListAutomationTokens

func (c *Client) ListAutomationTokens(ctx context.Context) ([]*AutomationToken, error)

ListAutomationTokens retrieves all resources.

func (*Client) ListBackends

func (c *Client) ListBackends(ctx context.Context, i *ListBackendsInput) ([]*Backend, error)

ListBackends retrieves all resources.

func (*Client) ListBigQueries

func (c *Client) ListBigQueries(ctx context.Context, i *ListBigQueriesInput) ([]*BigQuery, error)

ListBigQueries retrieves all resources.

func (*Client) ListBlobStorages

func (c *Client) ListBlobStorages(ctx context.Context, i *ListBlobStoragesInput) ([]*BlobStorage, error)

ListBlobStorages retrieves all resources.

func (*Client) ListBulkCertificates

func (c *Client) ListBulkCertificates(ctx context.Context, i *ListBulkCertificatesInput) ([]*BulkCertificate, error)

ListBulkCertificates retrieves all resources.

func (*Client) ListCacheSettings

func (c *Client) ListCacheSettings(ctx context.Context, i *ListCacheSettingsInput) ([]*CacheSetting, error)

ListCacheSettings retrieves all resources.

func (*Client) ListCloudfiles

func (c *Client) ListCloudfiles(ctx context.Context, i *ListCloudfilesInput) ([]*Cloudfiles, error)

ListCloudfiles retrieves all resources.

func (*Client) ListConditions

func (c *Client) ListConditions(ctx context.Context, i *ListConditionsInput) ([]*Condition, error)

ListConditions retrieves all resources.

func (*Client) ListConfigStoreItems

func (c *Client) ListConfigStoreItems(ctx context.Context, i *ListConfigStoreItemsInput) ([]*ConfigStoreItem, error)

ListConfigStoreItems returns a list of config store items for the given store.

func (*Client) ListConfigStoreServices

func (c *Client) ListConfigStoreServices(ctx context.Context, i *ListConfigStoreServicesInput) ([]*Service, error)

ListConfigStoreServices returns the list of services that are associated with a given config store.

func (*Client) ListConfigStores

func (c *Client) ListConfigStores(ctx context.Context, i *ListConfigStoresInput) ([]*ConfigStore, error)

ListConfigStores returns a list of config stores sorted by name.

func (*Client) ListCustomTLSCertificates

func (c *Client) ListCustomTLSCertificates(ctx context.Context, i *ListCustomTLSCertificatesInput) ([]*CustomTLSCertificate, error)

ListCustomTLSCertificates retrieves all resources.

func (*Client) ListCustomTLSConfigurations

func (c *Client) ListCustomTLSConfigurations(ctx context.Context, i *ListCustomTLSConfigurationsInput) ([]*CustomTLSConfiguration, error)

ListCustomTLSConfigurations retrieves all resources.

func (*Client) ListCustomerTokens

func (c *Client) ListCustomerTokens(ctx context.Context, i *ListCustomerTokensInput) ([]*Token, error)

ListCustomerTokens retrieves all resources.

func (*Client) ListCustomerUsers

func (c *Client) ListCustomerUsers(ctx context.Context, i *ListCustomerUsersInput) ([]*User, error)

ListCustomerUsers retrieves all resources.

func (*Client) ListDatadog

func (c *Client) ListDatadog(ctx context.Context, i *ListDatadogInput) ([]*Datadog, error)

ListDatadog retrieves all resources.

func (*Client) ListDictionaries

func (c *Client) ListDictionaries(ctx context.Context, i *ListDictionariesInput) ([]*Dictionary, error)

ListDictionaries retrieves all resources.

func (*Client) ListDictionaryItems

func (c *Client) ListDictionaryItems(ctx context.Context, i *ListDictionaryItemsInput) ([]*DictionaryItem, error)

ListDictionaryItems retrieves all resources. Not suitable for large collections.

func (*Client) ListDigitalOceans

func (c *Client) ListDigitalOceans(ctx context.Context, i *ListDigitalOceansInput) ([]*DigitalOcean, error)

ListDigitalOceans retrieves all resources.

func (*Client) ListDirectors

func (c *Client) ListDirectors(ctx context.Context, i *ListDirectorsInput) ([]*Director, error)

ListDirectors retrieves all resources.

func (*Client) ListDomains

func (c *Client) ListDomains(ctx context.Context, i *ListDomainsInput) ([]*Domain, error)

ListDomains retrieves all resources.

func (*Client) ListERLs

func (c *Client) ListERLs(ctx context.Context, i *ListERLsInput) ([]*ERL, error)

ListERLs retrieves all resources.

func (*Client) ListElasticsearch

func (c *Client) ListElasticsearch(ctx context.Context, i *ListElasticsearchInput) ([]*Elasticsearch, error)

ListElasticsearch retrieves all resources.

func (*Client) ListFTPs

func (c *Client) ListFTPs(ctx context.Context, i *ListFTPsInput) ([]*FTP, error)

ListFTPs retrieves all resources.

func (*Client) ListGCSs

func (c *Client) ListGCSs(ctx context.Context, i *ListGCSsInput) ([]*GCS, error)

ListGCSs retrieves all resources.

func (*Client) ListGrafanaCloudLogs

func (c *Client) ListGrafanaCloudLogs(ctx context.Context, i *ListGrafanaCloudLogsInput) ([]*GrafanaCloudLogs, error)

ListGrafanaCloudLogs retrieves all resources.

func (*Client) ListGzips

func (c *Client) ListGzips(ctx context.Context, i *ListGzipsInput) ([]*Gzip, error)

ListGzips retrieves all resources.

func (*Client) ListHTTPS

func (c *Client) ListHTTPS(ctx context.Context, i *ListHTTPSInput) ([]*HTTPS, error)

ListHTTPS retrieves all resources.

func (*Client) ListHeaders

func (c *Client) ListHeaders(ctx context.Context, i *ListHeadersInput) ([]*Header, error)

ListHeaders retrieves all resources.

func (*Client) ListHealthChecks

func (c *Client) ListHealthChecks(ctx context.Context, i *ListHealthChecksInput) ([]*HealthCheck, error)

ListHealthChecks retrieves all resources.

func (*Client) ListHerokus

func (c *Client) ListHerokus(ctx context.Context, i *ListHerokusInput) ([]*Heroku, error)

ListHerokus retrieves all resources.

func (*Client) ListHoneycombs

func (c *Client) ListHoneycombs(ctx context.Context, i *ListHoneycombsInput) ([]*Honeycomb, error)

ListHoneycombs retrieves all resources.

func (*Client) ListKVStoreKeys

func (c *Client) ListKVStoreKeys(ctx context.Context, i *ListKVStoreKeysInput) (*ListKVStoreKeysResponse, error)

ListKVStoreKeys retrieves all resources.

func (*Client) ListKVStores

func (c *Client) ListKVStores(ctx context.Context, i *ListKVStoresInput) (*ListKVStoresResponse, error)

ListKVStores retrieves all resources.

func (*Client) ListKafkas

func (c *Client) ListKafkas(ctx context.Context, i *ListKafkasInput) ([]*Kafka, error)

ListKafkas retrieves all resources.

func (*Client) ListKinesis

func (c *Client) ListKinesis(ctx context.Context, i *ListKinesisInput) ([]*Kinesis, error)

ListKinesis retrieves all resources.

func (*Client) ListLogentries

func (c *Client) ListLogentries(ctx context.Context, i *ListLogentriesInput) ([]*Logentries, error)

ListLogentries retrieves all resources.

func (*Client) ListLoggly

func (c *Client) ListLoggly(ctx context.Context, i *ListLogglyInput) ([]*Loggly, error)

ListLoggly retrieves all resources.

func (*Client) ListLogshuttles

func (c *Client) ListLogshuttles(ctx context.Context, i *ListLogshuttlesInput) ([]*Logshuttle, error)

ListLogshuttles retrieves all resources.

func (*Client) ListNewRelic

func (c *Client) ListNewRelic(ctx context.Context, i *ListNewRelicInput) ([]*NewRelic, error)

ListNewRelic retrieves all resources.

func (*Client) ListNewRelicOTLP

func (c *Client) ListNewRelicOTLP(ctx context.Context, i *ListNewRelicOTLPInput) ([]*NewRelicOTLP, error)

ListNewRelicOTLP returns the list of newrelic for the configuration version.

func (*Client) ListObservabilityCustomDashboards

func (c *Client) ListObservabilityCustomDashboards(ctx context.Context, i *ListObservabilityCustomDashboardsInput) (*ListDashboardsResponse, error)

func (*Client) ListOpenstack

func (c *Client) ListOpenstack(ctx context.Context, i *ListOpenstackInput) ([]*Openstack, error)

ListOpenstack retrieves all resources.

func (*Client) ListPapertrails

func (c *Client) ListPapertrails(ctx context.Context, i *ListPapertrailsInput) ([]*Papertrail, error)

ListPapertrails retrieves all resources.

func (*Client) ListPools

func (c *Client) ListPools(ctx context.Context, i *ListPoolsInput) ([]*Pool, error)

ListPools retrieves all resources.

func (*Client) ListPrivateKeys

func (c *Client) ListPrivateKeys(ctx context.Context, i *ListPrivateKeysInput) ([]*PrivateKey, error)

ListPrivateKeys retrieves all resources.

func (*Client) ListPubsubs

func (c *Client) ListPubsubs(ctx context.Context, i *ListPubsubsInput) ([]*Pubsub, error)

ListPubsubs retrieves all resources.

func (*Client) ListRequestSettings

func (c *Client) ListRequestSettings(ctx context.Context, i *ListRequestSettingsInput) ([]*RequestSetting, error)

ListRequestSettings retrieves all resources.

func (*Client) ListResources

func (c *Client) ListResources(ctx context.Context, i *ListResourcesInput) ([]*Resource, error)

ListResources retrieves all resources.

func (*Client) ListResponseObjects

func (c *Client) ListResponseObjects(ctx context.Context, i *ListResponseObjectsInput) ([]*ResponseObject, error)

ListResponseObjects retrieves all resources.

func (*Client) ListS3s

func (c *Client) ListS3s(ctx context.Context, i *ListS3sInput) ([]*S3, error)

ListS3s retrieves all resources.

func (*Client) ListSFTPs

func (c *Client) ListSFTPs(ctx context.Context, i *ListSFTPsInput) ([]*SFTP, error)

ListSFTPs retrieves all resources.

func (*Client) ListScalyrs

func (c *Client) ListScalyrs(ctx context.Context, i *ListScalyrsInput) ([]*Scalyr, error)

ListScalyrs retrieves all resources.

func (*Client) ListSecretStores

func (c *Client) ListSecretStores(ctx context.Context, i *ListSecretStoresInput) (*SecretStores, error)

ListSecretStores retrieves all resources.

The returned next cursor, if non-blank, can be used as input to a subsequent request for the next page of results.

func (*Client) ListSecrets

func (c *Client) ListSecrets(ctx context.Context, i *ListSecretsInput) (*Secrets, error)

ListSecrets retrieves all resources.

The returned next cursor, if non-blank, can be used as input to a subsequent request for the next page of results.

func (*Client) ListServers

func (c *Client) ListServers(ctx context.Context, i *ListServersInput) ([]*Server, error)

ListServers retrieves all resources.

func (*Client) ListServiceAuthorizations

func (c *Client) ListServiceAuthorizations(ctx context.Context, i *ListServiceAuthorizationsInput) (*ServiceAuthorizations, error)

ListServiceAuthorizations retrieves all resources.

func (*Client) ListServiceDomains

func (c *Client) ListServiceDomains(ctx context.Context, i *ListServiceDomainInput) (ServiceDomainsList, error)

ListServiceDomains retrieves all resources.

func (*Client) ListServices

func (c *Client) ListServices(ctx context.Context, i *ListServicesInput) ([]*Service, error)

ListServices retrieves all resources. Not suitable for large collections.

func (*Client) ListSnippets

func (c *Client) ListSnippets(ctx context.Context, i *ListSnippetsInput) ([]*Snippet, error)

ListSnippets retrieves all resources.

Content is not displayed for Dynmanic Snippets due to them being versionless, use the GetDynamicSnippet function to show current content.

func (*Client) ListSplunks

func (c *Client) ListSplunks(ctx context.Context, i *ListSplunksInput) ([]*Splunk, error)

ListSplunks retrieves all resources.

func (*Client) ListSumologics

func (c *Client) ListSumologics(ctx context.Context, i *ListSumologicsInput) ([]*Sumologic, error)

ListSumologics retrieves all resources.

func (*Client) ListSyslogs

func (c *Client) ListSyslogs(ctx context.Context, i *ListSyslogsInput) ([]*Syslog, error)

ListSyslogs retrieves all resources.

func (*Client) ListTLSActivations

func (c *Client) ListTLSActivations(ctx context.Context, i *ListTLSActivationsInput) ([]*TLSActivation, error)

ListTLSActivations retrieves all resources.

func (*Client) ListTLSDomains

func (c *Client) ListTLSDomains(ctx context.Context, i *ListTLSDomainsInput) ([]*TLSDomain, error)

ListTLSDomains retrieves all resources.

func (*Client) ListTLSMutualAuthentication

func (c *Client) ListTLSMutualAuthentication(ctx context.Context, i *ListTLSMutualAuthenticationsInput) ([]*TLSMutualAuthentication, error)

ListTLSMutualAuthentication retrieves all resources.

func (*Client) ListTLSSubscriptions

func (c *Client) ListTLSSubscriptions(ctx context.Context, i *ListTLSSubscriptionsInput) ([]*TLSSubscription, error)

ListTLSSubscriptions retrieves all resources.

func (*Client) ListTokens

func (c *Client) ListTokens(ctx context.Context, _ *ListTokensInput) ([]*Token, error)

ListTokens retrieves all resources.

func (*Client) ListVCLs

func (c *Client) ListVCLs(ctx context.Context, i *ListVCLsInput) ([]*VCL, error)

ListVCLs retrieves all resources.

func (*Client) ListVersions

func (c *Client) ListVersions(ctx context.Context, i *ListVersionsInput) ([]*Version, error)

ListVersions retrieves all resources.

func (*Client) LockVersion

func (c *Client) LockVersion(ctx context.Context, i *LockVersionInput) (*Version, error)

LockVersion locks the specified version.

func (*Client) NewListKVStoreKeysPaginator

func (c *Client) NewListKVStoreKeysPaginator(ctx context.Context, i *ListKVStoreKeysInput) PaginatorKVStoreEntries

NewListKVStoreKeysPaginator returns a new paginator for the provided LitKVStoreKeysInput.

func (*Client) NewListKVStoresPaginator

func (c *Client) NewListKVStoresPaginator(ctx context.Context, i *ListKVStoresInput) *ListKVStoresPaginator

NewListKVStoresPaginator creates a new paginator for the given ListKVStoresInput.

func (*Client) Patch

func (c *Client) Patch(ctx context.Context, p string, ro RequestOptions) (*http.Response, error)

Patch issues an HTTP PATCH request.

func (*Client) PatchForm

func (c *Client) PatchForm(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

PatchForm issues an HTTP PUT request with the given interface form-encoded.

func (*Client) PatchJSON

func (c *Client) PatchJSON(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

PatchJSON issues an HTTP PUT request with the given interface json-encoded.

func (*Client) PatchJSONAPI

func (c *Client) PatchJSONAPI(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

PatchJSONAPI issues an HTTP PUT request with the given interface json-encoded.

func (*Client) Post

func (c *Client) Post(ctx context.Context, p string, ro RequestOptions) (*http.Response, error)

Post issues an HTTP POST request.

func (*Client) PostForm

func (c *Client) PostForm(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

PostForm issues an HTTP POST request with the given interface form-encoded.

func (*Client) PostJSON

func (c *Client) PostJSON(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

PostJSON issues an HTTP POST request with the given interface json-encoded.

func (*Client) PostJSONAPI

func (c *Client) PostJSONAPI(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

PostJSONAPI issues an HTTP POST request with the given interface json-encoded.

func (*Client) PostJSONAPIBulk

func (c *Client) PostJSONAPIBulk(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

PostJSONAPIBulk issues an HTTP POST request with the given interface json-encoded and bulk requests.

func (*Client) Purge

func (c *Client) Purge(ctx context.Context, i *PurgeInput) (*Purge, error)

Purge instantly purges an individual URL.

func (*Client) PurgeAll

func (c *Client) PurgeAll(ctx context.Context, i *PurgeAllInput) (*Purge, error)

PurgeAll instantly purges everything from a service.

func (*Client) PurgeKey

func (c *Client) PurgeKey(ctx context.Context, i *PurgeKeyInput) (*Purge, error)

PurgeKey instantly purges a particular service of items tagged with a key.

func (*Client) PurgeKeys

func (c *Client) PurgeKeys(ctx context.Context, i *PurgeKeysInput) (map[string]string, error)

PurgeKeys instantly purges a particular service of items tagged with a key.

func (*Client) Put

func (c *Client) Put(ctx context.Context, p string, ro RequestOptions) (*http.Response, error)

Put issues an HTTP PUT request.

func (*Client) PutForm

func (c *Client) PutForm(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

PutForm issues an HTTP PUT request with the given interface form-encoded.

func (*Client) PutFormFile

func (c *Client) PutFormFile(ctx context.Context, urlPath, filePath, fieldName string, ro RequestOptions) (*http.Response, error)

PutFormFile issues an HTTP PUT request (multipart/form-encoded) to put a file to an endpoint.

func (*Client) PutFormFileFromReader

func (c *Client) PutFormFileFromReader(ctx context.Context, urlPath, fileName string, fileBytes io.Reader, fieldName string, ro RequestOptions) (*http.Response, error)

PutFormFileFromReader issues an HTTP PUT request (multipart/form-encoded) to put a file to an endpoint.

func (*Client) PutJSON

func (c *Client) PutJSON(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

PutJSON issues an HTTP PUT request with the given interface json-encoded.

func (*Client) PutJSONAPI

func (c *Client) PutJSONAPI(ctx context.Context, p string, i any, ro RequestOptions) (*http.Response, error)

PutJSONAPI issues an HTTP PUT request with the given interface json-encoded.

func (*Client) RateLimitRemaining

func (c *Client) RateLimitRemaining() int

RateLimitRemaining returns the number of non-read requests left before rate limiting causes a 429 Too Many Requests error.

Example
package main

import (
	"context"
	"fmt"
	"log"

	"github.com/fastly/go-fastly/v12/fastly"
)

func main() {
	token := "your_api_token"
	sid := "your_service_id"
	dictName := "your_dict_name"

	c, err := fastly.NewClient(token)
	if err != nil {
		log.Fatal(err)
	}

	v, err := c.LatestVersion(context.TODO(), &fastly.LatestVersionInput{ServiceID: sid})
	if err != nil {
		log.Fatal(err)
	}

	dict, err := c.GetDictionary(context.TODO(), &fastly.GetDictionaryInput{
		ServiceID:      sid,
		ServiceVersion: *v.Number,
		Name:           dictName,
	})
	if err != nil {
		log.Fatal(err)
	}

	_, err = c.CreateDictionaryItem(context.TODO(), &fastly.CreateDictionaryItemInput{
		ServiceID:    sid,
		DictionaryID: *dict.DictionaryID,
		ItemKey:      fastly.ToPointer("test-dictionary-item"),
		ItemValue:    fastly.ToPointer("value"),
	})
	if err != nil {
		log.Fatal(err)
	}
	fmt.Printf("Writes remaining before '429 Too Many Requests': %d\n", c.RateLimitRemaining())
	fmt.Printf("Next rate limit reset expected at %v\n", c.RateLimitReset())

	for i := 1; i < 10; i++ {
		_, err := c.UpdateDictionaryItem(context.TODO(), &fastly.UpdateDictionaryItemInput{
			ServiceID:    sid,
			DictionaryID: *dict.DictionaryID,
			ItemKey:      "test-dictionary-item",
			ItemValue:    fmt.Sprintf("value%d", i),
		})
		if err != nil {
			log.Fatal(err)
		}
		fmt.Printf("Writes remaining before '429 Too Many Requests': %d\n", c.RateLimitRemaining())
		fmt.Printf("Next rate limit reset expected at %v\n", c.RateLimitReset())
	}
}

func (*Client) RateLimitReset

func (c *Client) RateLimitReset() time.Time

RateLimitReset returns the next time the rate limiter's counter will be reset.

func (*Client) RawRequest

func (c *Client) RawRequest(ctx context.Context, verb, p string, ro RequestOptions) (*http.Request, error)

RawRequest accepts a verb, URL, and RequestOptions struct and returns the constructed http.Request and any errors that occurred.

func (*Client) Request

func (c *Client) Request(ctx context.Context, verb, p string, ro RequestOptions) (*http.Response, error)

Request makes an HTTP request against the HTTPClient using the given verb, Path, and request options.

func (*Client) RequestForm

func (c *Client) RequestForm(ctx context.Context, verb, p string, i any, ro RequestOptions) (*http.Response, error)

RequestForm makes an HTTP request with the given interface being encoded as form data.

func (*Client) RequestFormFile

func (c *Client) RequestFormFile(ctx context.Context, verb, urlPath, filePath, fieldName string, ro RequestOptions) (*http.Response, error)

RequestFormFile makes an HTTP request to upload a file to an endpoint.

func (*Client) RequestFormFileFromReader

func (c *Client) RequestFormFileFromReader(ctx context.Context, verb, urlPath, fileName string, fileBytes io.Reader, fieldName string, ro RequestOptions) (*http.Response, error)

RequestFormFileFromReader makes an HTTP request to upload a raw reader to an endpoint.

func (*Client) RequestJSON

func (c *Client) RequestJSON(ctx context.Context, verb, p string, i any, ro RequestOptions) (*http.Response, error)

RequestJSON constructs a JSON HTTP request.

func (*Client) RequestJSONAPI

func (c *Client) RequestJSONAPI(ctx context.Context, verb, p string, i any, ro RequestOptions) (*http.Response, error)

RequestJSONAPI constructs a JSON API HTTP request.

func (*Client) RequestJSONAPIBulk

func (c *Client) RequestJSONAPIBulk(ctx context.Context, verb, p string, i any, ro RequestOptions) (*http.Response, error)

RequestJSONAPIBulk constructs a bulk JSON API HTTP request.

func (*Client) ResetUserPassword

func (c *Client) ResetUserPassword(ctx context.Context, i *ResetUserPasswordInput) error

ResetUserPassword revokes a specific token by its ID.

func (*Client) RotateWebhookSigningKey

func (c *Client) RotateWebhookSigningKey(ctx context.Context, i *RotateWebhookSigningKeyInput) (*WebhookSigningKeyResponse, error)

RotateWebhookSigningKey rotates the signing key for a webhook integration.

func (*Client) SearchIntegrations

SearchIntegrations retrieves filtered, paginated integrations.

func (*Client) SearchService

func (c *Client) SearchService(ctx context.Context, i *SearchServiceInput) (*Service, error)

SearchService retrieves the specified resource.

If no service exists by that name, the API returns a 400 response not a 404.

func (*Client) SimpleGet

func (c *Client) SimpleGet(ctx context.Context, target string) (*http.Response, error)

SimpleGet combines the RawRequest and Request methods, but doesn't add any parameters or change any encoding in the URL passed to it. It's mostly for calling the URLs given to us directly from Fastly without mangling them.

func (*Client) TestAlertDefinition

func (c *Client) TestAlertDefinition(ctx context.Context, i *TestAlertDefinitionInput) error

TestAlertDefinition validates alert definition and sends test notifications without creating.

func (*Client) UpdateACL

func (c *Client) UpdateACL(ctx context.Context, i *UpdateACLInput) (*ACL, error)

UpdateACL updates the specified resource.

func (*Client) UpdateACLEntry

func (c *Client) UpdateACLEntry(ctx context.Context, i *UpdateACLEntryInput) (*ACLEntry, error)

UpdateACLEntry updates the specified resource.

func (*Client) UpdateAlertDefinition

func (c *Client) UpdateAlertDefinition(ctx context.Context, i *UpdateAlertDefinitionInput) (*AlertDefinition, error)

UpdateAlertDefinition updates the specified alert definition.

func (*Client) UpdateBackend

func (c *Client) UpdateBackend(ctx context.Context, i *UpdateBackendInput) (*Backend, error)

UpdateBackend updates the specified resource.

func (*Client) UpdateBigQuery

func (c *Client) UpdateBigQuery(ctx context.Context, i *UpdateBigQueryInput) (*BigQuery, error)

UpdateBigQuery updates the specified resource.

func (*Client) UpdateBlobStorage

func (c *Client) UpdateBlobStorage(ctx context.Context, i *UpdateBlobStorageInput) (*BlobStorage, error)

UpdateBlobStorage updates the specified resource.

func (*Client) UpdateBulkCertificate

func (c *Client) UpdateBulkCertificate(ctx context.Context, i *UpdateBulkCertificateInput) (*BulkCertificate, error)

UpdateBulkCertificate updates the specified resource.

By using this endpoint, the original certificate will cease to be used for future TLS handshakes. Thus, only SAN entries that appear in the replacement certificate will become TLS enabled. Any SAN entries that are missing in the replacement certificate will become disabled.

func (*Client) UpdateCacheSetting

func (c *Client) UpdateCacheSetting(ctx context.Context, i *UpdateCacheSettingInput) (*CacheSetting, error)

UpdateCacheSetting updates the specified resource.

func (*Client) UpdateCloudfiles

func (c *Client) UpdateCloudfiles(ctx context.Context, i *UpdateCloudfilesInput) (*Cloudfiles, error)

UpdateCloudfiles updates the specified resource.

func (*Client) UpdateCondition

func (c *Client) UpdateCondition(ctx context.Context, i *UpdateConditionInput) (*Condition, error)

UpdateCondition updates the specified resource.

func (*Client) UpdateConfigStore

func (c *Client) UpdateConfigStore(ctx context.Context, i *UpdateConfigStoreInput) (*ConfigStore, error)

UpdateConfigStore updates a specific config store.

func (*Client) UpdateConfigStoreItem

func (c *Client) UpdateConfigStoreItem(ctx context.Context, i *UpdateConfigStoreItemInput) (*ConfigStoreItem, error)

UpdateConfigStoreItem updates a specific config store item.

func (*Client) UpdateCustomTLSCertificate

func (c *Client) UpdateCustomTLSCertificate(ctx context.Context, i *UpdateCustomTLSCertificateInput) (*CustomTLSCertificate, error)

UpdateCustomTLSCertificate updates the specified resource.

By using this endpoint, the original certificate will cease to be used for future TLS handshakes. Thus, only SAN entries that appear in the replacement certificate will become TLS enabled. Any SAN entries that are missing in the replacement certificate will become disabled.

func (*Client) UpdateCustomTLSConfiguration

func (c *Client) UpdateCustomTLSConfiguration(ctx context.Context, i *UpdateCustomTLSConfigurationInput) (*CustomTLSConfiguration, error)

UpdateCustomTLSConfiguration updates the specified resource.

func (*Client) UpdateDatadog

func (c *Client) UpdateDatadog(ctx context.Context, i *UpdateDatadogInput) (*Datadog, error)

UpdateDatadog updates the specified resource.

func (*Client) UpdateDictionary

func (c *Client) UpdateDictionary(ctx context.Context, i *UpdateDictionaryInput) (*Dictionary, error)

UpdateDictionary updates the specified resource.

func (*Client) UpdateDictionaryItem

func (c *Client) UpdateDictionaryItem(ctx context.Context, i *UpdateDictionaryItemInput) (*DictionaryItem, error)

UpdateDictionaryItem updates the specified resource.

func (*Client) UpdateDigitalOcean

func (c *Client) UpdateDigitalOcean(ctx context.Context, i *UpdateDigitalOceanInput) (*DigitalOcean, error)

UpdateDigitalOcean updates the specified resource.

func (*Client) UpdateDirector

func (c *Client) UpdateDirector(ctx context.Context, i *UpdateDirectorInput) (*Director, error)

UpdateDirector updates the specified resource.

func (*Client) UpdateDomain

func (c *Client) UpdateDomain(ctx context.Context, i *UpdateDomainInput) (*Domain, error)

UpdateDomain updates the specified resource.

func (*Client) UpdateDynamicSnippet

func (c *Client) UpdateDynamicSnippet(ctx context.Context, i *UpdateDynamicSnippetInput) (*DynamicSnippet, error)

UpdateDynamicSnippet updates the specified resource.

func (*Client) UpdateERL

func (c *Client) UpdateERL(ctx context.Context, i *UpdateERLInput) (*ERL, error)

UpdateERL updates the specified resource.

func (*Client) UpdateElasticsearch

func (c *Client) UpdateElasticsearch(ctx context.Context, i *UpdateElasticsearchInput) (*Elasticsearch, error)

UpdateElasticsearch updates the specified resource.

func (*Client) UpdateFTP

func (c *Client) UpdateFTP(ctx context.Context, i *UpdateFTPInput) (*FTP, error)

UpdateFTP updates the specified resource.

func (*Client) UpdateGCS

func (c *Client) UpdateGCS(ctx context.Context, i *UpdateGCSInput) (*GCS, error)

UpdateGCS updates the specified resource.

func (*Client) UpdateGrafanaCloudLogs

func (c *Client) UpdateGrafanaCloudLogs(ctx context.Context, i *UpdateGrafanaCloudLogsInput) (*GrafanaCloudLogs, error)

UpdateGrafanaCloudLogs updates the specified resource.

func (*Client) UpdateGzip

func (c *Client) UpdateGzip(ctx context.Context, i *UpdateGzipInput) (*Gzip, error)

UpdateGzip updates the specified resource.

func (*Client) UpdateHTTPS

func (c *Client) UpdateHTTPS(ctx context.Context, i *UpdateHTTPSInput) (*HTTPS, error)

UpdateHTTPS updates the specified resource.

func (*Client) UpdateHeader

func (c *Client) UpdateHeader(ctx context.Context, i *UpdateHeaderInput) (*Header, error)

UpdateHeader updates the specified resource.

func (*Client) UpdateHealthCheck

func (c *Client) UpdateHealthCheck(ctx context.Context, i *UpdateHealthCheckInput) (*HealthCheck, error)

UpdateHealthCheck updates the specified resource.

func (*Client) UpdateHeroku

func (c *Client) UpdateHeroku(ctx context.Context, i *UpdateHerokuInput) (*Heroku, error)

UpdateHeroku updates the specified resource.

func (*Client) UpdateHoneycomb

func (c *Client) UpdateHoneycomb(ctx context.Context, i *UpdateHoneycombInput) (*Honeycomb, error)

UpdateHoneycomb updates the specified resource.

func (*Client) UpdateImageOptimizerDefaultSettings

func (c *Client) UpdateImageOptimizerDefaultSettings(ctx context.Context, i *UpdateImageOptimizerDefaultSettingsInput) (*ImageOptimizerDefaultSettings, error)

UpdateImageOptimizerDefaultSettings Update one or more default settings.

A minimum of one non-nil property is required.

Returns the new Image Optimizer default settings.

func (*Client) UpdateIntegration

func (c *Client) UpdateIntegration(ctx context.Context, i *UpdateIntegrationInput) error

UpdateIntegration updates the specified integration.

func (*Client) UpdateKafka

func (c *Client) UpdateKafka(ctx context.Context, i *UpdateKafkaInput) (*Kafka, error)

UpdateKafka updates the specified resource.

func (*Client) UpdateKinesis

func (c *Client) UpdateKinesis(ctx context.Context, i *UpdateKinesisInput) (*Kinesis, error)

UpdateKinesis updates the specified resource.

func (*Client) UpdateLogentries

func (c *Client) UpdateLogentries(ctx context.Context, i *UpdateLogentriesInput) (*Logentries, error)

UpdateLogentries updates the specified resource.

func (*Client) UpdateLoggly

func (c *Client) UpdateLoggly(ctx context.Context, i *UpdateLogglyInput) (*Loggly, error)

UpdateLoggly updates the specified resource.

func (*Client) UpdateLogshuttle

func (c *Client) UpdateLogshuttle(ctx context.Context, i *UpdateLogshuttleInput) (*Logshuttle, error)

UpdateLogshuttle updates the specified resource.

func (*Client) UpdateNewRelic

func (c *Client) UpdateNewRelic(ctx context.Context, i *UpdateNewRelicInput) (*NewRelic, error)

UpdateNewRelic updates the specified resource.

func (*Client) UpdateNewRelicOTLP

func (c *Client) UpdateNewRelicOTLP(ctx context.Context, i *UpdateNewRelicOTLPInput) (*NewRelicOTLP, error)

UpdateNewRelicOTLP updates a specific newrelic.

func (*Client) UpdateOpenstack

func (c *Client) UpdateOpenstack(ctx context.Context, i *UpdateOpenstackInput) (*Openstack, error)

UpdateOpenstack updates the specified resource.

func (*Client) UpdatePackage

func (c *Client) UpdatePackage(ctx context.Context, i *UpdatePackageInput) (*Package, error)

UpdatePackage updates the specified resource.

func (*Client) UpdatePapertrail

func (c *Client) UpdatePapertrail(ctx context.Context, i *UpdatePapertrailInput) (*Papertrail, error)

UpdatePapertrail updates the specified resource.

func (*Client) UpdatePool

func (c *Client) UpdatePool(ctx context.Context, i *UpdatePoolInput) (*Pool, error)

UpdatePool updates the specified resource.

func (*Client) UpdatePubsub

func (c *Client) UpdatePubsub(ctx context.Context, i *UpdatePubsubInput) (*Pubsub, error)

UpdatePubsub updates the specified resource.

func (*Client) UpdateRequestSetting

func (c *Client) UpdateRequestSetting(ctx context.Context, i *UpdateRequestSettingInput) (*RequestSetting, error)

UpdateRequestSetting updates the specified resource.

func (*Client) UpdateResource

func (c *Client) UpdateResource(ctx context.Context, i *UpdateResourceInput) (*Resource, error)

UpdateResource updates the specified resource.

func (*Client) UpdateResponseObject

func (c *Client) UpdateResponseObject(ctx context.Context, i *UpdateResponseObjectInput) (*ResponseObject, error)

UpdateResponseObject updates the specified resource.

func (*Client) UpdateS3

func (c *Client) UpdateS3(ctx context.Context, i *UpdateS3Input) (*S3, error)

UpdateS3 updates the specified resource.

func (*Client) UpdateSFTP

func (c *Client) UpdateSFTP(ctx context.Context, i *UpdateSFTPInput) (*SFTP, error)

UpdateSFTP updates the specified resource.

func (*Client) UpdateScalyr

func (c *Client) UpdateScalyr(ctx context.Context, i *UpdateScalyrInput) (*Scalyr, error)

UpdateScalyr updates the specified resource.

func (*Client) UpdateServer

func (c *Client) UpdateServer(ctx context.Context, i *UpdateServerInput) (*Server, error)

UpdateServer updates the specified resource.

func (*Client) UpdateService

func (c *Client) UpdateService(ctx context.Context, i *UpdateServiceInput) (*Service, error)

UpdateService updates the specified resource.

func (*Client) UpdateServiceAuthorization

func (c *Client) UpdateServiceAuthorization(ctx context.Context, i *UpdateServiceAuthorizationInput) (*ServiceAuthorization, error)

UpdateServiceAuthorization updates the specified resource.

func (*Client) UpdateSettings

func (c *Client) UpdateSettings(ctx context.Context, i *UpdateSettingsInput) (*Settings, error)

UpdateSettings updates the specified resource.

func (*Client) UpdateSnippet

func (c *Client) UpdateSnippet(ctx context.Context, i *UpdateSnippetInput) (*Snippet, error)

UpdateSnippet updates the specified resource.

func (*Client) UpdateSplunk

func (c *Client) UpdateSplunk(ctx context.Context, i *UpdateSplunkInput) (*Splunk, error)

UpdateSplunk updates the specified resource.

func (*Client) UpdateSumologic

func (c *Client) UpdateSumologic(ctx context.Context, i *UpdateSumologicInput) (*Sumologic, error)

UpdateSumologic updates the specified resource.

func (*Client) UpdateSyslog

func (c *Client) UpdateSyslog(ctx context.Context, i *UpdateSyslogInput) (*Syslog, error)

UpdateSyslog updates the specified resource.

func (*Client) UpdateTLSActivation

func (c *Client) UpdateTLSActivation(ctx context.Context, i *UpdateTLSActivationInput) (*TLSActivation, error)

UpdateTLSActivation updates the specified resource.

func (*Client) UpdateTLSMutualAuthentication

func (c *Client) UpdateTLSMutualAuthentication(ctx context.Context, i *UpdateTLSMutualAuthenticationInput) (*TLSMutualAuthentication, error)

UpdateTLSMutualAuthentication updates the specified resource.

func (*Client) UpdateTLSSubscription

func (c *Client) UpdateTLSSubscription(ctx context.Context, i *UpdateTLSSubscriptionInput) (*TLSSubscription, error)

UpdateTLSSubscription updates the specified resource.

TLS Subscriptions can only be updated in an "issued" state, and when Force=true.

func (*Client) UpdateUser

func (c *Client) UpdateUser(ctx context.Context, i *UpdateUserInput) (*User, error)

UpdateUser updates the specified resource.

func (*Client) UpdateVCL

func (c *Client) UpdateVCL(ctx context.Context, i *UpdateVCLInput) (*VCL, error)

UpdateVCL updates the specified resource.

func (*Client) UpdateVersion

func (c *Client) UpdateVersion(ctx context.Context, i *UpdateVersionInput) (*Version, error)

UpdateVersion updates the specified resource.

func (*Client) ValidateAllDomains

func (c *Client) ValidateAllDomains(ctx context.Context, i *ValidateAllDomainsInput) (results []*DomainValidationResult, err error)

ValidateAllDomains validates the specified resource.

func (*Client) ValidateDomain

func (c *Client) ValidateDomain(ctx context.Context, i *ValidateDomainInput) (*DomainValidationResult, error)

ValidateDomain validates the specified resource.

func (*Client) ValidateVersion

func (c *Client) ValidateVersion(ctx context.Context, i *ValidateVersionInput) (bool, string, error)

ValidateVersion validates the specified resource.

type ClientKey

type ClientKey struct {
	PublicKey []byte    `json:"public_key"`
	Signature []byte    `json:"signature"`
	ExpiresAt time.Time `json:"expires_at"`
}

ClientKey is an X25519 public key that can be used with golang.org/x/crypto/nacl/box to encrypt secrets locally before uploading them to the Fastly API. A client key is valid only for a short amount of time, and should be used immediately. The key is not valid after the ExpiresAt time.

Client keys are signed, and the attached signature must be validated using the public signing key before it is used. A ValidateSignature method is provided for this purpose.

func (*ClientKey) Encrypt

func (ck *ClientKey) Encrypt(plaintext []byte) ([]byte, error)

Encrypt uses the client key to encrypt the provided plaintext using a libsodium-compatible sealed box. https://pkg.go.dev/golang.org/x/crypto/nacl/box#SealAnonymous https://libsodium.gitbook.io/doc/public-key_cryptography/sealed_boxes

func (*ClientKey) VerifySignature

func (ck *ClientKey) VerifySignature(signingKey ed25519.PublicKey) bool

VerifySignature reports if the signingKey was used to generate the client key's signature. It must be a valid Ed25519 public key, and it will panic if len(signingKey) is not ed25519.PublicKeySize. https://pkg.go.dev/crypto/ed25519#PublicKeySize

type CloneVersionInput

type CloneVersionInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

CloneVersionInput is the input to the CloneVersion function.

type Cloudfiles

type Cloudfiles struct {
	AccessKey         *string    `mapstructure:"access_key"`
	BucketName        *string    `mapstructure:"bucket_name"`
	CompressionCodec  *string    `mapstructure:"compression_codec"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	GzipLevel         *int       `mapstructure:"gzip_level"`
	MessageType       *string    `mapstructure:"message_type"`
	Name              *string    `mapstructure:"name"`
	Path              *string    `mapstructure:"path"`
	Period            *int       `mapstructure:"period"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	PublicKey         *string    `mapstructure:"public_key"`
	Region            *string    `mapstructure:"region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TimestampFormat   *string    `mapstructure:"timestamp_format"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	User              *string    `mapstructure:"user"`
}

Cloudfiles represents a Cloudfiles response from the Fastly API.

type Compatibool

type Compatibool bool

Compatibool is a boolean value that marshalls to 0/1 instead of true/false for compatibility with Fastly's API.

func (Compatibool) EncodeValues

func (b Compatibool) EncodeValues(key string, v *url.Values) error

EncodeValues implements github.com/google/go-querystring/query#Encoder interface.

func (Compatibool) MarshalText

func (b Compatibool) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface.

func (*Compatibool) UnmarshalText

func (b *Compatibool) UnmarshalText(t []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface.

type Condition

type Condition struct {
	Comment        *string    `mapstructure:"comment"`
	CreatedAt      *time.Time `mapstructure:"created_at"`
	DeletedAt      *time.Time `mapstructure:"deleted_at"`
	Name           *string    `mapstructure:"name"`
	Priority       *int       `mapstructure:"priority"`
	ServiceID      *string    `mapstructure:"service_id"`
	ServiceVersion *int       `mapstructure:"version"`
	Statement      *string    `mapstructure:"statement"`
	Type           *string    `mapstructure:"type"`
	UpdatedAt      *time.Time `mapstructure:"updated_at"`
}

Condition represents a condition response from the Fastly API.

type ConfigStore

type ConfigStore struct {
	CreatedAt *time.Time `json:"created_at"`
	DeletedAt *time.Time `json:"deleted_at"`
	Name      string     `json:"name"`
	StoreID   string     `json:"id"`
	UpdatedAt *time.Time `json:"updated_at"`
}

ConfigStore represents a config store response from the Fastly API.

type ConfigStoreItem

type ConfigStoreItem struct {
	StoreID   string     `json:"store_id"`
	Key       string     `json:"item_key"`
	Value     string     `json:"item_value"`
	CreatedAt *time.Time `json:"created_at"`
	UpdatedAt *time.Time `json:"updated_at"`
	DeletedAt *time.Time `json:"deleted_at"`
}

ConfigStoreItem is a config store item response from the Fastly API.

type ConfigStoreMetadata

type ConfigStoreMetadata struct {
	// ItemCount is the number of items in a store.
	ItemCount int `json:"item_count"`
}

ConfigStoreMetadata represents a config store metadata response from the Fastly API.

type Consistency

type Consistency int64

Consistency is a base for the different consistency variants.

const (
	ConsistencyUndefined Consistency = iota
	ConsistencyEventual
	ConsistencyStrong
)

func (Consistency) String

func (c Consistency) String() string

type Coordinates

type Coordinates struct {
	Latitude  *float64 `mapstructure:"latitude"`
	Longitude *float64 `mapstructure:"longitude"`
	X         *float64 `mapstructure:"x"`
	Y         *float64 `mapstructure:"y"`
}

Coordinates represent the location of a datacenter.

type CreateACLEntryInput

type CreateACLEntryInput struct {
	// ACLID is an alphanumeric string identifying a ACL (required).
	ACLID string `url:"-"`
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// IP is an IP address.
	IP *string `url:"ip,omitempty"`
	// Negated is whether to negate the match. Useful primarily when creating individual exceptions to larger subnets.
	Negated *Compatibool `url:"negated,omitempty"`
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string `url:"-"`
	// Subnet is a number of bits for the subnet mask applied to the IP address.
	Subnet *int `url:"subnet,omitempty"`
}

CreateACLEntryInput is the input parameter to the CreateACLEntry function.

type CreateACLInput

type CreateACLInput struct {
	// Name is the name of the ACL to create.
	Name *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

CreateACLInput is used as input to the CreateACL function.

type CreateAlertDefinitionInput

type CreateAlertDefinitionInput struct {
	// Description is additional text included in an alert notification (limit 4096).
	Description *string `json:"description"`
	// Dimensions are a list of origins or domains that the alert is restricted to.
	Dimensions map[string][]string `json:"dimensions"`
	// EvaluationStrategy is the evaluation strategy for the alert (required).
	EvaluationStrategy map[string]any `json:"evaluation_strategy"`
	// IntegrationIDs are IDs of integrations that notifications will be sent to.
	IntegrationIDs []string `json:"integration_ids"`
	// Metric is the name of the metric being monitored for alert evaluation (required).
	Metric *string `json:"metric"`
	// Name is the summary text of the alert (required, limit 255).
	Name *string `json:"name"`
	// ServiceID is the ID of the service that the alert is monitoring (required).
	ServiceID *string `json:"service_id"`
	// Source is the metric source (required). Options are: 'stats', 'origins', 'domains'.
	Source *string `json:"source"`
}

CreateAlertDefinitionInput is used as input to the CreateAlertDefinition function.

type CreateAutomationTokenInput

type CreateAutomationTokenInput struct {
	// ExpiresAt is a time-stamp (UTC) of when the token will expire.
	ExpiresAt *time.Time `json:"expires_at,omitempty" url:"expires_at,omitempty"`
	// Name is the name of the token.
	Name string `json:"name" url:"name,omitempty"`
	// Password is the password of the user the token is assigned to.
	Password *string `json:"-" url:"password,omitempty"`
	// Role is the role on the token (billing, engineer, user).
	Role AutomationTokenRole `json:"role" url:"role,omitempty"`
	// Scope is a space-delimited list of authorization scope (global, purge_select, purge_all, global).
	Scope *TokenScope `json:"scope,omitempty" url:"scope,omitempty"`
	// Services is a list of alphanumeric strings identifying services.
	// If no services are specified, the token will have access to all services on the account.
	Services []string `json:"services" url:"services,omitempty,brackets"`
	// Username is the email of the user the token is assigned to.
	Username *string `json:"-" url:"username,omitempty"`
	// TLSAccess indicates whether TLS access is enabled for the token.
	TLSAccess bool `json:"tls_access" url:"tls_access,omitempty"`
}

CreateAutomationTokenInput is used as input to the CreateAutomationToken function.

type CreateBackendInput

type CreateBackendInput struct {
	// Address is a hostname, IPv4, or IPv6 address for the backend.
	Address *string `url:"address,omitempty"`
	// AutoLoadbalance is whether or not this backend should be automatically load balanced.
	AutoLoadbalance *Compatibool `url:"auto_loadbalance,omitempty"`
	// BetweenBytesTimeout is the maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend.
	BetweenBytesTimeout *int `url:"between_bytes_timeout,omitempty"`
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// ConnectTimeout is the maximum duration in milliseconds to wait for a connection to this backend to be established.
	ConnectTimeout *int `url:"connect_timeout,omitempty"`
	// ErrorThreshold is the number of errors to allow before the Backend is marked as down.
	ErrorThreshold *int `url:"error_threshold,omitempty"`
	// FirstByteTimeout is how long to wait for the first bytes in milliseconds.
	FirstByteTimeout *int `url:"first_byte_timeout,omitempty"`
	// HealthCheck is the name of the healthcheck to use with this backend.
	HealthCheck *string `url:"healthcheck,omitempty"`
	// KeepAliveTime is how long in seconds to keep a persistent connection to the backend between requests.
	KeepAliveTime *int `url:"keepalive_time,omitempty"`
	// MaxConn is the maximum number of concurrent connections this backend will accept.
	MaxConn *int `url:"max_conn,omitempty"`
	// MaxTLSVersion is the maximum allowed TLS version on SSL connections to this backend.
	MaxTLSVersion *string `url:"max_tls_version,omitempty"`
	// MinTLSVersion is the minimum allowed TLS version on SSL connections to this backend.
	MinTLSVersion *string `url:"min_tls_version,omitempty"`
	// Name is the name of the backend.
	Name *string `url:"name,omitempty"`
	// OverrideHost is, if set, will replace the client-supplied HTTP Host header on connections to this backend.
	OverrideHost *string `url:"override_host,omitempty"`
	// Port is the port on which the backend server is listening for connections from Fastly.
	Port *int `url:"port,omitempty"`
	// PreferIPv6 indicates whether IPv6 results should be preferred when DNS is used to obtain addresses for the backend.
	PreferIPv6 *Compatibool `url:"prefer_ipv6,omitempty"`
	// RequestCondition is the name of a Condition, which if satisfied, will select this backend during a request.
	RequestCondition *string `url:"request_condition,omitempty"`
	// ShareKey is a value that when shared across backends will enable those backends to share the same health check.
	ShareKey *string `url:"share_key,omitempty"`
	// SSLCACert is a CA certificate attached to origin.
	SSLCACert *string `url:"ssl_ca_cert,omitempty"`
	// SSLCertHostname is an overrides ssl_hostname, but only for cert verification.
	SSLCertHostname *string `url:"ssl_cert_hostname,omitempty"`
	// SSLCheckCert forces being strict on checking SSL certs.
	SSLCheckCert *Compatibool `url:"ssl_check_cert,omitempty"`
	// SSLCiphers is a list of OpenSSL ciphers to support for connections to this origin.
	SSLCiphers *string `url:"ssl_ciphers,omitempty"`
	// SSLClientCert is a client certificate attached to origin.
	SSLClientCert *string `url:"ssl_client_cert,omitempty"`
	// SSLClientKey is a client key attached to origin.
	SSLClientKey *string `url:"ssl_client_key,omitempty"`
	// SSLSNIHostname overrides ssl_hostname, but only for SNI in the handshake. Does not affect cert validation at all.
	SSLSNIHostname *string `url:"ssl_sni_hostname,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Shield is an identifier of the POP to use as a shield.
	Shield *string `url:"shield,omitempty"`
	// TCPKeepAliveEnable is whether to enable TCP keepalives to this backend.
	TCPKeepAliveEnable *bool `url:"tcp_keepalive_enable,omitempty"`
	// TCPKeepAliveIntvl is how long to wait between each TCP keepalive probe sent to this backend.
	TCPKeepAliveIntvl *int `url:"tcp_keepalive_interval,omitempty"`
	// TCPKeepAliveProbes is how many unacknowledged TCP keepalive probes to send to this backend before it's considered dead.
	TCPKeepAliveProbes *int `url:"tcp_keepalive_probes,omitempty"`
	// TCPKeepAliveTime is how long to wait after the last sent data before sending TCP keepalive probes.
	TCPKeepAliveTime *int `url:"tcp_keepalive_time,omitempty"`
	// UseSSL indicates whether or not to require TLS for connections to this backend.
	UseSSL *Compatibool `url:"use_ssl,omitempty"`
	// Weight is the weight used to load balance this backend against others.
	Weight *int `url:"weight,omitempty"`
}

CreateBackendInput is used as input to the CreateBackend function.

type CreateBigQueryInput

type CreateBigQueryInput struct {
	// AccountName is the name of the Google Cloud Platform service account associated with the target log collection service.
	AccountName *string `url:"account_name,omitempty"`
	// Dataset is your BigQuery dataset.
	Dataset *string `url:"dataset,omitempty"`
	// Format is a Fastly log format string. Must produce JSON that matches the schema of your BigQuery table.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the BigQuery logging object. Used as a primary key for API access.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to BigQuery.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ProjectID is your Google Cloud Platform project ID.
	ProjectID *string `url:"project_id,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is your Google Cloud Platform account secret key. The private_key field in your service account authentication JSON. Not required if account_name is specified.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Table is your BigQuery table.
	Table *string `url:"table,omitempty"`
	// Template is a BigQuery table name suffix template.
	Template *string `url:"template_suffix,omitempty"`
	// User is your Google Cloud Platform service account email address. The client_email field in your service account authentication JSON. Not required if account_name is specified.
	User *string `url:"user,omitempty"`
}

CreateBigQueryInput is used as input to the CreateBigQuery function.

type CreateBlobStorageInput

type CreateBlobStorageInput struct {
	// AccountName is the unique Azure Blob Storage namespace in which your data objects are stored.
	AccountName *string `url:"account_name,omitempty"`
	// CompressionCodec is the codec used for compressing your logs (valid values are zstd, snappy, and gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Container is the name of the Azure Blob Storage container in which to store logs.
	Container *string `url:"container,omitempty"`
	// FileMaxBytes is the maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.).
	FileMaxBytes *int `url:"file_max_bytes,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted.
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Azure Blob Storage.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SASToken is the Azure shared access signature providing write access to the blob service objects.
	SASToken *string `url:"sas_token,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
}

CreateBlobStorageInput is used as input to the CreateBlobStorage function.

type CreateBulkCertificateInput

type CreateBulkCertificateInput struct {
	// AllowUntrusted enables certificates that chain to untrusted roots.
	AllowUntrusted bool `jsonapi:"attr,allow_untrusted_root,omitempty"`
	// CertBlob is the PEM-formatted certificate blob.
	CertBlob string `jsonapi:"attr,cert_blob"`
	// Configurations is a list of TLS configurations.
	Configurations []*TLSConfiguration `jsonapi:"relation,tls_configurations,tls_configuration"`
	// IntermediatesBlob is the PEM-formatted chain of intermediate blobs.
	IntermediatesBlob string `jsonapi:"attr,intermediates_blob"`
}

CreateBulkCertificateInput is used as input to the CreateBulkCertificate function.

type CreateCacheSettingInput

type CreateCacheSettingInput struct {
	// Action determines vcl_fetch behaviour (pass, cache, restart).
	Action *CacheSettingAction `url:"action,omitempty"`
	// CacheCondition is name of the cache condition controlling when this configuration applies.
	CacheCondition *string `url:"cache_condition,omitempty"`
	// Name is the name for the cache settings object.
	Name *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// StaleTTL is the maximum time in seconds to continue to use a stale version of the object if future requests to your backend server fail (also known as 'stale if error').
	StaleTTL *int `url:"stale_ttl,omitempty"`
	// TTL is the maximum time to consider the object fresh in the cache (the cache 'time to live').
	TTL *int `url:"ttl,omitempty"`
}

CreateCacheSettingInput is used as input to the CreateCacheSetting function.

type CreateCloudfilesInput

type CreateCloudfilesInput struct {
	// AccessKey is your Cloud Files account access key.
	AccessKey *string `url:"access_key,omitempty"`
	// BucketName is the name of your Cloud Files container.
	BucketName *string `url:"bucket_name,omitempty"`
	// CompressionCodec is the codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Cloud Files.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// Region is the region where logs are received and stored by Cloud Files.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
	// User is the username for your Cloud Files account.
	User *string `url:"user,omitempty"`
}

CreateCloudfilesInput is used as input to the CreateCloudfiles function.

type CreateConditionInput

type CreateConditionInput struct {
	// Name is the name of the condition.
	Name *string `url:"name,omitempty"`
	// Priority is a numeric string. Priority determines execution order. Lower numbers execute first.
	Priority *int `url:"priority,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Statement is a conditional expression in VCL used to determine if the condition is met.
	Statement *string `url:"statement,omitempty"`
	// Type is the type of the condition (REQUEST, CACHE, RESPONSE, PREFETCH).
	Type *string `url:"type,omitempty"`
}

CreateConditionInput is used as input to the CreateCondition function.

type CreateConfigStoreInput

type CreateConfigStoreInput struct {
	// Name is the name of the store to create (required).
	Name string `url:"name"`
}

CreateConfigStoreInput is the input to CreateConfigStore.

type CreateConfigStoreItemInput

type CreateConfigStoreItemInput struct {
	// StoreID is the ID of the config store (required).
	StoreID string
	// Key is the item's name (required).
	Key string `url:"item_key"`
	// Value is the item's value (required).
	Value string `url:"item_value"`
}

CreateConfigStoreItemInput is the input to the CreateConfigStoreItem.

type CreateCustomTLSCertificateInput

type CreateCustomTLSCertificateInput struct {
	// CertBlob is the PEM-formatted certificate blob.
	CertBlob string `jsonapi:"attr,cert_blob"`
	// ID is an alphanumeric string identifying a TLS certificate.
	ID string `jsonapi:"primary,tls_certificate"` // ID value does not need to be set.
	// Name is a customizable name for your certificate.
	Name string `jsonapi:"attr,name,omitempty"`
	// LIMITED AVAILABILITY: Indicates that the supplied certificate was not signed by a trusted CA.
	AllowUntrustedRoot bool `jsonapi:"attr,allow_untrusted_root,omitempty"`
}

CreateCustomTLSCertificateInput is used as input to the CreateCustomTLSCertificate function.

type CreateDatadogInput

type CreateDatadogInput struct {
	// Format is a Fastly log format string. Must produce valid JSON that Datadog can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Datadog.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// Region is the region where logs are received and stored by Datadog.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the API key from your Datadog account.
	Token *string `url:"token,omitempty"`
}

CreateDatadogInput is used as input to the CreateDatadog function.

type CreateDictionaryInput

type CreateDictionaryInput struct {
	// Name is the name of the dictionary to create.
	Name *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// WriteOnly determines if items in the dictionary are readable or not.
	WriteOnly *Compatibool `url:"write_only,omitempty"`
}

CreateDictionaryInput is used as input to the CreateDictionary function.

type CreateDictionaryItemInput

type CreateDictionaryItemInput struct {
	// DictionaryID is the ID of the dictionary to retrieve items for (required).
	DictionaryID string `url:"-"`
	// ItemKey is the dictionary item key, maximum 256 characters.
	ItemKey *string `url:"item_key,omitempty"`
	// ItemValue is the dictionary item value, maximum 8000 characters.
	ItemValue *string `url:"item_value,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
}

CreateDictionaryItemInput is used as input to the CreateDictionaryItem function.

type CreateDigitalOceanInput

type CreateDigitalOceanInput struct {
	// AccessKey is your DigitalOcean Spaces account access key.
	AccessKey *string `url:"access_key,omitempty"`
	// BucketName is the name of the DigitalOcean Space.
	BucketName *string `url:"bucket_name,omitempty"`
	// CompressionCodec is the codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Domain is the domain of the DigitalOcean Spaces endpoint.
	Domain *string `url:"domain,omitempty"`
	// Format is aFastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Digital Ocean.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is your DigitalOcean Spaces account secret key.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
}

CreateDigitalOceanInput is used as input to the CreateDigitalOcean function.

type CreateDirectorBackendInput

type CreateDirectorBackendInput struct {
	// Backend is the name of the backend (required).
	Backend string
	// Director is the name of the director (required).
	Director string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

CreateDirectorBackendInput is used as input to the CreateDirectorBackend function.

type CreateDirectorInput

type CreateDirectorInput struct {
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// Name is the name for the Director.
	Name *string `url:"name,omitempty"`
	// Quorum is the percentage of capacity that needs to be up for a director to be considered up. 0 to 100.
	Quorum *int `url:"quorum,omitempty"`
	// Retries is how many backends to search if it fails.
	Retries *int `url:"retries,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Shield is selected POP to serve as a shield for the backends.
	Shield *string `url:"shield,omitempty"`
	// Type is what type of load balance group to use (random, hash, client).
	Type *DirectorType `url:"type,omitempty"`
}

CreateDirectorInput is used as input to the CreateDirector function.

type CreateDomainInput

type CreateDomainInput struct {
	// Comment is a personal, freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// Name is the name of the domain that the service will respond to.
	Name *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

CreateDomainInput is used as input to the CreateDomain function.

type CreateERLInput

type CreateERLInput struct {
	// Action is the action to take when a rate limiter violation is detected (response, response_object, log_only).
	Action *ERLAction `url:"action,omitempty"`
	// ClientKey is an array of VCL variables used to generate a counter key to identify a client.
	ClientKey *[]string `url:"client_key,brackets,omitempty"`
	// FeatureRevision is the number of the rate limiting feature implementation. Defaults to the most recent revision.
	FeatureRevision *int `url:"feature_revision,omitempty"`
	// HTTPMethods is an array of HTTP methods to apply rate limiting to.
	HTTPMethods *[]string `url:"http_methods,brackets,omitempty"`
	// LoggerType is the name of the type of logging endpoint to be used when `action` is log_only.
	LoggerType *ERLLogger `url:"logger_type,omitempty"`
	// Name is a human readable name for the rate limiting rule.
	Name *string `url:"name,omitempty"`
	// PenaltyBoxDuration is a length of time in minutes that the rate limiter is in effect after the initial violation is detected.
	PenaltyBoxDuration *int `url:"penalty_box_duration,omitempty"`
	// Response is a custom response to be sent when the rate limit is exceeded. Required if action is response.
	Response *ERLResponseType `url:"response,omitempty"`
	// ResponseObjectName is the name of existing response object. Required if action is response_object.
	ResponseObjectName *string `url:"response_object_name,omitempty"`
	// RpsLimit is an upper limit of requests per second allowed by the rate limiter.
	RpsLimit *int `url:"rps_limit,omitempty"`
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// URIDictionaryName is the name of an Edge Dictionary containing URIs as keys. If not defined or null, all origin URIs will be rate limited.
	URIDictionaryName *string `url:"uri_dictionary_name,omitempty"`
	// WindowSize is the number of seconds during which the RPS limit must be exceeded in order to trigger a violation (1, 10, 60).
	WindowSize *ERLWindowSize `url:"window_size,omitempty"`
}

CreateERLInput is used as input to the CreateERL function.

type CreateElasticsearchInput

type CreateElasticsearchInput struct {
	// Format is a Fastly log format string. Must produce valid JSON that Elasticsearch can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Index is the name of the Elasticsearch index to send documents (logs) to.
	Index *string `url:"index,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Password is basic Auth password.
	Password *string `url:"password,omitempty"`
	// Pipeline is the ID of the Elasticsearch ingest pipeline to apply pre-process transformations to before indexing.
	Pipeline *string `url:"pipeline,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Elasticsearch.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// RequestMaxBytes is the maximum number of bytes sent in one request.
	RequestMaxBytes *int `url:"request_max_bytes,omitempty"`
	// RequestMaxEntries is the maximum number of logs sent in one request.
	RequestMaxEntries *int `url:"request_max_entries,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSHostname is the hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
	TLSHostname *string `url:"tls_hostname,omitempty"`
	// URL is the URL to stream logs to. Must use HTTPS.
	URL *string `url:"url,omitempty"`
	// User is basic Auth username.
	User *string `url:"user,omitempty"`
}

CreateElasticsearchInput is used as input to the CreateElasticsearch function.

type CreateFTPInput

type CreateFTPInput struct {
	// Address is a hostname or IPv4 address.
	Address *string `url:"address,omitempty"`
	// CompressionCodec is the codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Password is the password for the server. For anonymous use an email address.
	Password *string `url:"password,omitempty"`
	// Path is the path to upload log files to. If the path ends in / then it is treated as a directory.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to the FTP endpoint.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
	// Username is the username for the server. Can be anonymous.
	Username *string `url:"user,omitempty"`
}

CreateFTPInput is used as input to the CreateFTP function.

type CreateGCSInput

type CreateGCSInput struct {
	// AccountName is the name of the Google Cloud Platform service account associated with the target log collection service. Not required if user and secret_key are provided.
	AccountName *string `url:"account_name,omitempty"`
	// Bucket is the name of the GCS bucket.
	Bucket *string `url:"bucket_name,omitempty"`
	// CompressionCodec is he codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Google Cloud Storage.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ProjectID is your Google Cloud Platform project ID. Not required if user and secret_key are present.
	ProjectID *string `url:"project_id,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is your Google Cloud Platform account secret key. The private_key field in your service account authentication JSON. Not required if account_name is specified.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
	// User is your Google Cloud Platform service account email address. The client_email field in your service account authentication JSON. Not required if account_name is specified.
	User *string `url:"user,omitempty"`
}

CreateGCSInput is used as input to the CreateGCS function.

type CreateGrafanaCloudLogsInput

type CreateGrafanaCloudLogsInput struct {
	// Format is a Fastly log format string. Must produce valid JSON that GrafanaCloudLogs can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Grafana Cloud Logs.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Index
	Index *string `url:"index,omitempty"`
	// Token is the API key from your GrafanaCloudLogs account.
	Token *string `url:"token,omitempty"`
	// Grafana User ID
	User *string `url:"user,omitempty"`
	// URL is the URL to stream logs to. Must use HTTPS.
	URL *string `url:"url,omitempty"`
}

CreateGrafanaCloudLogsInput is used as input to the CreateGrafanaCloudLogs function.

type CreateGzipInput

type CreateGzipInput struct {
	// CacheCondition is the name of the cache condition controlling when this configuration applies.
	CacheCondition *string `url:"cache_condition,omitempty"`
	// ContentTypes is a space-separated list of content types to compress.
	ContentTypes *string `url:"content_types,omitempty"`
	// Extensions is a space-separated list of file extensions to compress.
	Extensions *string `url:"extensions,omitempty"`
	// Name is the name of the gzip configuration.
	Name *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

CreateGzipInput is used as input to the CreateGzip function.

type CreateHTTPSInput

type CreateHTTPSInput struct {
	// CompressionCodec is the codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// ContentType is the content type of the header sent with the request.
	ContentType *string `url:"content_type,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// HeaderName is the name of the custom header sent with the request.
	HeaderName *string `url:"header_name,omitempty"`
	// HeaderValue is the value of the custom header sent with the request.
	HeaderValue *string `url:"header_value,omitempty"`
	// JSONFormat enforces valid JSON formatting for log entries (0: disabled, 1: array of JSON, 2: newline delimited JSON).
	JSONFormat *string `url:"json_format,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Method is the HTTP method used for request (POST, PUT).
	Method *string `url:"method,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Period is the time interval (in seconds) for log flushing, defaults to 5 seconds.
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to the HTTPS server.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// RequestMaxBytes is the maximum number of bytes sent in one request. Defaults 0 (100MB).
	RequestMaxBytes *int `url:"request_max_bytes,omitempty"`
	// RequestMaxEntries is the maximum number of logs sent in one request. Defaults 0 (10k).
	RequestMaxEntries *int `url:"request_max_entries,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSHostname is the hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
	TLSHostname *string `url:"tls_hostname,omitempty"`
	// URL is the URL to send logs to. Must use HTTPS
	URL *string `url:"url,omitempty"`
}

CreateHTTPSInput is used as input to the CreateHTTPS function.

type CreateHeaderInput

type CreateHeaderInput struct {
	// Action accepts a string value (set, append, delete, regex, regex_repeat).
	Action *HeaderAction `url:"action,omitempty"`
	// CacheCondition is the name of the cache condition controlling when this configuration applies.
	CacheCondition *string `url:"cache_condition,omitempty"`
	// Destination is the header to set.
	Destination *string `url:"dst,omitempty"`
	// IgnoreIfSet prevents adding the header if it is added already. Only applies to 'set' action.
	IgnoreIfSet *Compatibool `url:"ignore_if_set,omitempty"`
	// Name is a handle to refer to this Header object.
	Name *string `url:"name,omitempty"`
	// Priority determines execution order. Lower numbers execute first.
	Priority *int `url:"priority,omitempty"`
	// Regex is the regular expression to use. Only applies to regex and regex_repeat actions.
	Regex *string `url:"regex,omitempty"`
	// RequestCondition is the condition which, if met, will select this configuration during a request.
	RequestCondition *string `url:"request_condition,omitempty"`
	// ResponseCondition is an optional name of a response condition to apply.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Source is a variable to be used as a source for the header content. Does not apply to delete action.
	Source *string `url:"src,omitempty"`
	// Substitution is a value to substitute in place of regular expression. Only applies to regex and regex_repeat actions.
	Substitution *string `url:"substitution,omitempty"`
	// Type is a type of header (request, cache, response).
	Type *HeaderType `url:"type,omitempty"`
}

CreateHeaderInput is used as input to the CreateHeader function.

type CreateHealthCheckInput

type CreateHealthCheckInput struct {
	// CheckInterval is how often to run the health check in milliseconds.
	CheckInterval *int `url:"check_interval,omitempty"`
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// ExpectedResponse is the status code expected from the host.
	ExpectedResponse *int `url:"expected_response,omitempty"`
	// HTTPVersion is whether to use version 1.0 or 1.1 HTTP.
	HTTPVersion *string `url:"http_version,omitempty"`
	// Headers is an array of custom headers that will be added to the health check probes.
	Headers *[]string `url:"headers,omitempty"`
	// Host is which host to check.
	Host *string `url:"host,omitempty"`
	// Initial is when loading a config, the initial number of probes to be seen as OK.
	Initial *int `url:"initial,omitempty"`
	// Method is which HTTP method to use.
	Method *string `url:"method,omitempty"`
	// Name is the name of the health check.
	Name *string `url:"name,omitempty"`
	// Path is the path to check.
	Path *string `url:"path,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Threshold is how many health checks must succeed to be considered healthy.
	Threshold *int `url:"threshold,omitempty"`
	// Timeout is timeout in milliseconds.
	Timeout *int `url:"timeout,omitempty"`
	// Window is the number of most recent health check queries to keep for this health check.
	Window *int `url:"window,omitempty"`
}

CreateHealthCheckInput is used as input to the CreateHealthCheck function.

type CreateHerokuInput

type CreateHerokuInput struct {
	// Format is a fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Heroku.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the token to use for authentication.
	Token *string `url:"token,omitempty"`
	// URL is the URL to stream logs to.
	URL *string `url:"url,omitempty"`
}

CreateHerokuInput is used as input to the CreateHeroku function.

type CreateHoneycombInput

type CreateHoneycombInput struct {
	// Dataset is the Honeycomb Dataset you want to log to.
	Dataset *string `url:"dataset,omitempty"`
	// Format is a Fastly log format string. Must produce valid JSON that Honeycomb can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Honeycomb.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the Write Key from the Account page of your Honeycomb account.
	Token *string `url:"token,omitempty"`
}

CreateHoneycombInput is used as input to the CreateHoneycomb function.

type CreateIntegrationInput

type CreateIntegrationInput struct {
	// Config is configuration specific to the integration type.
	Config map[string]string
	// Description is the user submitted description of the integration.
	Description *string
	// Name is the user submitted name of the integration.
	Name *string
	// Type is the type of integration.
	Type *string
}

CreateIntegrationInput is used as input to the CreateIntegration function.

type CreateIntegrationResponse

type CreateIntegrationResponse struct {
	// ID of created integration.
	ID *string `json:"integration_id"`
}

CreateIntegrationResponse is the response for creating a new integration.

type CreateKVStoreInput

type CreateKVStoreInput struct {
	// Name is the name of the store to create (required).
	Name string `json:"name"`
	// Location is the regional location of the store.
	Location string `json:"-"`
}

CreateKVStoreInput is used as an input to the CreateKVStore function.

type CreateKafkaInput

type CreateKafkaInput struct {
	// AuthMethod is the SASL authentication method (plain, scram-sha-256, scram-sha-512).
	AuthMethod *string `url:"auth_method,omitempty"`
	// Brokers is a comma-separated list of IP addresses or hostnames of Kafka brokers.
	Brokers *string `url:"brokers,omitempty"`
	// CompressionCodec is the codec used for compression of your logs (gzip, snappy, lz4, null).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// ParseLogKeyvals enables parsing of key=value tuples from the beginning of a logline, turning them into record headers.
	ParseLogKeyvals *Compatibool `url:"parse_log_keyvals,omitempty"`
	// Password is the SASL password.
	Password *string `url:"password,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Kafka.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// RequestMaxBytes is the maximum number of bytes sent in one request. Defaults 0 (no limit).
	RequestMaxBytes *int `url:"request_max_bytes,omitempty"`
	// RequiredACKs is the number of acknowledgements a leader must receive before a write is considered successful.
	RequiredACKs *string `url:"required_acks,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSHostname is the hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
	TLSHostname *string `url:"tls_hostname,omitempty"`
	// Topic is the Kafka topic to send logs to.
	Topic *string `url:"topic,omitempty"`
	// UseTLS is whether to use TLS (0: do not use, 1: use).
	UseTLS *Compatibool `url:"use_tls,omitempty"`
	// User is the SASL user.
	User *string `url:"user,omitempty"`
}

CreateKafkaInput is used as input to the CreateKafka function.

type CreateKinesisInput

type CreateKinesisInput struct {
	// AccessKey is the access key associated with the target Amazon Kinesis stream. Not required if iam_role is specified.
	AccessKey *string `url:"access_key,omitempty"`
	// Format is a Fastly log format string. Must produce valid JSON that Kinesis can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// IAMRole is the ARN for an IAM role granting Fastly access to the target Amazon Kinesis stream.
	IAMRole *string `url:"iam_role,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Kinesis.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// Region is the region where logs are received and stored by Kinesis.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is the secret key associated with the target Amazon Kinesis stream. Not required if iam_role is specified.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// StreamName is the Amazon Kinesis stream to send logs to.
	StreamName *string `url:"topic,omitempty"`
}

CreateKinesisInput is used as input to the CreateKinesis function.

type CreateLogentriesInput

type CreateLogentriesInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ProcessingRegion is the Fastly region where logs will be processed before streaming to the endpoint.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// Region is the region to which to stream logs.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is token based authentication
	Token *string `url:"token,omitempty"`
	// UseTLS is whether to use TLS (0: do not use, 1: use).
	UseTLS *Compatibool `url:"use_tls,omitempty"`
}

CreateLogentriesInput is used as input to the CreateLogentries function.

type CreateLogglyInput

type CreateLogglyInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Loggly.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the token to use for authentication.
	Token *string `url:"token,omitempty"`
}

CreateLogglyInput is used as input to the CreateLoggly function.

type CreateLogshuttleInput

type CreateLogshuttleInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Log Shuttle.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the data authentication token associated with this endpoint.
	Token *string `url:"token,omitempty"`
	// URL is the URL to stream logs to.
	URL *string `url:"url,omitempty"`
}

CreateLogshuttleInput is used as input to the CreateLogshuttle function.

type CreateMailinglistConfirmationInput

type CreateMailinglistConfirmationInput struct {
	// Email is the mailinglist address.
	Email *string
}

CreateMailinglistConfirmationInput is used as input to the CreateMailinglistConfirmation function.

type CreateManagedLoggingInput

type CreateManagedLoggingInput struct {
	// Kind is the kind of managed logging we are creating (required).
	Kind ManagedLoggingKind
	// ServiceID is the ID of the service (required).
	ServiceID string
}

CreateManagedLoggingInput is used as input to the CreateManagedLogging function.

type CreateNewRelicInput

type CreateNewRelicInput struct {
	// Format is a Fastly log format string. Must produce valid JSON that New Relic Logs can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to New Relic.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// Region is the region where logs are received and stored by New Relic.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the Insert API key from the Account page of your New Relic account.
	Token *string `url:"token,omitempty"`
}

CreateNewRelicInput is used as input to the CreateNewRelic function.

type CreateNewRelicOTLPInput

type CreateNewRelicOTLPInput struct {
	// Format is a Fastly log format string. Must produce valid JSON that New Relic Logs can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to New Relic.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// Region is the region where logs are received and stored by New Relic.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the Insert API key from the Account page of your New Relic account.
	Token *string `url:"token,omitempty"`
	// URL is the optional URL of a New Relic trace observer to send logs
	// to. Must be a New Relic domain name.
	URL *string `url:"url,omitempty"`
}

CreateNewRelicOTLPInput is used as input to the CreateNewRelicOTLP function.

type CreateObservabilityCustomDashboardInput

type CreateObservabilityCustomDashboardInput struct {
	Context     *context.Context `json:"-"`
	Description *string          `json:"description,omitempty"`
	Name        string           `json:"name"`
	Items       []DashboardItem  `json:"items"`
}

type CreateOpenstackInput

type CreateOpenstackInput struct {
	// AccessKey is your OpenStack account access key.
	AccessKey *string `url:"access_key,omitempty"`
	// BucketName is the name of your OpenStack container.
	BucketName *string `url:"bucket_name,omitempty"`
	// CompressionCodec is he codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to OpenStack.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
	// URL is your OpenStack auth url.
	URL *string `url:"url,omitempty"`
	// User is the username for your OpenStack account.
	User *string `url:"user,omitempty"`
}

CreateOpenstackInput is used as input to the CreateOpenstack function.

type CreatePapertrailInput

type CreatePapertrailInput struct {
	// Address is a hostname or IPv4 address.
	Address *string `url:"address,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Papertrail.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

CreatePapertrailInput is used as input to the CreatePapertrail function.

type CreatePoolInput

type CreatePoolInput struct {
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// ConnectTimeout is how long to wait for a timeout in milliseconds.
	ConnectTimeout *int `url:"connect_timeout,omitempty"`
	// FirstByteTimeout is how long to wait for the first byte in milliseconds.
	FirstByteTimeout *int `url:"first_byte_timeout,omitempty"`
	// Healthcheck is the name of the healthcheck to use with this pool.
	Healthcheck *string `url:"healthcheck,omitempty"`
	// MaxConnDefault is the maximum number of connections.
	MaxConnDefault *int `url:"max_conn_default,omitempty"`
	// MaxTLSVersion is the maximum allowed TLS version on connections to this server.
	MaxTLSVersion *string `url:"max_tls_version,omitempty"`
	// MinTLSVersion is the minimum allowed TLS version on connections to this server.
	MinTLSVersion *string `url:"min_tls_version,omitempty"`
	// Name is the name of the pool to create (required).
	Name *string `url:"name,omitempty"`
	// OverrideHost is the hostname to override the Host header.
	OverrideHost *string `url:"override_host,omitempty"`
	// Quorum is the percentage of capacity (0-100) that needs to be operationally available for a pool to be considered up.
	Quorum *int `url:"quorum,omitempty"`
	// RequestCondition is the condition which, if met, will select this configuration during a request.
	RequestCondition *string `url:"request_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Shield is the selected POP to serve as a shield for the servers.
	Shield *string `url:"shield,omitempty"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSCertHostname is the hostname used to verify a server's certificate.
	TLSCertHostname *string `url:"tls_cert_hostname,omitempty"`
	// TLSCheckCert forces strict checking of TLS certs.
	TLSCheckCert *Compatibool `url:"tls_check_cert,omitempty"`
	// TLSCiphers is a list of OpenSSL ciphers (see the openssl.org manpages for details).
	TLSCiphers *string `url:"tls_ciphers,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSSNIHostname is the SNI hostname.
	TLSSNIHostname *string `url:"tls_sni_hostname,omitempty"`
	// Type is what type of load balance group to use (random, hash, client).
	Type *PoolType `url:"type,omitempty"`
	// UseTLS indicates whether to use TLS.
	UseTLS *Compatibool `url:"use_tls,omitempty"`
}

CreatePoolInput is used as input to the CreatePool function.

type CreatePrivateKeyInput

type CreatePrivateKeyInput struct {
	// Key is the contents of the private key. Must be a PEM-formatted key.
	Key string `jsonapi:"attr,key,omitempty"`
	// Name is a customizable name for your private key.
	Name string `jsonapi:"attr,name,omitempty"`
}

CreatePrivateKeyInput is used as input to the CreatePrivateKey function.

type CreatePubsubInput

type CreatePubsubInput struct {
	// AccountName is the name of the Google Cloud Platform service account associated with the target log collection service. Not required if user and secret_key are provided.
	AccountName *string `url:"account_name,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Google Cloud Pub/Sub.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ProjectID is your Google Cloud Platform project ID. Required.
	ProjectID *string `url:"project_id,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is your Google Cloud Platform account secret key. The private_key field in your service account authentication JSON. Not required if account_name is specified.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Topic is the Google Cloud Pub/Sub topic to which logs will be published.
	Topic *string `url:"topic,omitempty"`
	// User is your Google Cloud Platform service account email address. The client_email field in your service account authentication JSON. Not required if account_name is specified.
	User *string `url:"user,omitempty"`
}

CreatePubsubInput is used as input to the CreatePubsub function.

type CreateRequestSettingInput

type CreateRequestSettingInput struct {
	// Action allows you to terminate request handling and immediately perform an action.
	Action *RequestSettingAction `url:"action,omitempty"`
	// BypassBusyWait disables collapsed forwarding, so you don't wait for other objects to origin.
	BypassBusyWait *Compatibool `url:"bypass_busy_wait,omitempty"`
	// DefaultHost sets the host header.
	DefaultHost *string `url:"default_host,omitempty"`
	// ForceMiss allows you to force a cache miss for the request. Replaces the item in the cache if the content is cacheable.
	ForceMiss *Compatibool `url:"force_miss,omitempty"`
	// ForceSSL forces the request use SSL (redirects a non-SSL to SSL).
	ForceSSL *Compatibool `url:"force_ssl,omitempty"`
	// GeoHeaders injects Fastly-Geo-Country, Fastly-Geo-City, and Fastly-Geo-Region into the request headers.
	GeoHeaders *Compatibool `url:"geo_headers,omitempty"`
	// HashKeys is a comma separated list of varnish request object fields that should be in the hash key.
	HashKeys *string `url:"hash_keys,omitempty"`
	// MaxStaleAge is how old an object is allowed to be to serve stale-if-error or stale-while-revalidate.
	MaxStaleAge *int `url:"max_stale_age,omitempty"`
	// Name is the name for the request settings.
	Name *string `url:"name,omitempty"`
	// RequestCondition is the condition which, if met, will select this configuration during a request.
	RequestCondition *string `url:"request_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimerSupport injects the X-Timer info into the request for viewing origin fetch durations.
	TimerSupport *Compatibool `url:"timer_support,omitempty"`
	// XForwardedFor determines header value (clear, leave, append, append_all, overwrite)
	XForwardedFor *RequestSettingXFF `url:"xff,omitempty"`
}

CreateRequestSettingInput is used as input to the CreateRequestSetting function.

type CreateResourceInput

type CreateResourceInput struct {
	// Name is the name of the resource being linked to (e.g. a kv store).
	//
	// NOTE: This doesn't have to match the actual resource name, i.e. the name
	// of the KV Store. Rather, this is an opportunity for you to use an
	// 'alias' for your KV Store. So your service will now refer to the
	// KV Store using this name.
	Name *string `url:"name,omitempty"`
	// ResourceID is the ID of the linked resource.
	ResourceID *string `url:"resource_id,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

CreateResourceInput is used as input to the CreateResource function.

type CreateResponseObjectInput

type CreateResponseObjectInput struct {
	// CacheCondition is the name of the cache condition controlling when this configuration applies.
	CacheCondition *string `url:"cache_condition,omitempty"`
	// Content is the content to deliver for the response object, can be empty.
	Content *string `url:"content,omitempty"`
	// ContentType is the MIME type of the content, can be empty.
	ContentType *string `url:"content_type,omitempty"`
	// Name is the name for the request settings.
	Name *string `url:"name,omitempty"`
	// RequestCondition is the condition which, if met, will select this configuration during a request.
	RequestCondition *string `url:"request_condition,omitempty"`
	// Response is the HTTP response.
	Response *string `url:"response,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Status is the HTTP status code.
	Status *int `url:"status,omitempty"`
}

CreateResponseObjectInput is used as input to the CreateResponseObject function.

type CreateS3Input

type CreateS3Input struct {
	// ACL is the access control list (ACL) specific request header.
	ACL *S3AccessControlList `url:"acl,omitempty"`
	//  AccessKey is the access key for your S3 account. Not required if iam_role is provided.
	AccessKey *string `url:"access_key,omitempty"`
	// BucketName is the bucket name for S3 account.
	BucketName *string `url:"bucket_name,omitempty"`
	// CompressionCodec is the codec used for compressing your logs. Valid values are zstd, snappy, and gzip.
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Domain is the domain of the Amazon S3 endpoint.
	Domain *string `url:"domain,omitempty"`
	// FileMaxBytes is the maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.).
	FileMaxBytes *int `url:"file_max_bytes,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// IAMRole is the Amazon Resource Name (ARN) for the IAM role granting Fastly access to S3. Not required if access_key and secret_key are provided.
	IAMRole *string `url:"iam_role,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the SFTP to update (required).
	Name *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to S3.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// Redundancy is the S3 redundancy level.
	Redundancy *S3Redundancy `url:"redundancy,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is the secret key for your S3 account. Not required if iam_role is provided.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServerSideEncryption should be set to AES256 or aws:kms to enable S3 Server Side Encryption.
	ServerSideEncryption *S3ServerSideEncryption `url:"server_side_encryption,omitempty"`
	// ServerSideEncryptionKMSKeyID is an optional server-side KMS Key ID. Must be set if ServerSideEncryption is set to aws:kms or AES256.
	ServerSideEncryptionKMSKeyID *string `url:"server_side_encryption_kms_key_id,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
}

CreateS3Input is used as input to the CreateS3 function.

type CreateSFTPInput

type CreateSFTPInput struct {
	// Address is a hostname or IPv4 address.
	Address *string `url:"address,omitempty"`
	// CompressionCodec is the codec used for compressing your logs. Valid values are zstd, snappy, and gzip.
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the loggly to update.
	Name *string `url:"name,omitempty"`
	// Password is the password for the server.
	Password *string `url:"password,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to SFTP server.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SSHKnownHosts is a list of host keys for all hosts we can connect to over SFTP.
	SSHKnownHosts *string `url:"ssh_known_hosts,omitempty"`
	// SecretKey is the SSH private key for the server.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
	// User is the username for the server.
	User *string `url:"user,omitempty"`
}

CreateSFTPInput is used as input to the CreateSFTP function.

type CreateScalyrInput

type CreateScalyrInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Scalyr.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ProjectID hold the name of the logfile field sent to Scalyr.
	ProjectID *string `url:"project_id,omitempty"`
	// Region is the region where logs are received and stored by Scalyr.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the token to use for authentication
	Token *string `url:"token,omitempty"`
}

CreateScalyrInput is used as input to the CreateScalyr function.

type CreateSecretInput

type CreateSecretInput struct {
	// ClientKey is the public key used to encrypt the secret with.
	ClientKey []byte
	// Method is the HTTP request method used to create the secret.
	//
	// Secret names must be unique within a store.
	// The method effects how duplicate names are handled:
	//
	// - POST:  Default. Create a secret and error if one already exists with the same name.
	// - PUT:   Create or recreate a secret.
	// - PATCH: Recreate a secret and error if one does not already exist with the same name.
	//
	// More details: https://developer.fastly.com/reference/api/services/resources/secret-store-secret/
	Method string
	// Name of the Secret (required).
	Name string
	// Secret is the plaintext secret to be stored (required).
	// The value will be base64-encoded when delivered to the API, which is the
	// required format.
	Secret []byte
	// StoreID of the Secret Store (required).
	StoreID string
}

CreateSecretInput is used as input to the CreateSecret function.

type CreateSecretStoreInput

type CreateSecretStoreInput struct {
	// Name of the Secret Store (required).
	Name string `json:"name"`
}

CreateSecretStoreInput is used as input to the CreateSecretStore function.

type CreateServerInput

type CreateServerInput struct {
	// Address is the hostname or IP of the origin server (required).
	Address *string `url:"address,omitempty"`
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// Disabled allows servers to be enabled and disabled in a pool.
	Disabled *bool `url:"disabled,omitempty"`
	// MaxConn is the maximum number of connections. If the value is 0, it inherits the value from pool's max_conn_default.
	MaxConn *int `url:"max_conn,omitempty"`
	// OverrideHost is the hostname to override the Host header.
	OverrideHost *string `url:"override_host,omitempty"`
	// PoolID is the ID of the pool (required).
	PoolID string `url:"-"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// Weight is the weight (1-100) used to load balance this server against others.
	Weight *int `url:"weight,omitempty"`
}

CreateServerInput is used as input to the CreateServer function.

type CreateServiceAuthorizationInput

type CreateServiceAuthorizationInput struct {
	// ID value is ignored and should not be set, needed to make JSONAPI work correctly.
	ID string `jsonapi:"primary,service_authorization"`
	// Permission is the level of permissions to grant the user to the service. Valid values are "full", "read_only", "purge_select" or "purge_all".
	Permission string `jsonapi:"attr,permission,omitempty"`
	// Service is the ID of the service to grant permissions for.
	Service *SAService `jsonapi:"relation,service,omitempty"`
	// UserID is the ID of the user which should have its permissions set.
	User *SAUser `jsonapi:"relation,user,omitempty"`
}

CreateServiceAuthorizationInput is used as input to the CreateServiceAuthorization function.

type CreateServiceInput

type CreateServiceInput struct {
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// Name is the name of the service.
	Name *string `url:"name,omitempty"`
	// Type is the type of this service (vcl, wasm).
	Type *string `url:"type,omitempty"`
}

CreateServiceInput is used as input to the CreateService function.

type CreateSnippetInput

type CreateSnippetInput struct {
	// Content is the VCL code that specifies exactly what the snippet does.
	Content *string `url:"content,omitempty"`
	// Dynamic sets the snippet version to regular (0) or dynamic (1).
	Dynamic *int `url:"dynamic,omitempty"`
	// Name is the name for the snippet (required).
	Name *string `url:"name,omitempty"`
	// Priority determines the ordering for multiple snippets. Lower numbers execute first.
	Priority *string `url:"priority,omitempty"`
	// ServiceID is the ID of the service to add the snippet to (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the editable configuration version (required).
	ServiceVersion int `url:"-"`
	// Type is the location in generated VCL where the snippet should be placed.
	Type *SnippetType `url:"type,omitempty"`
}

CreateSnippetInput is the input for CreateSnippet.

type CreateSplunkInput

type CreateSplunkInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Splunk.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// RequestMaxBytes is the maximum number of bytes sent in one request. Defaults 0 for unbounded.
	RequestMaxBytes *int `url:"request_max_bytes,omitempty"`
	// RequestMaxEntries is the maximum number of logs sent in one request. Defaults 0 for unbounded.
	RequestMaxEntries *int `url:"request_max_entries,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSHostname is the hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
	TLSHostname *string `url:"tls_hostname,omitempty"`
	// Token is a Splunk token for use in posting logs over HTTP to your collector.
	Token *string `url:"token,omitempty"`
	// URL is the URL to post logs to.
	URL *string `url:"url,omitempty"`
	// UseTLS is whether to use TLS (0: do not use, 1: use).
	UseTLS *Compatibool `url:"use_tls,omitempty"`
}

CreateSplunkInput is used as input to the CreateSplunk function.

type CreateSumologicInput

type CreateSumologicInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Sumologic.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// URL is the URL to post logs to.
	URL *string `url:"url,omitempty"`
}

CreateSumologicInput is used as input to the CreateSumologic function.

type CreateSyslogInput

type CreateSyslogInput struct {
	// Address is a hostname or IPv4 address.
	Address *string `url:"address,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Hostname is the hostname used for the syslog endpoint.
	Hostname *string `url:"hostname,omitempty"`
	// IPV4 is the IPv4 address used for the syslog endpoint.
	IPV4 *string `url:"ipv4,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name for the real-time logging configuration.
	Name *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to syslog.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSHostname is the hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
	TLSHostname *string `url:"tls_hostname,omitempty"`
	// Token is whether to prepend each message with a specific token.
	Token *string `url:"token,omitempty"`
	// UseTLS is whether to use TLS (0: do not use, 1: use).
	UseTLS *Compatibool `url:"use_tls,omitempty"`
}

CreateSyslogInput is used as input to the CreateSyslog function.

type CreateTLSActivationInput

type CreateTLSActivationInput struct {
	// Certificate is an alphanumeric string identifying a TLS certificate.
	Certificate *CustomTLSCertificate `jsonapi:"relation,tls_certificate"` // Only ID of CustomTLSCertificate needs to be set.
	// Configuration is an alphanumeric string identifying a TLS configuration.
	Configuration *TLSConfiguration `jsonapi:"relation,tls_configuration,omitempty"`
	// Domain is the domain name.
	Domain *TLSDomain `jsonapi:"relation,tls_domain"`
	// ID is an aphanumeric string identifying a TLS activation.
	ID string `jsonapi:"primary,tls_activation"` // ID value does not need to be set.
}

CreateTLSActivationInput is used as input to the CreateTLSActivation function.

type CreateTLSMutualAuthenticationInput

type CreateTLSMutualAuthenticationInput struct {
	// CertBundle is one or more certificates. Enter each individual certificate blob on a new line. Must be PEM-formatted (required).
	CertBundle string `jsonapi:"attr,cert_bundle"`
	// Enforced determines whether Mutual TLS will fail closed (enforced) or fail open.
	Enforced bool `jsonapi:"attr,enforced"`
	// ID should not be set (it's internally used to help marshal the JSONAPI request data).
	ID string `jsonapi:"primary,mutual_authentication"`
	// Name is a custom name for your mutual authentication.
	Name string `jsonapi:"attr,name,omitempty"`
}

CreateTLSMutualAuthenticationInput is used as input to the CreateTLSMutualAuthentication function.

type CreateTLSSubscriptionInput

type CreateTLSSubscriptionInput struct {
	// CertificateAuthority is the entity that issues and certifies the TLS certificates for your subscription. Valid values are lets-encrypt or globalsign.
	CertificateAuthority string `jsonapi:"attr,certificate_authority,omitempty"`
	// CommonName is the common name associated with the subscription generated by Fastly TLS. Must be included in Domains. Only the ID fields of each one need to be set.
	CommonName *TLSDomain `jsonapi:"relation,common_name,omitempty"`
	// Configuration options that apply to the enabled domains on this subscription. Only ID needs to be populated
	Configuration *TLSConfiguration `jsonapi:"relation,tls_configuration,omitempty"`
	// Domains list to enable TLS for. Only the ID fields of each one need to be set.
	Domains []*TLSDomain `jsonapi:"relation,tls_domain"`
	// ID value is ignored and should not be set, needed to make JSONAPI work correctly.
	ID string `jsonapi:"primary,tls_subscription"`
}

CreateTLSSubscriptionInput is used as input to the CreateTLSSubscription function.

type CreateTokenInput

type CreateTokenInput struct {
	// ExpiresAt is a time-stamp (UTC) of when the token will expire
	ExpiresAt *time.Time `url:"expires_at,omitempty"`
	// Name is the name of the token.
	Name *string `url:"name,omitempty"`
	// Password is the token password.
	Password *string `url:"password,omitempty"`
	// Scope is a space-delimited list of authorization scope (global, purge_select, purge_all, global).
	Scope *TokenScope `url:"scope,omitempty"`
	// Services is a list of alphanumeric strings identifying services. If no services are specified, the token will have access to all services on the account.
	Services []string `url:"services,brackets,omitempty"`
	// Username is the email of the user the token is assigned to.
	Username *string `url:"username,omitempty"`
}

CreateTokenInput is used as input to the Token function.

type CreateUserInput

type CreateUserInput struct {
	// Login is the login associated with the user (typically, an email address).
	Login *string `url:"login,omitempty"`
	// Name is the real life name of the user.
	Name *string `url:"name,omitempty"`
	// Role is the permissions role assigned to the user. Can be user, billing, engineer, or superuser.
	Role *string `url:"role,omitempty"`
}

CreateUserInput is used as input to the CreateUser function.

type CreateVCLInput

type CreateVCLInput struct {
	// Content is the VCL code to be included.
	Content *string `url:"content,omitempty"`
	// Main is set to true when this is the main VCL, otherwise false.
	Main *bool `url:"main,omitempty"`
	// Name is the name of this VCL.
	Name *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

CreateVCLInput is used as input to the CreateVCL function.

type CreateVersionInput

type CreateVersionInput struct {
	// Comment is a personal freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
}

CreateVersionInput is the input to the CreateVersion function.

type CustomField

type CustomField struct {
	Name        *string `json:"name"`
	DisplayName *string `json:"display_name"`
	Format      *string `json:"format"`
}

CustomField describes a configuration required for a type of integration.

type CustomTLSCertificate

type CustomTLSCertificate struct {
	CreatedAt          *time.Time   `jsonapi:"attr,created_at,iso8601"`
	Domains            []*TLSDomain `jsonapi:"relation,tls_domains"`
	ID                 string       `jsonapi:"primary,tls_certificate"`
	IssuedTo           string       `jsonapi:"attr,issued_to"`
	Issuer             string       `jsonapi:"attr,issuer"`
	Name               string       `jsonapi:"attr,name"`
	NotAfter           *time.Time   `jsonapi:"attr,not_after,iso8601"`
	NotBefore          *time.Time   `jsonapi:"attr,not_before,iso8601"`
	Replace            bool         `jsonapi:"attr,replace"`
	SerialNumber       string       `jsonapi:"attr,serial_number"`
	SignatureAlgorithm string       `jsonapi:"attr,signature_algorithm"`
	UpdatedAt          *time.Time   `jsonapi:"attr,updated_at,iso8601"`
}

CustomTLSCertificate represents a custom certificate. Uses common TLSDomain type from BulkCertificate.

type CustomTLSConfiguration

type CustomTLSConfiguration struct {
	Bulk          bool         `jsonapi:"attr,bulk"`
	CreatedAt     *time.Time   `jsonapi:"attr,created_at,iso8601"`
	DNSRecords    []*DNSRecord `jsonapi:"relation,dns_records"`
	Default       bool         `jsonapi:"attr,default"`
	HTTPProtocols []string     `jsonapi:"attr,http_protocols"`
	ID            string       `jsonapi:"primary,tls_configuration"`
	Name          string       `jsonapi:"attr,name"`
	TLSProtocols  []string     `jsonapi:"attr,tls_protocols"`
	UpdatedAt     *time.Time   `jsonapi:"attr,updated_at,iso8601"`
}

CustomTLSConfiguration represents a TLS configuration response from the Fastly API.

type DNSRecord

type DNSRecord struct {
	ID         string `jsonapi:"primary,dns_record"`
	RecordType string `jsonapi:"attr,record_type"`
	Region     string `jsonapi:"attr,region"`
}

DNSRecord is a child of CustomTLSConfiguration.

type DashboardDataSource

type DashboardDataSource struct {
	// Config describes configuration options for the selected data source (required)
	Config DashboardSourceConfig `json:"config"`
	// Type is the source of the data to display (required)
	Type DashboardSourceType `json:"type"`
}

DashboardDataSource describes the data to display in a DashboardItem.

type DashboardItem

type DashboardItem struct {
	// DataSource describes the source of the metrics to be displayed (required)
	DataSource DashboardDataSource `json:"data_source"`
	// ID is a unique identifier for the DashboardItem (read-only)
	ID string `json:"id,omitempty"`
	// Span is the number of columns (1-12) for the DashboardItem to span (default: 4)
	Span uint8 `json:"span"`
	// Subtitle is a human-readable subtitle to display, often a description of the visualization (optional)
	Subtitle string `json:"subtitle"`
	// Title is a human-readable title to display (optional)
	Title string `json:"title"`
	// Visualization describes the way the DashboardItem should display data (required)
	Visualization DashboardVisualization `json:"visualization"`
}

DashboardItem describes an item (or "widget") of a dashboard.

func NewDashboardItem

func NewDashboardItem(sourceType DashboardSourceType, metrics []string, plotType PlotType, options ...dashboardItemOption) DashboardItem

type DashboardMeta

type DashboardMeta struct {
	Limit      int    `json:"limit"`
	NextCursor string `json:"next_cursor"`
	Sort       string `json:"sort"`
	Total      int    `json:"total"`
}

DashboardMeta holds metadata about a dashboards query.

type DashboardSourceConfig

type DashboardSourceConfig struct {
	// Metrics is the list metrics to visualize (required)
	// Valid options are defined by the selected SourceType. See https://www.fastly.com/documentation/reference/api/observability/custom-dashboards/#data-source
	Metrics []string `json:"metrics"`
}

type DashboardSourceType

type DashboardSourceType string

type DashboardVisualization

type DashboardVisualization struct {
	// Config describes configuration options for the given visualization (required)
	Config VisualizationConfig `json:"config"`
	// Type is type of visualization to display. Currently only "chart" is supported (required)
	Type VisualizationType `json:"type"`
}

type Datacenter

type Datacenter struct {
	Code        *string      `mapstructure:"code"`
	Coordinates *Coordinates `mapstructure:"coordinates"`
	Group       *string      `mapstructure:"group"`
	Name        *string      `mapstructure:"name"`
	Shield      *string      `mapstructure:"shield"`
}

Datacenter is a list of Datacenters returned by the Fastly API.

type Datadog

type Datadog struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	Region            *string    `mapstructure:"region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Token             *string    `mapstructure:"token"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

Datadog represents a Datadog response from the Fastly API.

type DeactivateVersionInput

type DeactivateVersionInput struct {
	// Environment is the Fastly environment to deactivate this version from.
	Environment string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeactivateVersionInput is the input to the DeactivateVersion function.

type DeleteACLEntryInput

type DeleteACLEntryInput struct {
	// ACLID is an alphanumeric string identifying a ACL (required).
	ACLID string
	// EntryID is an alphanumeric string identifying an ACL Entry (required).
	EntryID string
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string
}

DeleteACLEntryInput the input parameter to DeleteACLEntry function.

type DeleteACLInput

type DeleteACLInput struct {
	// Name is the name of the ACL to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteACLInput is the input parameter to DeleteACL function.

type DeleteAlertDefinitionInput

type DeleteAlertDefinitionInput struct {
	// ID of definition to delete (required).
	ID *string
}

DeleteAlertDefinitionInput is used as input to the DeleteAlertDefinition function.

type DeleteAutomationTokenInput

type DeleteAutomationTokenInput struct {
	// TokenID is an alphanumeric string identifying a token (required).
	TokenID string
}

DeleteAutomationTokenInput is used as input to the DeleteAutomationToken function.

type DeleteBackendInput

type DeleteBackendInput struct {
	// Name is the name of the backend to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteBackendInput is the input parameter to DeleteBackend.

type DeleteBigQueryInput

type DeleteBigQueryInput struct {
	// Name is the name of the BigQuery to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteBigQueryInput is the input parameter to DeleteBigQuery.

type DeleteBlobStorageInput

type DeleteBlobStorageInput struct {
	// Name is the name of the blob storage to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteBlobStorageInput is the input parameter to DeleteBlobStorage.

type DeleteBulkCertificateInput

type DeleteBulkCertificateInput struct {
	// ID is an alphanumeric string identifying a TLS bulk certificate.
	ID string
}

DeleteBulkCertificateInput used for deleting a certificate.

type DeleteCacheSettingInput

type DeleteCacheSettingInput struct {
	// Name is the name of the cache setting to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteCacheSettingInput is the input parameter to DeleteCacheSetting.

type DeleteCloudfilesInput

type DeleteCloudfilesInput struct {
	// Name is the name of the Cloudfiles to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteCloudfilesInput is the input parameter to DeleteCloudfiles.

type DeleteConditionInput

type DeleteConditionInput struct {
	// Name is the name of the condition to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteConditionInput is the input parameter to DeleteCondition.

type DeleteConfigStoreInput

type DeleteConfigStoreInput struct {
	// StoreID is the StoreID of the config store to delete (required).
	StoreID string
}

DeleteConfigStoreInput is the input parameter to DeleteConfigStore.

type DeleteConfigStoreItemInput

type DeleteConfigStoreItemInput struct {
	// StoreID is the ID of the item's config store (required).
	StoreID string
	// Key is the name of the config store item to delete (required).
	Key string
}

DeleteConfigStoreItemInput is the input to DeleteConfigStoreItem.

type DeleteCustomTLSCertificateInput

type DeleteCustomTLSCertificateInput struct {
	// ID is an alphanumeric string identifying a TLS certificate.
	ID string
}

DeleteCustomTLSCertificateInput used for deleting a certificate.

type DeleteDatadogInput

type DeleteDatadogInput struct {
	// Name is the name of the Datadog to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteDatadogInput is the input parameter to DeleteDatadog.

type DeleteDictionaryInput

type DeleteDictionaryInput struct {
	// Name is the name of the dictionary to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteDictionaryInput is the input parameter to DeleteDictionary.

type DeleteDictionaryItemInput

type DeleteDictionaryItemInput struct {
	// DictionaryID is the ID of the dictionary to retrieve items for (required).
	DictionaryID string
	// ItemKey is the name of the dictionary item to delete (required).
	ItemKey string
	// ServiceID is the ID of the service (required).
	ServiceID string
}

DeleteDictionaryItemInput is the input parameter to DeleteDictionaryItem.

type DeleteDigitalOceanInput

type DeleteDigitalOceanInput struct {
	// Name is the name of the DigitalOcean to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteDigitalOceanInput is the input parameter to DeleteDigitalOcean.

type DeleteDirectorBackendInput

type DeleteDirectorBackendInput struct {
	// Backend is the name of the backend (required).
	Backend string
	// Director is the name of the director (required).
	Director string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteDirectorBackendInput is the input parameter to DeleteDirectorBackend.

type DeleteDirectorInput

type DeleteDirectorInput struct {
	// Name is the name of the director to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteDirectorInput is the input parameter to DeleteDirector.

type DeleteDomainInput

type DeleteDomainInput struct {
	// Name is the name of the domain that the service will respond to (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteDomainInput is used as input to the DeleteDomain function.

type DeleteERLInput

type DeleteERLInput struct {
	// ERLID is an alphanumeric string identifying the rate limiter (required).
	ERLID string
}

DeleteERLInput is used as input to the DeleteERL function.

type DeleteElasticsearchInput

type DeleteElasticsearchInput struct {
	// Name is the name of the Elasticsearch endpoint to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteElasticsearchInput is the input parameter to the DeleteElasticsearch function.

type DeleteFTPInput

type DeleteFTPInput struct {
	// Name is the name of the FTP to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteFTPInput is the input parameter to DeleteFTP.

type DeleteGCSInput

type DeleteGCSInput struct {
	// Name is the name of the GCS to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteGCSInput is the input parameter to DeleteGCS.

type DeleteGrafanaCloudLogsInput

type DeleteGrafanaCloudLogsInput struct {
	// Name is the name of the GrafanaCloudLogs to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteGrafanaCloudLogsInput is the input parameter to DeleteGrafanaCloudLogs.

type DeleteGzipInput

type DeleteGzipInput struct {
	// Name is the name of the Gzip to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteGzipInput is the input parameter to DeleteGzip.

type DeleteHTTPSInput

type DeleteHTTPSInput struct {
	// Name is the name of the HTTPS endpoint to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteHTTPSInput is the input parameter to the DeleteHTTPS function.

type DeleteHeaderInput

type DeleteHeaderInput struct {
	// Name is the name of the header to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteHeaderInput is the input parameter to DeleteHeader.

type DeleteHealthCheckInput

type DeleteHealthCheckInput struct {
	// Name is the name of the health check to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteHealthCheckInput is the input parameter to DeleteHealthCheck.

type DeleteHerokuInput

type DeleteHerokuInput struct {
	// Name is the name of the heroku to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteHerokuInput is the input parameter to DeleteHeroku.

type DeleteHoneycombInput

type DeleteHoneycombInput struct {
	// Name is the name of the honeycomb to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteHoneycombInput is the input parameter to DeleteHoneycomb.

type DeleteIntegrationInput

type DeleteIntegrationInput struct {
	// ID of integration to delete (required).
	ID string
}

DeleteIntegrationInput is used as input to the DeleteIntegration function.

type DeleteKVStoreInput

type DeleteKVStoreInput struct {
	// StoreID is the StoreID of the kv store to delete (required).
	StoreID string
}

DeleteKVStoreInput is the input to the DeleteKVStore function.

type DeleteKVStoreKeyInput

type DeleteKVStoreKeyInput struct {
	// Force is a flag to ignore a failure if the specified key
	// was not found.
	Force bool
	// IfGenerationMatch specifies a 'generation marker' value
	// which must match the value on the specified key for the
	// deletion to proceed.
	IfGenerationMatch uint64
	// Key is the key to delete (required).
	Key string
	// StoreID is the StoreID of the kv store (required).
	StoreID string
}

DeleteKVStoreKeyInput is the input to the DeleteKVStoreKey function.

type DeleteKafkaInput

type DeleteKafkaInput struct {
	// Name is the name of the kafka to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteKafkaInput is the input parameter to DeleteKafka.

type DeleteKinesisInput

type DeleteKinesisInput struct {
	// Name is the name of the Kinesis logging object to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteKinesisInput is the input parameter to DeleteKinesis.

type DeleteLogentriesInput

type DeleteLogentriesInput struct {
	// Name is the name of the logentries to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteLogentriesInput is the input parameter to DeleteLogentries.

type DeleteLogglyInput

type DeleteLogglyInput struct {
	// Name is the name of the loggly to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteLogglyInput is the input parameter to DeleteLoggly.

type DeleteLogshuttleInput

type DeleteLogshuttleInput struct {
	// Name is the name of the logshuttle to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteLogshuttleInput is the input parameter to DeleteLogshuttle.

type DeleteManagedLoggingInput

type DeleteManagedLoggingInput struct {
	// Kind is the kind of managed logging we are removing (required).
	Kind ManagedLoggingKind
	// ServiceID is the ID of the service (required).
	ServiceID string
}

DeleteManagedLoggingInput is used as input to the DeleteManagedLogging function.

type DeleteNewRelicInput

type DeleteNewRelicInput struct {
	// Name is the name of the newrelic to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteNewRelicInput is the input parameter to DeleteNewRelic.

type DeleteNewRelicOTLPInput

type DeleteNewRelicOTLPInput struct {
	// Name is the name of the newrelicotlp to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteNewRelicOTLPInput is the input parameter to DeleteNewRelicOTLP.

type DeleteObservabilityCustomDashboardInput

type DeleteObservabilityCustomDashboardInput struct {
	// ID of the dashboard to delete (required)
	ID *string
}

type DeleteOpenstackInput

type DeleteOpenstackInput struct {
	// Name is the name of the Openstack to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteOpenstackInput is the input parameter to DeleteOpenstack.

type DeletePapertrailInput

type DeletePapertrailInput struct {
	// Name is the name of the papertrail to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeletePapertrailInput is the input parameter to DeletePapertrail.

type DeletePoolInput

type DeletePoolInput struct {
	// Name is the name of the pool to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeletePoolInput is used as input to the DeletePool function.

type DeletePrivateKeyInput

type DeletePrivateKeyInput struct {
	// ID is an alphanumeric string identifying a private Key.
	ID string
}

DeletePrivateKeyInput used for deleting a private key.

type DeletePubsubInput

type DeletePubsubInput struct {
	// Name is the name of the Pubsub to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeletePubsubInput is the input parameter to DeletePubsub.

type DeleteRequestSettingInput

type DeleteRequestSettingInput struct {
	// Name is the name of the request settings to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteRequestSettingInput is the input parameter to DeleteRequestSetting.

type DeleteResourceInput

type DeleteResourceInput struct {
	// ResourceID is an alphanumeric string identifying the resource link (required).
	ResourceID string `url:"-"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

DeleteResourceInput is the input parameter to DeleteResource.

type DeleteResponseObjectInput

type DeleteResponseObjectInput struct {
	// Name is the name of the response object to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteResponseObjectInput is the input parameter to DeleteResponseObject.

type DeleteS3Input

type DeleteS3Input struct {
	// Name is the name of the S3 to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteS3Input is the input parameter to DeleteS3.

type DeleteSFTPInput

type DeleteSFTPInput struct {
	// Name is the name of the SFTP to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteSFTPInput is the input parameter to DeleteSFTP.

type DeleteScalyrInput

type DeleteScalyrInput struct {
	// Name is the name of the scalyr to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteScalyrInput is the input parameter to DeleteScalyr.

type DeleteSecretInput

type DeleteSecretInput struct {
	// Name of the secret (required).
	Name string
	// StoreID of the Secret Store (required).
	StoreID string
}

DeleteSecretInput is used as input to the DeleteSecret function.

type DeleteSecretStoreInput

type DeleteSecretStoreInput struct {
	// StoreID of the Secret Store (required).
	StoreID string
}

DeleteSecretStoreInput is used as input to the DeleteSecretStore function.

type DeleteServerInput

type DeleteServerInput struct {
	// PoolID is the ID of the pool (required).
	PoolID string
	// Server is an alphanumeric string identifying a Server (required).
	Server string
	// ServiceID is the ID of the service (required).
	ServiceID string
}

DeleteServerInput is used as input to the DeleteServer function.

type DeleteServiceAuthorizationInput

type DeleteServiceAuthorizationInput struct {
	// ID of the service authorization to delete (required).
	ID string
}

DeleteServiceAuthorizationInput is used as input to the DeleteServiceAuthorization function.

type DeleteServiceInput

type DeleteServiceInput struct {
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string
}

DeleteServiceInput is used as input to the DeleteService function.

type DeleteSnippetInput

type DeleteSnippetInput struct {
	// Name is the Name of the Snippet to Delete (required).
	Name string
	// ServiceID is the ID of the Service to add the snippet to (required).
	ServiceID string
	// ServiceVersion is the editable configuration version (required).
	ServiceVersion int
}

DeleteSnippetInput is the input parameter to the DeleteSnippet function.

type DeleteSplunkInput

type DeleteSplunkInput struct {
	// Name is the name of the splunk to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteSplunkInput is the input parameter to DeleteSplunk.

type DeleteSumologicInput

type DeleteSumologicInput struct {
	// Name is the name of the sumologic to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteSumologicInput is the input parameter to DeleteSumologic.

type DeleteSyslogInput

type DeleteSyslogInput struct {
	// Name is the name of the syslog to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteSyslogInput is the input parameter to DeleteSyslog.

type DeleteTLSActivationInput

type DeleteTLSActivationInput struct {
	// ID is an alphanumeric string identifying a TLS activation.
	ID string
}

DeleteTLSActivationInput used for deleting a certificate.

type DeleteTLSMutualAuthenticationInput

type DeleteTLSMutualAuthenticationInput struct {
	// ID is an alphanumeric string identifying a mutual authentication (required).
	ID string
}

DeleteTLSMutualAuthenticationInput used for deleting a certificate.

type DeleteTLSSubscriptionInput

type DeleteTLSSubscriptionInput struct {
	// Force the subscription to be deleted, even if domains are active. Warning: can disable production traffic.
	Force bool
	// ID of the TLS subscription to delete.
	ID string
}

DeleteTLSSubscriptionInput is used as input to the DeleteTLSSubscription function.

type DeleteTokenInput

type DeleteTokenInput struct {
	// TokenID is an alphanumeric string identifying a token (required).
	TokenID string
}

DeleteTokenInput is used as input to the DeleteToken function.

type DeleteUserInput

type DeleteUserInput struct {
	// UserID is an alphanumeric string identifying the user (required).
	UserID string
}

DeleteUserInput is used as input to the DeleteUser function.

type DeleteVCLInput

type DeleteVCLInput struct {
	// Name is the name of the VCL to delete (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DeleteVCLInput is the input parameter to DeleteVCL.

type Dictionary

type Dictionary struct {
	CreatedAt      *time.Time `mapstructure:"created_at"`
	DeletedAt      *time.Time `mapstructure:"deleted_at"`
	DictionaryID   *string    `mapstructure:"id"`
	Name           *string    `mapstructure:"name"`
	ServiceID      *string    `mapstructure:"service_id"`
	ServiceVersion *int       `mapstructure:"version"`
	UpdatedAt      *time.Time `mapstructure:"updated_at"`
	WriteOnly      *bool      `mapstructure:"write_only"`
}

Dictionary represents a dictionary response from the Fastly API.

type DictionaryInfo

type DictionaryInfo struct {
	// Digest is the hash of the dictionary content.
	Digest *string `mapstructure:"digest"`
	// ItemCount is the number of items belonging to the dictionary.
	ItemCount *int `mapstructure:"item_count"`
	// LastUpdated is the Time-stamp (GMT) when the dictionary was last updated.
	LastUpdated *time.Time `mapstructure:"last_updated"`
}

DictionaryInfo represents a dictionary metadata response from the Fastly API.

type DictionaryItem

type DictionaryItem struct {
	CreatedAt    *time.Time `mapstructure:"created_at"`
	DeletedAt    *time.Time `mapstructure:"deleted_at"`
	DictionaryID *string    `mapstructure:"dictionary_id"`
	ItemKey      *string    `mapstructure:"item_key"`
	ItemValue    *string    `mapstructure:"item_value"`
	ServiceID    *string    `mapstructure:"service_id"`
	UpdatedAt    *time.Time `mapstructure:"updated_at"`
}

DictionaryItem represents a dictionary item response from the Fastly API.

type Diff

type Diff struct {
	Diff   string `mapstructure:"diff"`
	Format string `mapstructure:"format"`
	From   int    `mapstructure:"from"`
	To     int    `mapstructure:"to"`
}

Diff represents a diff of two versions as a response from the Fastly API.

type DigitalOcean

type DigitalOcean struct {
	AccessKey         *string    `mapstructure:"access_key"`
	BucketName        *string    `mapstructure:"bucket_name"`
	CompressionCodec  *string    `mapstructure:"compression_codec"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Domain            *string    `mapstructure:"domain"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	GzipLevel         *int       `mapstructure:"gzip_level"`
	MessageType       *string    `mapstructure:"message_type"`
	Name              *string    `mapstructure:"name"`
	Path              *string    `mapstructure:"path"`
	Period            *int       `mapstructure:"period"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	PublicKey         *string    `mapstructure:"public_key"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	SecretKey         *string    `mapstructure:"secret_key"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TimestampFormat   *string    `mapstructure:"timestamp_format"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

DigitalOcean represents a DigitalOcean response from the Fastly API.

type Director

type Director struct {
	Backends       []string      `mapstructure:"backends"`
	Capacity       *int          `mapstructure:"capacity"`
	Comment        *string       `mapstructure:"comment"`
	CreatedAt      *time.Time    `mapstructure:"created_at"`
	DeletedAt      *time.Time    `mapstructure:"deleted_at"`
	Name           *string       `mapstructure:"name"`
	Quorum         *int          `mapstructure:"quorum"`
	Retries        *int          `mapstructure:"retries"`
	ServiceID      *string       `mapstructure:"service_id"`
	ServiceVersion *int          `mapstructure:"version"`
	Shield         *string       `mapstructure:"shield"`
	Type           *DirectorType `mapstructure:"type"`
	UpdatedAt      *time.Time    `mapstructure:"updated_at"`
}

Director represents a director response from the Fastly API.

type DirectorBackend

type DirectorBackend struct {
	Backend        *string    `mapstructure:"backend_name"`
	CreatedAt      *time.Time `mapstructure:"created_at"`
	DeletedAt      *time.Time `mapstructure:"deleted_at"`
	Director       *string    `mapstructure:"director_name"`
	ServiceID      *string    `mapstructure:"service_id"`
	ServiceVersion *int       `mapstructure:"version"`
	UpdatedAt      *time.Time `mapstructure:"updated_at"`
}

DirectorBackend is the relationship between a director and a backend in the Fastly API.

type DirectorType

type DirectorType int

DirectorType is a type of director.

const (
	// DirectorTypeRandom is a director that does random direction.
	DirectorTypeRandom DirectorType = 1

	// DirectorTypeRoundRobin is a director that does round-robin direction.
	DirectorTypeRoundRobin DirectorType = 2

	// DirectorTypeHash is a director that does hash direction.
	DirectorTypeHash DirectorType = 3

	// DirectorTypeClient is a director that does client direction.
	DirectorTypeClient DirectorType = 4
)

type DisableHTTP3Input

type DisableHTTP3Input struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

DisableHTTP3Input is the input parameter to the DisableHTTP3 function.

type Domain

type Domain struct {
	Comment        *string    `mapstructure:"comment"`
	CreatedAt      *time.Time `mapstructure:"created_at"`
	DeletedAt      *time.Time `mapstructure:"deleted_at"`
	Name           *string    `mapstructure:"name"`
	ServiceID      *string    `mapstructure:"service_id"`
	ServiceVersion *int       `mapstructure:"version"`
	UpdatedAt      *time.Time `mapstructure:"updated_at"`
}

Domain represents the the domain name Fastly will serve content for.

type DomainData

type DomainData struct {
	Dimensions map[string]*string `mapstructure:"dimensions"`
	Values     []*DomainMetrics   `mapstructure:"values"`
}

DomainData represents the series of values over time for a single dimension combination.

type DomainInspector

type DomainInspector struct {
	Data   []*DomainData `mapstructure:"data"`
	Meta   *DomainMeta   `mapstructure:"meta"`
	Status *string       `mapstructure:"status"`
}

DomainInspector represents the response format returned for a request to the historical Domain Inspector metrics endpoint.

type DomainMeta

type DomainMeta struct {
	Downsample *string           `mapstructure:"downsample"`
	End        *string           `mapstructure:"end"`
	Filters    map[string]string `mapstructure:"filters"`
	GroupBy    *string           `mapstructure:"group_by"`
	Limit      *int              `mapstructure:"limit"`
	Metric     *string           `mapstructure:"metric"`
	NextCursor *string           `mapstructure:"next_cursor"`
	Sort       *string           `mapstructure:"sort"`
	Start      *string           `mapstructure:"start"`
}

DomainMeta is the meta section returned for /metrics/domains/... responses.

type DomainMetadata

type DomainMetadata struct {
	Comment        *string    `json:"comment"`
	CreatedAt      *time.Time `json:"created_at"`
	DeletedAt      *time.Time `json:"deleted_at"`
	Name           *string    `json:"name"`
	ServiceID      *string    `json:"service_id"`
	ServiceVersion *int       `json:"version"`
	UpdatedAt      *time.Time `json:"updated_at"`
}

DomainMetadata represents a domain name configured for a Fastly service.

type DomainMetrics

type DomainMetrics struct {
	Bandwidth                  *uint64  `mapstructure:"bandwidth"`
	BereqBodyBytes             *uint64  `mapstructure:"bereq_body_bytes"`
	BereqHeaderBytes           *uint64  `mapstructure:"bereq_header_bytes"`
	EdgeHitRatio               *float64 `mapstructure:"edge_hit_ratio"`
	EdgeHitRequests            *uint64  `mapstructure:"edge_hit_requests"`
	EdgeMissRequests           *uint64  `mapstructure:"edge_miss_requests"`
	EdgeRequests               *uint64  `mapstructure:"edge_requests"`
	EdgeRespBodyBytes          *uint64  `mapstructure:"edge_resp_body_bytes"`
	EdgeRespHeaderBytes        *uint64  `mapstructure:"edge_resp_header_bytes"`
	OriginFetchRespBodyBytes   *uint64  `mapstructure:"origin_fetch_resp_body_bytes"`
	OriginFetchRespHeaderBytes *uint64  `mapstructure:"origin_fetch_resp_header_bytes"`
	OriginFetches              *uint64  `mapstructure:"origin_fetches"`
	OriginOffload              *float64 `mapstructure:"origin_offload"`
	OriginStatus1xx            *uint64  `mapstructure:"origin_status_1xx"`
	OriginStatus200            *uint64  `mapstructure:"origin_status_200"`
	OriginStatus204            *uint64  `mapstructure:"origin_status_204"`
	OriginStatus206            *uint64  `mapstructure:"origin_status_206"`
	OriginStatus2xx            *uint64  `mapstructure:"origin_status_2xx"`
	OriginStatus301            *uint64  `mapstructure:"origin_status_301"`
	OriginStatus302            *uint64  `mapstructure:"origin_status_302"`
	OriginStatus304            *uint64  `mapstructure:"origin_status_304"`
	OriginStatus3xx            *uint64  `mapstructure:"origin_status_3xx"`
	OriginStatus400            *uint64  `mapstructure:"origin_status_400"`
	OriginStatus401            *uint64  `mapstructure:"origin_status_401"`
	OriginStatus403            *uint64  `mapstructure:"origin_status_403"`
	OriginStatus404            *uint64  `mapstructure:"origin_status_404"`
	OriginStatus416            *uint64  `mapstructure:"origin_status_416"`
	OriginStatus429            *uint64  `mapstructure:"origin_status_429"`
	OriginStatus4xx            *uint64  `mapstructure:"origin_status_4xx"`
	OriginStatus500            *uint64  `mapstructure:"origin_status_500"`
	OriginStatus501            *uint64  `mapstructure:"origin_status_501"`
	OriginStatus502            *uint64  `mapstructure:"origin_status_502"`
	OriginStatus503            *uint64  `mapstructure:"origin_status_503"`
	OriginStatus504            *uint64  `mapstructure:"origin_status_504"`
	OriginStatus505            *uint64  `mapstructure:"origin_status_505"`
	OriginStatus5xx            *uint64  `mapstructure:"origin_status_5xx"`
	Requests                   *uint64  `mapstructure:"requests"`
	RespBodyBytes              *uint64  `mapstructure:"resp_body_bytes"`
	RespHeaderBytes            *uint64  `mapstructure:"resp_header_bytes"`
	Status1xx                  *uint64  `mapstructure:"status_1xx"`
	Status200                  *uint64  `mapstructure:"status_200"`
	Status204                  *uint64  `mapstructure:"status_204"`
	Status206                  *uint64  `mapstructure:"status_206"`
	Status2xx                  *uint64  `mapstructure:"status_2xx"`
	Status301                  *uint64  `mapstructure:"status_301"`
	Status302                  *uint64  `mapstructure:"status_302"`
	Status304                  *uint64  `mapstructure:"status_304"`
	Status3xx                  *uint64  `mapstructure:"status_3xx"`
	Status400                  *uint64  `mapstructure:"status_400"`
	Status401                  *uint64  `mapstructure:"status_401"`
	Status403                  *uint64  `mapstructure:"status_403"`
	Status404                  *uint64  `mapstructure:"status_404"`
	Status416                  *uint64  `mapstructure:"status_416"`
	Status429                  *uint64  `mapstructure:"status_429"`
	Status4xx                  *uint64  `mapstructure:"status_4xx"`
	Status500                  *uint64  `mapstructure:"status_500"`
	Status501                  *uint64  `mapstructure:"status_501"`
	Status502                  *uint64  `mapstructure:"status_502"`
	Status503                  *uint64  `mapstructure:"status_503"`
	Status504                  *uint64  `mapstructure:"status_504"`
	Status505                  *uint64  `mapstructure:"status_505"`
	Status5xx                  *uint64  `mapstructure:"status_5xx"`
	Timestamp                  *uint64  `mapstructure:"timestamp"`
}

DomainMetrics represents the possible metrics that can be returned by a call to the Domain Inspector endpoints.

type DomainValidationResult

type DomainValidationResult struct {
	CName    *string
	Metadata *DomainMetadata
	Valid    *bool
}

DomainValidationResult defines an idiomatic representation of the API response.

func (*DomainValidationResult) UnmarshalJSON

func (d *DomainValidationResult) UnmarshalJSON(data []byte) error

UnmarshalJSON works around the badly designed API response by coercing the raw data into a more appropriate data structure.

type DynamicSnippet

type DynamicSnippet struct {
	Content   *string    `mapstructure:"content"`
	CreatedAt *time.Time `mapstructure:"created_at"`
	ServiceID *string    `mapstructure:"service_id"`
	SnippetID *string    `mapstructure:"snippet_id"`
	UpdatedAt *time.Time `mapstructure:"updated_at"`
}

DynamicSnippet is the object returned when updating or retrieving a Dynamic Snippet.

type ERL

type ERL struct {
	Action             *ERLAction     `mapstructure:"action"`
	ClientKey          []*string      `mapstructure:"client_key"`
	CreatedAt          *time.Time     `mapstructure:"created_at"`
	DeletedAt          *time.Time     `mapstructure:"deleted_at"`
	FeatureRevision    *int           `mapstructure:"feature_revision"` // 1..
	HTTPMethods        []*string      `mapstructure:"http_methods"`
	LoggerType         *ERLLogger     `mapstructure:"logger_type"`
	Name               *string        `mapstructure:"name"`
	PenaltyBoxDuration *int           `mapstructure:"penalty_box_duration"` // 1..60
	RateLimiterID      *string        `mapstructure:"id"`
	Response           *ERLResponse   `mapstructure:"response"` // required if Action != Log
	ResponseObjectName *string        `mapstructure:"response_object_name"`
	RpsLimit           *int           `mapstructure:"rps_limit"` // 10..10000
	ServiceID          *string        `mapstructure:"service_id"`
	URIDictionaryName  *string        `mapstructure:"uri_dictionary_name"`
	UpdatedAt          *time.Time     `mapstructure:"updated_at"`
	Version            *int           `mapstructure:"version"` // 1..
	WindowSize         *ERLWindowSize `mapstructure:"window_size"`
}

ERL models the response from the Fastly API.

type ERLAction

type ERLAction string

ERLAction represents the action variants for when a rate limiter violation is detected.

const (
	// ERLActionLogOnly represents an action variant.
	ERLActionLogOnly ERLAction = "log_only"
	// ERLActionResponse represents an action variant.
	ERLActionResponse ERLAction = "response"
	// ERLActionResponseObject represents an action variant.
	ERLActionResponseObject ERLAction = "response_object"
)

type ERLLogger

type ERLLogger string

ERLLogger represents the supported log provider variants.

const (
	// ERLLogAzureBlob represents a log provider variant.
	ERLLogAzureBlob ERLLogger = "azureblob"
	// ERLLogBigQuery represents a log provider variant.
	ERLLogBigQuery ERLLogger = "bigquery"
	// ERLLogCloudFiles represents a log provider variant.
	ERLLogCloudFiles ERLLogger = "cloudfiles"
	// ERLLogDataDog represents a log provider variant.
	ERLLogDataDog ERLLogger = "datadog"
	// ERLLogDigitalOcean represents a log provider variant.
	ERLLogDigitalOcean ERLLogger = "digitalocean"
	// ERLLogElasticSearch represents a log provider variant.
	ERLLogElasticSearch ERLLogger = "elasticsearch"
	// ERLLogFtp represents a log provider variant.
	ERLLogFtp ERLLogger = "ftp"
	// ERLLogGcs represents a log provider variant.
	ERLLogGcs ERLLogger = "gcs"
	// ERLLogGoogleAnalytics represents a log provider variant.
	ERLLogGoogleAnalytics ERLLogger = "googleanalytics"
	// ERLLogHeroku represents a log provider variant.
	ERLLogHeroku ERLLogger = "heroku"
	// ERLLogHoneycomb represents a log provider variant.
	ERLLogHoneycomb ERLLogger = "honeycomb"
	// ERLLogHTTP represents a log provider variant.
	ERLLogHTTP ERLLogger = "http"
	// ERLLogHTTPS represents a log provider variant.
	ERLLogHTTPS ERLLogger = "https"
	// ERLLogKafta represents a log provider variant.
	ERLLogKafta ERLLogger = "kafka"
	// ERLLogKinesis represents a log provider variant.
	ERLLogKinesis ERLLogger = "kinesis"
	// ERLLogLogEntries represents a log provider variant.
	ERLLogLogEntries ERLLogger = "logentries"
	// ERLLogLoggly represents a log provider variant.
	ERLLogLoggly ERLLogger = "loggly"
	// ERLLogLogShuttle represents a log provider variant.
	ERLLogLogShuttle ERLLogger = "logshuttle"
	// ERLLogNewRelic represents a log provider variant.
	ERLLogNewRelic ERLLogger = "newrelic"
	// ERLLogOpenStack represents a log provider variant.
	ERLLogOpenStack ERLLogger = "openstack"
	// ERLLogPaperTrail represents a log provider variant.
	ERLLogPaperTrail ERLLogger = "papertrail"
	// ERLLogPubSub represents a log provider variant.
	ERLLogPubSub ERLLogger = "pubsub"
	// ERLLogS3 represents a log provider variant.
	ERLLogS3 ERLLogger = "s3"
	// ERLLogScalyr represents a log provider variant.
	ERLLogScalyr ERLLogger = "scalyr"
	// ERLLogSftp represents a log provider variant.
	ERLLogSftp ERLLogger = "sftp"
	// ERLLogSplunk represents a log provider variant.
	ERLLogSplunk ERLLogger = "splunk"
	// ERLLogStackDriver represents a log provider variant.
	ERLLogStackDriver ERLLogger = "stackdriver"
	// ERLLogSumoLogic represents a log provider variant.
	ERLLogSumoLogic ERLLogger = "sumologic"
	// ERLLogSysLog represents a log provider variant.
	ERLLogSysLog ERLLogger = "syslog"
)

type ERLResponse

type ERLResponse struct {
	ERLContent     *string `mapstructure:"content,omitempty"`
	ERLContentType *string `mapstructure:"content_type,omitempty"`
	ERLStatus      *int    `mapstructure:"status,omitempty"`
}

ERLResponse models the response from the Fastly API.

type ERLResponseType

type ERLResponseType struct {
	ERLContent     *string `url:"content,omitempty"`
	ERLContentType *string `url:"content_type,omitempty"`
	ERLStatus      *int    `url:"status,omitempty"`
}

ERLResponseType models the input to the Fastly API.

type ERLWindowSize

type ERLWindowSize int

ERLWindowSize represents the duration variants for when the RPS limit is exceeded.

const (
	// ERLSize1 represents a duration variant.
	ERLSize1 ERLWindowSize = 1
	// ERLSize10 represents a duration variant.
	ERLSize10 ERLWindowSize = 10
	// ERLSize60 represents a duration variant.
	ERLSize60 ERLWindowSize = 60
)

type EdgeCheck

type EdgeCheck struct {
	Hash         *string            `mapstructure:"hash"`
	Request      *EdgeCheckRequest  `mapstructure:"request"`
	Response     *EdgeCheckResponse `mapstructure:"response"`
	ResponseTime *float64           `mapstructure:"response_time"`
	Server       *string            `mapstructure:"server"`
}

EdgeCheck represents an edge check response from the Fastly API.

type EdgeCheckInput

type EdgeCheckInput struct {
	// URL is the full URL (host and path) to check on all nodes.
	// If protocol is omitted, http will be assumed (required).
	URL string `url:"url,omitempty"`
}

EdgeCheckInput is used as input to the EdgeCheck function.

type EdgeCheckRequest

type EdgeCheckRequest struct {
	Headers *http.Header `mapstructure:"headers"`
	Method  *string      `mapstructure:"method"`
	URL     *string      `mapstructure:"url"`
}

EdgeCheckRequest is the request part of an EdgeCheck response.

type EdgeCheckResponse

type EdgeCheckResponse struct {
	Headers *http.Header `mapstructure:"headers"`
	Status  *int         `mapstructure:"status"`
}

EdgeCheckResponse is the response part of an EdgeCheck response.

type Elasticsearch

type Elasticsearch struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Index             *string    `mapstructure:"index"`
	Name              *string    `mapstructure:"name"`
	Password          *string    `mapstructure:"password"`
	Pipeline          *string    `mapstructure:"pipeline"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	RequestMaxBytes   *int       `mapstructure:"request_max_bytes"`
	RequestMaxEntries *int       `mapstructure:"request_max_entries"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TLSCACert         *string    `mapstructure:"tls_ca_cert"`
	TLSClientCert     *string    `mapstructure:"tls_client_cert"`
	TLSClientKey      *string    `mapstructure:"tls_client_key"`
	TLSHostname       *string    `mapstructure:"tls_hostname"`
	URL               *string    `mapstructure:"url"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	User              *string    `mapstructure:"user"`
}

Elasticsearch represents an Elasticsearch Logging response from the Fastly API.

type EnableHTTP3Input

type EnableHTTP3Input struct {
	// FeatureRevision is the revision number of the HTTP/3 feature implementation.
	FeatureRevision *int `url:"feature_revision,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

EnableHTTP3Input is used as input to the EnableHTTP3 function.

type Environment

type Environment struct {
	ServiceVersion *int64  `mapstructure:"active_version"`
	Name           *string `mapstructure:"name"`
	ServiceID      *string `mapstructure:"service_id"`
}

Environment represents a distinct deployment environment.

type ErrorObject

type ErrorObject struct {
	Code   string          `mapstructure:"code" json:"code,omitempty"`
	Detail string          `mapstructure:"detail" json:"detail,omitempty"`
	ID     string          `mapstructure:"id" json:"id,omitempty"`
	Meta   *map[string]any `mapstructure:"meta" json:"meta,omitempty"`
	Status string          `mapstructure:"status" json:"status,omitempty"`
	Title  string          `mapstructure:"title" json:"title,omitempty"`
}

ErrorObject is a single error.

type Event

type Event struct {
	Admin       bool           `jsonapi:"attr,admin"`
	CreatedAt   *time.Time     `jsonapi:"attr,created_at,iso8601"`
	CustomerID  string         `jsonapi:"attr,customer_id"`
	Description string         `jsonapi:"attr,description"`
	EventType   string         `jsonapi:"attr,event_type"`
	ID          string         `jsonapi:"primary,event"`
	IP          string         `jsonapi:"attr,ip"`
	Metadata    map[string]any `jsonapi:"attr,metadata,omitempty"`
	ServiceID   string         `jsonapi:"attr,service_id"`
	UserID      string         `jsonapi:"attr,user_id"`
}

Event represents an event_logs item response from the Fastly API.

type EventsPaginationInfo

type EventsPaginationInfo struct {
	First string `json:"first,omitempty"`
	Last  string `json:"last,omitempty"`
	Next  string `json:"next,omitempty"`
}

EventsPaginationInfo stores links to searches related to the current one, showing any information about additional results being stored on another page.

type FTP

type FTP struct {
	Address           *string    `mapstructure:"address"`
	CompressionCodec  *string    `mapstructure:"compression_codec"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	GzipLevel         *int       `mapstructure:"gzip_level"`
	MessageType       *string    `mapstructure:"message_type"`
	Name              *string    `mapstructure:"name"`
	Password          *string    `mapstructure:"password"`
	Path              *string    `mapstructure:"path"`
	Period            *int       `mapstructure:"period"`
	Placement         *string    `mapstructure:"placement"`
	Port              *int       `mapstructure:"port"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	PublicKey         *string    `mapstructure:"public_key"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TimestampFormat   *string    `mapstructure:"timestamp_format"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	Username          *string    `mapstructure:"user"`
}

FTP represents an FTP logging response from the Fastly API.

type FieldError

type FieldError struct {
	// contains filtered or unexported fields
}

FieldError represents a custom error type for API data fields.

func NewFieldError

func NewFieldError(kind string) *FieldError

NewFieldError returns an error that formats as the given text.

func (*FieldError) Error

func (e *FieldError) Error() string

Error fulfills the error interface.

NOTE: some fields are optional but still need to present an error depending on the API they are associated with. For example, when updating a service the 'name' and 'comment' fields are both optional, but at least one of them needs to be provided for the API call to have any purpose (otherwise the API backend will just reject the call, thus being a waste of network resources).

Because of this we allow modifying the error message to reflect whether the field was either missing or some other type of error occurred.

func (*FieldError) Message

func (e *FieldError) Message(msg string) *FieldError

Message prints the error message.

type GCS

type GCS struct {
	AccountName       *string    `mapstructure:"account_name"`
	Bucket            *string    `mapstructure:"bucket_name"`
	CompressionCodec  *string    `mapstructure:"compression_codec"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	GzipLevel         *int       `mapstructure:"gzip_level"`
	MessageType       *string    `mapstructure:"message_type"`
	Name              *string    `mapstructure:"name"`
	Path              *string    `mapstructure:"path"`
	Period            *int       `mapstructure:"period"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ProjectID         *string    `mapstructure:"project_id"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	SecretKey         *string    `mapstructure:"secret_key"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TimestampFormat   *string    `mapstructure:"timestamp_format"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	User              *string    `mapstructure:"user"`
}

GCS represents an GCS logging response from the Fastly API.

type GetACLEntriesInput

type GetACLEntriesInput struct {
	// ACLID is an alphanumeric string identifying a ACL (required).
	ACLID string
	// Direction is the direction in which to sort results.
	Direction *string
	// Page is the current page.
	Page *int
	// PerPage is the number of records per page.
	PerPage *int
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string
	// Sort is the field on which to sort.
	Sort *string
}

GetACLEntriesInput is the input parameter to GetACLEntries function.

type GetACLEntryInput

type GetACLEntryInput struct {
	// ACLID is an alphanumeric string identifying a ACL (required).
	ACLID string
	// EntryID is an alphanumeric string identifying an ACL Entry (required).
	EntryID string
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string
}

GetACLEntryInput is the input parameter to GetACLEntry function.

type GetACLInput

type GetACLInput struct {
	// Name is the name of the ACL to get (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetACLInput is the input parameter to GetACL function.

type GetAPIEventInput

type GetAPIEventInput struct {
	// EventID is the ID of the event and is required.
	EventID string
}

GetAPIEventInput is used as input to the GetAPIEvent function.

type GetAPIEventsFilterInput

type GetAPIEventsFilterInput struct {
	// CustomerID to Limit the returned events to a specific customer.
	CustomerID string
	// EventType to limit the returned events to a specific event type. See above for event codes.
	EventType string
	// MaxResults is the number of items to return on each paginated page.
	MaxResults int
	// PageNumber is the pagination page number.
	PageNumber int
	// ServiceID to limit the returned events to a specific service.
	ServiceID string
	// UserID to limit the returned events to a specific user.
	UserID string
}

GetAPIEventsFilterInput is used as input to the GetAPIEvents function.

type GetAPIEventsResponse

type GetAPIEventsResponse struct {
	Events []*Event
	Links  EventsPaginationInfo `json:"links"`
}

GetAPIEventsResponse is the data returned to the user from a GetAPIEvents call.

type GetAggregateInput

type GetAggregateInput struct {
	// By is the duration of sample windows.
	By *string
	// From is the timestamp that defines the start of the window for which to fetch statistics, including the timestamp itself.
	From *string
	// Region limits query to a specific geographic region.
	Region *string
	// To is the timestamp that defines the end of the window for which to fetch statistics.
	To *string
}

GetAggregateInput is used as an input to the GetAggregateJSON function Value for the input are described at https://developer.fastly.com/reference/api/metrics-stats/

type GetAlertDefinitionInput

type GetAlertDefinitionInput struct {
	// ID of definition to fetch (required).
	ID *string
}

GetAlertDefinitionInput is used as input to the GetAlertDefinition function.

type GetAutomationTokenInput

type GetAutomationTokenInput struct {
	// TokenID is an alphanumeric string identifying the token (required).
	TokenID string
}

GetAutomationTokenInput is used as input to the GetAutomationToken function.

type GetAutomationTokensInput

type GetAutomationTokensInput struct {
	// Page is the current page.
	Page *int
	// PerPage is the number of records per page.
	PerPage *int
}

GetAutomationTokensInput is used as input to the GetAutomationTokens function.

type GetBackendInput

type GetBackendInput struct {
	// Name is the name of the backend to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetBackendInput is used as input to the GetBackend function.

type GetBigQueryInput

type GetBigQueryInput struct {
	// Name is the name of the BigQuery to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetBigQueryInput is used as input to the GetBigQuery function.

type GetBillingInput

type GetBillingInput struct {
	// Month is a 2-digit month (required).
	Month uint8
	// Year is a 4-digit year (required).
	Year uint16
}

GetBillingInput is used as input to the GetBilling function.

type GetBlobStorageInput

type GetBlobStorageInput struct {
	// Name is the name of the blob storage to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetBlobStorageInput is used as input to the GetBlobStorage function.

type GetBulkCertificateInput

type GetBulkCertificateInput struct {
	// ID is an alphanumeric string identifying a TLS bulk certificate.
	ID string
}

GetBulkCertificateInput is used as input to the GetBulkCertificate function.

type GetCacheSettingInput

type GetCacheSettingInput struct {
	// Name is the name of the cache setting to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetCacheSettingInput is used as input to the GetCacheSetting function.

type GetCloudfilesInput

type GetCloudfilesInput struct {
	// Name is the name of the Cloudfiles to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetCloudfilesInput is used as input to the GetCloudfiles function.

type GetConditionInput

type GetConditionInput struct {
	// Name is the name of the condition to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetConditionInput is used as input to the GetCondition function.

type GetConfigStoreInput

type GetConfigStoreInput struct {
	// StoreID is the StoreID of the config store (required).
	StoreID string
}

GetConfigStoreInput is the input to GetConfigStore.

type GetConfigStoreItemInput

type GetConfigStoreItemInput struct {
	// StoreID is the ID of the item's config store (required).
	StoreID string
	// Key is the name of the config store item to fetch (required).
	Key string
}

GetConfigStoreItemInput is the input to the GetConfigStoreItem.

type GetConfigStoreMetadataInput

type GetConfigStoreMetadataInput struct {
	// StoreID is the StoreID of the config store (required).
	StoreID string
}

GetConfigStoreMetadataInput is the input to GetConfigStoreMetadata.

type GetCustomTLSCertificateInput

type GetCustomTLSCertificateInput struct {
	// ID is an alphanumeric string identifying a TLS certificate.
	ID string
}

GetCustomTLSCertificateInput is used as input to the GetCustomTLSCertificate function.

type GetCustomTLSConfigurationInput

type GetCustomTLSConfigurationInput struct {
	// ID is an alphanumeric string identifying a TLS configuration.
	ID string
	// Include captures related objects. Optional, comma-separated values. Permitted values: dns_records.
	Include string
}

GetCustomTLSConfigurationInput is used as input to the GetCustomTLSConfiguration function.

type GetDatadogInput

type GetDatadogInput struct {
	// Name is the name of the Datadog to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetDatadogInput is used as input to the GetDatadog function.

type GetDictionaryInfoInput

type GetDictionaryInfoInput struct {
	// DictionaryID is the alphanumeric string identifying a dictionary (required).
	DictionaryID string
	// ServiceID is the ID of the service Dictionary belongs to (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetDictionaryInfoInput is used as input to the GetDictionary function.

type GetDictionaryInput

type GetDictionaryInput struct {
	// Name is the name of the dictionary to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetDictionaryInput is used as input to the GetDictionary function.

type GetDictionaryItemInput

type GetDictionaryItemInput struct {
	// DictionaryID is the ID of the dictionary to retrieve items for (required).
	DictionaryID string
	// ItemKey is the name of the dictionary item to fetch (required).
	ItemKey string
	// ServiceID is the ID of the service (required).
	ServiceID string
}

GetDictionaryItemInput is used as input to the GetDictionaryItem function.

type GetDictionaryItemsInput

type GetDictionaryItemsInput struct {
	// DictionaryID is the ID of the dictionary to retrieve items for (required).
	DictionaryID string
	// Direction is the direction in which to sort results.
	Direction *string
	// Page is the current page.
	Page *int
	// PerPage is the number of records per page.
	PerPage *int
	// ServiceID is the ID of the service (required).
	ServiceID string
	// Sort is the field on which to sort.
	Sort *string
}

GetDictionaryItemsInput is used as input to the GetDictionaryItems function.

type GetDiffInput

type GetDiffInput struct {
	// Format is an optional field to specify the format with which the diff will
	// be returned. Acceptable values are "text" (default), "html", or
	// "html_simple".
	Format string
	// From is the version to diff from. This can either be a string indicating a
	// positive number (e.g. "1") or a negative number from "-1" down ("-1" is the
	// latest version).
	From int
	// ServiceID is the ID of the service (required).
	ServiceID string
	// To is the version to diff up to. The same rules for From apply.
	To int
}

GetDiffInput is used as input to the GetDiff function.

type GetDigitalOceanInput

type GetDigitalOceanInput struct {
	// Name is the name of the DigitalOcean to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetDigitalOceanInput is used as input to the GetDigitalOcean function.

type GetDirectorBackendInput

type GetDirectorBackendInput struct {
	// Backend is the name of the backend (required).
	Backend string
	// Director is the name of the director (required).
	Director string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetDirectorBackendInput is used as input to the GetDirectorBackend function.

type GetDirectorInput

type GetDirectorInput struct {
	// Name is the name of the director to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetDirectorInput is used as input to the GetDirector function.

type GetDomainInput

type GetDomainInput struct {
	// Name is the name of the domain to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetDomainInput is used as input to the GetDomain function.

type GetDomainMetricsInput

type GetDomainMetricsInput struct {
	// Cursor is the value from a previous response to retrieve the next page. To request the first page, this should be empty.
	Cursor *string
	// Datacenters limits query to one or more specific POPs.
	Datacenters []string
	// Domains limit query to one or more specific domains.
	Domains []string
	// Downsample is the duration of sample windows.
	Downsample *string
	// End is a valid ISO-8601-formatted date and time, or UNIX timestamp, indicating the exclusive end of the query time range. If not provided, a default is chosen based on the provided downsample value.
	End *time.Time
	// GroupBy is the dimensions to return in the query.
	GroupBy []string
	// Limit specifies the maximum number of entries to be returned
	Limit *int
	// Metrics is the metric to retrieve. Up to ten metrics are accepted.
	Metrics []string
	// Regions limits query to one or more specific geographic regions.
	Regions []string
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string
	// Start is a valid ISO-8601-formatted date and time, or UNIX timestamp, indicating the inclusive start of the query time range. If not provided, a default is chosen based on the provided downsample value.
	Start *time.Time
}

GetDomainMetricsInput is the input to a DomainMetrics request.

type GetDynamicSnippetInput

type GetDynamicSnippetInput struct {
	// SnippetID is the SnippetID of the Snippet to fetch (required).
	SnippetID string
	// ServiceID is the ID of the service (required).
	ServiceID string
}

GetDynamicSnippetInput is used as input to the GetDynamicSnippet function.

type GetERLInput

type GetERLInput struct {
	// ERLID is an alphanumeric string identifying the rate limiter (required).
	ERLID string
}

GetERLInput is used as input to the GetERL function.

type GetElasticsearchInput

type GetElasticsearchInput struct {
	// Name is the name of the Elasticsearch endpoint to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetElasticsearchInput is used as input to the GetElasticsearch function.

type GetFTPInput

type GetFTPInput struct {
	// Name is the name of the FTP to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetFTPInput is used as input to the GetFTP function.

type GetGCSInput

type GetGCSInput struct {
	// Name is the name of the GCS to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetGCSInput is used as input to the GetGCS function.

type GetGeneratedVCLInput

type GetGeneratedVCLInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetGeneratedVCLInput is used as input to the GetGeneratedVCL function.

type GetGrafanaCloudLogsInput

type GetGrafanaCloudLogsInput struct {
	// Name is the name of the GrafanaCloudLogs to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetGrafanaCloudLogsInput is used as input to the GetGrafanaCloudLogs function.

type GetGzipInput

type GetGzipInput struct {
	// Name is the name of the Gzip to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetGzipInput is used as input to the GetGzip function.

type GetHTTP3Input

type GetHTTP3Input struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetHTTP3Input is used as input to the GetHTTP3 function.

type GetHTTPSInput

type GetHTTPSInput struct {
	// Name is the name of the HTTPS endpoint to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetHTTPSInput is used as input to the GetHTTPS function.

type GetHeaderInput

type GetHeaderInput struct {
	// Name is the name of the header to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetHeaderInput is used as input to the GetHeader function.

type GetHealthCheckInput

type GetHealthCheckInput struct {
	// Name is the name of the health check to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetHealthCheckInput is used as input to the GetHealthCheck function.

type GetHerokuInput

type GetHerokuInput struct {
	// Name is the name of the heroku to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetHerokuInput is used as input to the GetHeroku function.

type GetHoneycombInput

type GetHoneycombInput struct {
	// Name is the name for the real-time logging configuration (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetHoneycombInput is used as input to the GetHoneycomb function.

type GetImageOptimizerDefaultSettingsInput

type GetImageOptimizerDefaultSettingsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetImageOptimizerDefaultSettingsInput is used as input to the GetImageOptimizerDefaultSettings function.

type GetIntegrationInput

type GetIntegrationInput struct {
	// ID of integration to fetch (required).
	ID string
}

GetIntegrationInput is used as input to the GetIntegration function.

type GetKVStoreInput

type GetKVStoreInput struct {
	// StoreID is the StoreID of the store to fetch (required).
	StoreID string
}

GetKVStoreInput is the input to the GetKVStore function.

type GetKVStoreItemInput

type GetKVStoreItemInput struct {
	// Key is the key of the item to fetch (required).
	Key string
	// StoreID is the StoreID of the kv store (required).
	StoreID string
}

GetKVStoreItemInput is the input to the GetKVStoreItem function.

type GetKVStoreItemOutput

type GetKVStoreItemOutput struct {
	// Value is the value stored in the item. The caller of
	// 'GetKVStoreItem' must ensure that 'Value.Close()' is
	// executed if this field is non-nil.
	Value io.ReadCloser
	// Metadata is the metadata stored in the item, if any.
	Metadata string
	// Generation is the generation marker of the item.
	Generation uint64
}

GetKVStoreItemOutput is the output of the GetKVStoreItem function.

func (*GetKVStoreItemOutput) ValueAsBytes

func (o *GetKVStoreItemOutput) ValueAsBytes() ([]byte, error)

ValueAsBytes obtains the value of a KV Store Item, as a slice of bytes, by reading the 'Value' field in the structure returned by 'GetKVStoreItem'. It also ensures that 'Close()' is executed on the 'Value' field, so the caller does not need to do so.

func (*GetKVStoreItemOutput) ValueAsString

func (o *GetKVStoreItemOutput) ValueAsString() (string, error)

ValueAsString obtains the value of a KV Store Item, as a string, by reading the 'Value' field in the structure returned by 'GetKVStoreItem'. It also ensures that 'Close()' is executed on the 'Value' field, so the caller does not need to do so.

type GetKVStoreKeyInput

type GetKVStoreKeyInput struct {
	// Key is the key to fetch (required).
	Key string
	// StoreID is the StoreID of the kv store (required).
	StoreID string
}

GetKVStoreKeyInput is the input to the GetKVStoreKey function.

type GetKafkaInput

type GetKafkaInput struct {
	// Name is the name of the kafka to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetKafkaInput is used as input to the GetKafka function.

type GetKinesisInput

type GetKinesisInput struct {
	// Name is the name of the Kinesis logging object to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetKinesisInput is used as input to the GetKinesis function.

type GetLogentriesInput

type GetLogentriesInput struct {
	// Name is the name of the logentries to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetLogentriesInput is used as input to the GetLogentries function.

type GetLogglyInput

type GetLogglyInput struct {
	// Name is the name of the loggly to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetLogglyInput is used as input to the GetLoggly function.

type GetLogshuttleInput

type GetLogshuttleInput struct {
	// Name is the name of the logshuttle to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetLogshuttleInput is used as input to the GetLogshuttle function.

type GetNewRelicInput

type GetNewRelicInput struct {
	// Name is the name of the newrelic to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetNewRelicInput is used as input to the GetNewRelic function.

type GetNewRelicOTLPInput

type GetNewRelicOTLPInput struct {
	// Name is the name of the newrelic to fetch.
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetNewRelicOTLPInput is used as input to the GetNewRelicOTLP function.

type GetObservabilityCustomDashboardInput

type GetObservabilityCustomDashboardInput struct {
	// ID of the dashboard to fetch (required)
	ID *string
}

type GetOpenstackInput

type GetOpenstackInput struct {
	// Name is the name of the Openstack to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetOpenstackInput is used as input to the GetOpenstack function.

type GetOriginMetricsInput

type GetOriginMetricsInput struct {
	// Cursor is the value from a previous response to retrieve the next page. To request the first page, this should be empty.
	Cursor *string
	// Datacenters limits query to one or more specific POPs.
	Datacenters []string
	// Downsample is the duration of sample windows.
	Downsample *string
	// End is a valid ISO-8601-formatted date and time, or UNIX timestamp, indicating the exclusive end of the query time range. If not provided, a default is chosen based on the provided downsample value.
	End *time.Time
	// GroupBy is the dimensions to return in the query.
	GroupBy []string
	// Limit specifies the maximum number of entries to be returned
	Limit *int
	// Hosts limits query to one or more specific origin hosts.
	Hosts []string
	// Metrics is the metric to retrieve. Up to ten metrics are accepted.
	Metrics []string
	// Regions limits query to one or more specific geographic regions.
	Regions []string
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string
	// Start is a valid ISO-8601-formatted date and time, or UNIX timestamp, indicating the inclusive start of the query time range. If not provided, a default is chosen based on the provided downsample value.
	Start *time.Time
}

GetOriginMetricsInput is the input to an OriginMetrics request.

type GetPackageInput

type GetPackageInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string `mapstructure:"service_id"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `mapstructure:"version"`
}

GetPackageInput is used as input to the GetPackage function.

type GetPapertrailInput

type GetPapertrailInput struct {
	// Name is the name of the papertrail to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetPapertrailInput is used as input to the GetPapertrail function.

type GetPoolInput

type GetPoolInput struct {
	// Name is the name of the pool of interest (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetPoolInput is used as input to the GetPool function.

type GetPrivateKeyInput

type GetPrivateKeyInput struct {
	// ID is an alphanumeric string identifying a private Key.
	ID string
}

GetPrivateKeyInput is an input to the GetPrivateKey function. Allowed values for the fields are described at https://developer.fastly.com/reference/api/tls/platform/.

type GetPubsubInput

type GetPubsubInput struct {
	// Name is the name of the Pubsub to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetPubsubInput is used as input to the GetPubsub function.

type GetRealtimeStatsInput

type GetRealtimeStatsInput struct {
	Limit *uint32
	// ServiceID is the ID of the service (required).
	ServiceID string
	// Timestamp is a value to use for subsequent requests (required).
	Timestamp uint64
}

GetRealtimeStatsInput is an input parameter to GetRealtimeStats function.

type GetRequestSettingInput

type GetRequestSettingInput struct {
	// Name is the name of the request settings to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetRequestSettingInput is used as input to the GetRequestSetting function.

type GetResourceInput

type GetResourceInput struct {
	// ResourceID is an alphanumeric string identifying the resource link (required).
	ResourceID string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetResourceInput is used as input to the GetResource function.

type GetResponseObjectInput

type GetResponseObjectInput struct {
	// Name is the name of the response object to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetResponseObjectInput is used as input to the GetResponseObject function.

type GetS3Input

type GetS3Input struct {
	// Name is the name of the S3 to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetS3Input is used as input to the GetS3 function.

type GetSFTPInput

type GetSFTPInput struct {
	// Name is the name of the SFTP to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetSFTPInput is used as input to the GetSFTP function.

type GetScalyrInput

type GetScalyrInput struct {
	// Name is the name of the scalyr to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetScalyrInput is used as input to the GetScalyr function.

type GetSecretInput

type GetSecretInput struct {
	// Name of the Secret (required).
	Name string
	// StoreID of the Secret Store (required).
	StoreID string
}

GetSecretInput is used as input to the GetSecret function.

type GetSecretStoreInput

type GetSecretStoreInput struct {
	// StoreID of the Secret Store (required).
	StoreID string
}

GetSecretStoreInput is used as input to the GetSecretStore function.

type GetServerInput

type GetServerInput struct {
	// PoolID is the ID of the pool (required).
	PoolID string
	// Server is an alphanumeric string identifying a Server (required).
	Server string
	// ServiceID is the ID of the service (required).
	ServiceID string
}

GetServerInput is used as input to the GetServer function.

type GetServiceAuthorizationInput

type GetServiceAuthorizationInput struct {
	// ID of the service authorization to retrieve (required).
	ID string
}

GetServiceAuthorizationInput is used as input to the GetServiceAuthorization function.

type GetServiceInput

type GetServiceInput struct {
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string
}

GetServiceInput is used as input to the GetService function.

type GetServicesInput

type GetServicesInput struct {
	// Direction is the direction in which to sort results.
	Direction *string
	// Page is the current page.
	Page *int
	// PerPage is the number of records per page.
	PerPage *int
	// Sort is the field on which to sort.
	Sort *string
}

GetServicesInput is used as input to the GetServices function.

type GetSettingsInput

type GetSettingsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetSettingsInput is used as input to the GetSettings function.

type GetSnippetInput

type GetSnippetInput struct {
	// Name is the name of the Snippet to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetSnippetInput is used as input to the GetSnippet function.

type GetSplunkInput

type GetSplunkInput struct {
	// Name is the name of the splunk to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetSplunkInput is used as input to the GetSplunk function.

type GetStatsInput

type GetStatsInput struct {
	// By is the duration of sample windows.
	By *string
	// Field is the name of the stats field.
	Field *string
	// From is the timestamp that defines the start of the window for which to fetch statistics, including the timestamp itself.
	From *string
	// Region limits query to a specific geographic region.
	Region *string
	// Service is the ID of the service.
	Service *string
	// To is the timestamp that defines the end of the window for which to fetch statistics.
	To *string
}

GetStatsInput is an input to the GetStats function. Stats can be filtered by a Service ID, an individual stats field, time range (From and To), sampling rate (By) and/or Fastly region (Region) Allowed values for the fields are described at https://developer.fastly.com/reference/api/metrics-stats/

type GetSumologicInput

type GetSumologicInput struct {
	// Name is the name of the sumologic to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetSumologicInput is used as input to the GetSumologic function.

type GetSyslogInput

type GetSyslogInput struct {
	// Name is the name of the syslog to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetSyslogInput is used as input to the GetSyslog function.

type GetTLSActivationInput

type GetTLSActivationInput struct {
	// ID is an alphanumeric string identifying a TLS activation.
	ID string
	// Include related objects. Optional, comma-separated values. Permitted values: tls_certificate, tls_configuration, and tls_domain.
	Include *string
}

GetTLSActivationInput is used as input to the GetTLSActivation function.

type GetTLSMutualAuthenticationInput

type GetTLSMutualAuthenticationInput struct {
	// ID is an alphanumeric string identifying a mutual authentication (required).
	ID string
	// Include is a comma-separated list of related objects to include.
	Include string
}

GetTLSMutualAuthenticationInput is used as input to the GetTLSMutualAuthentication function.

type GetTLSSubscriptionInput

type GetTLSSubscriptionInput struct {
	// ID of the TLS subscription to fetch.
	ID string
	// Include related objects. Optional, comma-separated values. Permitted values: tls_authorizations, tls_authorizations.globalsign_email_challenge, tls_authorizations.self_managed_http_challenge, and tls_certificates.
	Include *string
}

GetTLSSubscriptionInput is used as input to the GetTLSSubscription function.

type GetUsageInput

type GetUsageInput struct {
	// By is the duration of sample windows.
	By *string
	// From is the timestamp that defines the start of the window for which to fetch statistics, including the timestamp itself.
	From *string
	// Region limits query to a specific geographic region.
	Region *string
	// To is the timestamp that defines the end of the window for which to fetch statistics.
	To *string
}

GetUsageInput is used as an input to the GetUsage function Value for the input are described at https://developer.fastly.com/reference/api/metrics-stats/

type GetUserInput

type GetUserInput struct {
	// UserID is an alphanumeric string identifying the user (required).
	UserID string
}

GetUserInput is used as input to the GetUser function.

type GetVCLInput

type GetVCLInput struct {
	// Name is the name of the VCL to fetch (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

GetVCLInput is used as input to the GetVCL function.

type GetVersionInput

type GetVersionInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the version number to fetch (required).
	ServiceVersion int
}

GetVersionInput is the input to the GetVersion function.

type GetWebhookSigningKeyInput

type GetWebhookSigningKeyInput struct {
	// IntegrationID is the ID of the webhook integration which signing key to get (required).
	IntegrationID string
}

GetWebhookSigningKeyInput is used as input to the GetWebhookSigningKey function.

type GrafanaCloudLogs

type GrafanaCloudLogs struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	MessageType       *string    `mapstructure:"message_type"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`

	Index *string `mapstructure:"index"`
	Token *string `mapstructure:"token"`
	URL   *string `mapstructure:"url"`
	User  *string `mapstructure:"user"`
}

GrafanaCloudLogs represents a GrafanaCloudLogs response from the Fastly API.

type Gzip

type Gzip struct {
	CacheCondition *string    `mapstructure:"cache_condition"`
	ContentTypes   *string    `mapstructure:"content_types"`
	CreatedAt      *time.Time `mapstructure:"created_at"`
	DeletedAt      *time.Time `mapstructure:"deleted_at"`
	Extensions     *string    `mapstructure:"extensions"`
	Name           *string    `mapstructure:"name"`
	ServiceID      *string    `mapstructure:"service_id"`
	ServiceVersion *int       `mapstructure:"version"`
	UpdatedAt      *time.Time `mapstructure:"updated_at"`
}

Gzip represents an Gzip logging response from the Fastly API.

type HTTP3

type HTTP3 struct {
	CreatedAt       *time.Time `mapstructure:"created_at" json:"created_at"`
	DeletedAt       *time.Time `mapstructure:"deleted_at" json:"deleted_at"`
	FeatureRevision *int       `mapstructure:"feature_revision" json:"feature_revision"`
	ServiceID       *string    `mapstructure:"service_id" json:"service_id"`
	ServiceVersion  *int       `mapstructure:"version" json:"version"`
	UpdatedAt       *time.Time `mapstructure:"updated_at" json:"updated_at"`
}

HTTP3 represents a response from the Fastly API.

type HTTPError

type HTTPError struct {
	Errors []*ErrorObject `mapstructure:"errors"`
	// StatusCode is the HTTP status code (2xx-5xx).
	StatusCode int
	// RateLimitRemaining is the number of API requests remaining in the current
	// rate limit window. A `nil` value indicates the API returned no value for
	// the associated Fastly-RateLimit-Remaining response header.
	RateLimitRemaining *int
	// RateLimitReset is the time at which the current rate limit window resets,
	// as a Unix timestamp. A `nil` value indicates the API returned no value for
	// the associated Fastly-RateLimit-Reset response header.
	RateLimitReset *int
}

HTTPError is a custom error type that wraps an HTTP status code with some helper functions.

func NewHTTPError

func NewHTTPError(resp *http.Response) *HTTPError

NewHTTPError creates a new HTTP error from the given code.

func (*HTTPError) Error

func (e *HTTPError) Error() string

Error implements the error interface and returns the string representing the error text that includes the status code and the corresponding status text.

func (*HTTPError) IsBadRequest

func (e *HTTPError) IsBadRequest() bool

IsBadRequest returns true if the HTTP status code is 400, false otherwise.

func (*HTTPError) IsNotFound

func (e *HTTPError) IsNotFound() bool

IsNotFound returns true if the HTTP status code is 404, false otherwise.

func (*HTTPError) IsPreconditionFailed

func (e *HTTPError) IsPreconditionFailed() bool

IsPreconditionFailed returns true if the HTTP status code is 412, false otherwise.

func (*HTTPError) String

func (e *HTTPError) String() string

String implements the stringer interface and returns the string representing the error text that includes the status code and corresponding status text.

type HTTPS

type HTTPS struct {
	CompressionCodec  *string    `mapstructure:"compression_codec"`
	ContentType       *string    `mapstructure:"content_type"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	GzipLevel         *int       `mapstructure:"gzip_level"`
	HeaderName        *string    `mapstructure:"header_name"`
	HeaderValue       *string    `mapstructure:"header_value"`
	JSONFormat        *string    `mapstructure:"json_format"`
	MessageType       *string    `mapstructure:"message_type"`
	Method            *string    `mapstructure:"method"`
	Name              *string    `mapstructure:"name"`
	Period            *int       `mapstructure:"period"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	RequestMaxBytes   *int       `mapstructure:"request_max_bytes"`
	RequestMaxEntries *int       `mapstructure:"request_max_entries"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TLSCACert         *string    `mapstructure:"tls_ca_cert"`
	TLSClientCert     *string    `mapstructure:"tls_client_cert"`
	TLSClientKey      *string    `mapstructure:"tls_client_key"`
	TLSHostname       *string    `mapstructure:"tls_hostname"`
	URL               *string    `mapstructure:"url"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

HTTPS represents an HTTPS Logging response from the Fastly API.

type Header struct {
	Action            *HeaderAction `mapstructure:"action"`
	CacheCondition    *string       `mapstructure:"cache_condition"`
	CreatedAt         *time.Time    `mapstructure:"created_at"`
	DeletedAt         *time.Time    `mapstructure:"deleted_at"`
	Destination       *string       `mapstructure:"dst"`
	IgnoreIfSet       *bool         `mapstructure:"ignore_if_set"`
	Name              *string       `mapstructure:"name"`
	Priority          *int          `mapstructure:"priority"`
	Regex             *string       `mapstructure:"regex"`
	RequestCondition  *string       `mapstructure:"request_condition"`
	ResponseCondition *string       `mapstructure:"response_condition"`
	ServiceID         *string       `mapstructure:"service_id"`
	ServiceVersion    *int          `mapstructure:"version"`
	Source            *string       `mapstructure:"src"`
	Substitution      *string       `mapstructure:"substitution"`
	Type              *HeaderType   `mapstructure:"type"`
	UpdatedAt         *time.Time    `mapstructure:"updated_at"`
}

Header represents a header response from the Fastly API.

type HeaderAction

type HeaderAction string

HeaderAction is a type of header action.

const (
	// HeaderActionSet is a header action that sets or resets a header.
	HeaderActionSet HeaderAction = "set"

	// HeaderActionAppend is a header action that appends to an existing header.
	HeaderActionAppend HeaderAction = "append"

	// HeaderActionDelete is a header action that deletes a header.
	HeaderActionDelete HeaderAction = "delete"

	// HeaderActionRegex is a header action that performs a single regex
	// replacement on a header.
	HeaderActionRegex HeaderAction = "regex"

	// HeaderActionRegexRepeat is a header action that performs a global regex
	// replacement on a header.
	HeaderActionRegexRepeat HeaderAction = "regex_repeat"
)

type HeaderType

type HeaderType string

HeaderType is a type of header.

const (
	// HeaderTypeRequest is a header type that performs on the request before
	// lookups.
	HeaderTypeRequest HeaderType = "request"

	// HeaderTypeFetch is a header type that performs on the request to the origin
	// server.
	HeaderTypeFetch HeaderType = "fetch"

	// HeaderTypeCache is a header type that performs on the response before it's
	// store in the cache.
	HeaderTypeCache HeaderType = "cache"

	// HeaderTypeResponse is a header type that performs on the response before
	// delivering to the client.
	HeaderTypeResponse HeaderType = "response"
)

type HealthCheck

type HealthCheck struct {
	CheckInterval    *int       `mapstructure:"check_interval"`
	Comment          *string    `mapstructure:"comment"`
	CreatedAt        *time.Time `mapstructure:"created_at"`
	DeletedAt        *time.Time `mapstructure:"deleted_at"`
	ExpectedResponse *int       `mapstructure:"expected_response"`
	HTTPVersion      *string    `mapstructure:"http_version"`
	Headers          []string   `mapstructure:"headers"`
	Host             *string    `mapstructure:"host"`
	Initial          *int       `mapstructure:"initial"`
	Method           *string    `mapstructure:"method"`
	Name             *string    `mapstructure:"name"`
	Path             *string    `mapstructure:"path"`
	ServiceID        *string    `mapstructure:"service_id"`
	ServiceVersion   *int       `mapstructure:"version"`
	Threshold        *int       `mapstructure:"threshold"`
	Timeout          *int       `mapstructure:"timeout"`
	UpdatedAt        *time.Time `mapstructure:"updated_at"`
	Window           *int       `mapstructure:"window"`
}

HealthCheck represents a health check response from the Fastly API.

type Heroku

type Heroku struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Token             *string    `mapstructure:"token"`
	URL               *string    `mapstructure:"url"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

Heroku represents a heroku response from the Fastly API.

type Honeycomb

type Honeycomb struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	Dataset           *string    `mapstructure:"dataset"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Token             *string    `mapstructure:"token"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

Honeycomb represents a honeycomb response from the Fastly API.

type IPAddrs

type IPAddrs []string

IPAddrs is a list of IP addresses returned by the Fastly API.

type ImageOptimizerDefaultSettings

type ImageOptimizerDefaultSettings struct {
	// The type of filter to use while resizing an image.
	ResizeFilter string `json:"resize_filter"`
	// Controls whether or not to default to WebP output when the client supports it. This is equivalent to adding "auto=webp" to all image optimizer requests.
	Webp bool `json:"webp"`
	// The default quality to use with WebP output. This can be overridden with the second option in the "quality" URL parameter on specific image optimizer requests.
	WebpQuality int `json:"webp_quality"`
	// The default type of JPEG output to use. This can be overridden with "format=bjpeg" and "format=pjpeg" on specific image optimizer requests.
	JpegType string `json:"jpeg_type"`
	// The default quality to use with JPEG output. This can be overridden with the "quality" parameter on specific image optimizer requests.
	JpegQuality int `json:"jpeg_quality"`
	// Whether or not we should allow output images to render at sizes larger than input.
	Upscale bool `json:"upscale"`
	// Enables GIF to MP4 transformations on this service.
	AllowVideo bool `json:"allow_video"`
}

ImageOptimizerDefaultSettings represents the returned Image Optimizer default settings for a given service.

type ImageOptimizerJpegType

type ImageOptimizerJpegType int64

ImageOptimizerJpegType is a base for different ImageOptimizerJpegType variants.

const (
	// Match the input JPEG type, or baseline if transforming from a non-JPEG input.
	ImageOptimizerAuto ImageOptimizerJpegType = iota
	// Output baseline JPEG images.
	ImageOptimizerBaseline
	// Output progressive JPEG images.
	ImageOptimizerProgressive
)

func (ImageOptimizerJpegType) MarshalJSON

func (r ImageOptimizerJpegType) MarshalJSON() ([]byte, error)

func (ImageOptimizerJpegType) String

func (r ImageOptimizerJpegType) String() string

type ImageOptimizerResizeFilter

type ImageOptimizerResizeFilter int64

ImageOptimizerResizeFilter is a base for the different ImageOptimizerResizeFilter variants.

const (
	// A Lanczos filter with a kernel size of 3. Lanczos filters can detect edges and linear features within an image, providing the best possible reconstruction.
	ImageOptimizerLanczos3 ImageOptimizerResizeFilter = iota
	// A Lanczos filter with a kernel size of 2.
	ImageOptimizerLanczos2
	// A filter using an average of a 4x4 environment of pixels, weighing the innermost pixels higher.
	ImageOptimizerBicubic
	// A filter using an average of a 2x2 environment of pixels.
	ImageOptimizerBilinear
	// A filter using the value of nearby translated pixel values. Preserves hard edges.
	ImageOptimizerNearest
)

func (ImageOptimizerResizeFilter) MarshalJSON

func (r ImageOptimizerResizeFilter) MarshalJSON() ([]byte, error)

func (ImageOptimizerResizeFilter) String

type InsertKVStoreKeyInput

type InsertKVStoreKeyInput struct {
	// Body is the value to insert and will be streamed to the endpoint.
	// This is for users who are passing very large files.
	// Otherwise use the 'Value' field instead.
	Body LengthReader
	// StoreID is the StoreID of the kv store (required).
	StoreID string
	// Key is the key to add (required).
	Key string
	// Value is the value to insert (ignored if Body is set).
	Value string
	// IfGenerationMatch specifies a 'generation marker' value
	// which must match the value on the specified key for the
	// deletion to proceed.
	IfGenerationMatch uint64
	// Add specifies that the operation must fail if the key
	// already exists.
	Add bool
	// Append specifies that the provided Body or Value will be
	// appended to the key's existing value, if any.
	Append bool
	// Prepend specifies that the provided Body or Value will be
	// prepended to the key's existing value, if any.
	Prepend bool
	// BackgroundFetch specifies that the new value for the key
	// does not need to be immediately visible to other users of
	// the store.
	BackgroundFetch bool
	// Metadata is a string which will be stored alongside the
	// key's value. This is specified as a pointer-to-string so
	// that existing metadata can be removed by specifying an
	// empty string.
	Metadata *string
	// TimeToLiveSec specifies the number of seconds (from the
	// completion of the insert/update operation) that the key
	// should be retrievable.
	TimeToLiveSec int
}

InsertKVStoreKeyInput is the input to the InsertKVStoreKey function.

type Integration

type Integration struct {
	CreatedAt   *time.Time        `json:"created_at"`
	Description *string           `json:"description"`
	Config      map[string]string `json:"config"`
	ID          *string           `json:"id"`
	Name        *string           `json:"name"`
	Status      *string           `json:"status"`
	Type        *string           `json:"type"`
	UpdatedAt   *time.Time        `json:"updated_at"`
}

Integration holds the configuration for one integration.

type IntegrationType

type IntegrationType struct {
	Type         *string       `json:"type"`
	DisplayName  *string       `json:"display_name"`
	CustomFields []CustomField `json:"custom_fields"`
}

IntegrationType is an item in the response listing integration types.

type IntegrationsMeta

type IntegrationsMeta struct {
	Limit      *int    `json:"limit"`
	NextCursor *string `json:"next_cursor"`
	Sort       *string `json:"sort"`
	Total      *int    `json:"total"`
	Type       *string `json:"type"`
}

IntegrationsMeeta holds metadata about an integrations query.

type KVStore

type KVStore struct {
	CreatedAt *time.Time `mapstructure:"created_at"`
	Name      string     `mapstructure:"name"`
	StoreID   string     `mapstructure:"id"`
	UpdatedAt *time.Time `mapstructure:"updated_at"`
}

KVStore represents an KV Store response from the Fastly API.

type Kafka

type Kafka struct {
	AuthMethod        *string    `mapstructure:"auth_method"`
	Brokers           *string    `mapstructure:"brokers"`
	CompressionCodec  *string    `mapstructure:"compression_codec"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	ParseLogKeyvals   *bool      `mapstructure:"parse_log_keyvals"`
	Password          *string    `mapstructure:"password"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	RequestMaxBytes   *int       `mapstructure:"request_max_bytes"`
	RequiredACKs      *string    `mapstructure:"required_acks"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TLSCACert         *string    `mapstructure:"tls_ca_cert"`
	TLSClientCert     *string    `mapstructure:"tls_client_cert"`
	TLSClientKey      *string    `mapstructure:"tls_client_key"`
	TLSHostname       *string    `mapstructure:"tls_hostname"`
	Topic             *string    `mapstructure:"topic"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	UseTLS            *bool      `mapstructure:"use_tls"`
	User              *string    `mapstructure:"user"`
}

Kafka represents a kafka response from the Fastly API.

type Kinesis

type Kinesis struct {
	AccessKey         *string    `mapstructure:"access_key"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	IAMRole           *string    `mapstructure:"iam_role"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	Region            *string    `mapstructure:"region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	SecretKey         *string    `mapstructure:"secret_key"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	StreamName        *string    `mapstructure:"topic"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

Kinesis represents a Kinesis response from the Fastly API.

type LatestVersionInput

type LatestVersionInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
}

LatestVersionInput is the input to the LatestVersion function.

type LengthReader

type LengthReader interface {
	io.Reader
	Len() int
}

LengthReader represents a type that can be read and exposes its length.

func FileLengthReader

func FileLengthReader(f *os.File) (LengthReader, error)

FileLengthReader allows an os.File type to be passed as a LengthReader to the InsertKVStoreKeyInput.Body field.

type ListACLEntriesInput

type ListACLEntriesInput struct {
	// ACLID is an alphanumeric string identifying a ACL (required).
	ACLID string
	// Direction is the direction in which to sort results.
	Direction *string
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string
	// Sort is the field on which to sort.
	Sort *string
}

ListACLEntriesInput is the input parameter to ListACLEntries function.

type ListACLsInput

type ListACLsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListACLsInput is used as input to the ListACLs function.

type ListAlertDefinitionsInput

type ListAlertDefinitionsInput struct {
	// Cursor is the pagination cursor from a previous request's meta.
	Cursor *string
	// Limit is the maximum number of items included in each response.
	Limit *int
	// Name filters definitions by name substring.
	Name *string
	// ServiceID filters definitions by service.
	ServiceID *string
	// Sort is the field on which to sort definitions.
	Sort *string
}

ListAlertDefinitionsInput is used as input to the ListAlertDefinitions function.

type ListAlertHistoryInput

type ListAlertHistoryInput struct {
	// After filters history having start or end on or after the provided timestamp.
	After *string
	// Before filters history having start or end on or before the provided timestamp.
	Before *string
	// Cursor is the pagination cursor from a previous request's meta.
	Cursor *string
	// DefinitionID filters history by definition.
	DefinitionID *string
	// Limit is the maximum number of items included in each response.
	Limit *int
	// ServiceID filters history by service.
	ServiceID *string
	// Sort is the field on which to sort definitions.
	Sort *string
	// Status is the alert status.
	Status *string
}

ListAlertHistoryInput is used as input to the ListAlertHistory function.

type ListBackendsInput

type ListBackendsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListBackendsInput is used as input to the ListBackends function.

type ListBigQueriesInput

type ListBigQueriesInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListBigQueriesInput is used as input to the ListBigQueries function.

type ListBlobStoragesInput

type ListBlobStoragesInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListBlobStoragesInput is used as input to the ListBlobStorages function.

type ListBulkCertificatesInput

type ListBulkCertificatesInput struct {
	// FilterTLSDomainsIDMatch filters certificates by their matching, fully-qualified domain name. Returns all partial matches. Must provide a value longer than 3 characters.
	FilterTLSDomainsIDMatch string
	// PageNumber is the page index for pagination.
	PageNumber int
	// PageSize is the number of keys per page.
	PageSize int
	// Sort is the order in which to list certificates. Valid values are created_at, not_before, not_after. May precede any value with a - for descending.
	Sort string
}

ListBulkCertificatesInput is used as input to the ListBulkCertificates function.

type ListCacheSettingsInput

type ListCacheSettingsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListCacheSettingsInput is used as input to the ListCacheSettings function.

type ListCloudfilesInput

type ListCloudfilesInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListCloudfilesInput is used as input to the ListCloudfiles function.

type ListConditionsInput

type ListConditionsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListConditionsInput is used as input to the ListConditions function.

type ListConfigStoreItemsInput

type ListConfigStoreItemsInput struct {
	// StoreID is the ID of the config store to retrieve items for (required).
	StoreID string
}

ListConfigStoreItemsInput is the input to ListConfigStoreItems.

type ListConfigStoreServicesInput

type ListConfigStoreServicesInput struct {
	// StoreID is the StoreID of the config store (required).
	StoreID string
}

ListConfigStoreServicesInput is the input to ListConfigStoreServices.

type ListConfigStoresInput

type ListConfigStoresInput struct {
	// Name is the name of a config store.
	Name string
}

ListConfigStoreServicesInput is the input to ListConfigStoreServices.

type ListCustomTLSCertificatesInput

type ListCustomTLSCertificatesInput struct {
	// FilterInUse limits the returned certificates to those currently using Fastly to terminate TLS (that is, certificates associated with an activation). Permitted values: true, false.
	FilterInUse *bool
	// FilterNotAfter limits the returned certificates to those that expire prior to the specified date in UTC. Accepts parameters: lte (e.g., filter[not_after][lte]=2020-05-05).
	FilterNotAfter string
	// FilterTLSDomainsID limits the returned certificates to those that include the specific domain.
	FilterTLSDomainsID string
	// Include captures related objects. Optional, comma-separated values. Permitted values: tls_activations.
	Include string
	// PageNumber is the page index for pagination.
	PageNumber int
	// PageSize is the number of keys per page.
	PageSize int
	// Sort is the order in which to list certificates. Valid values are created_at, not_before, not_after. May precede any value with a - for descending.
	Sort string
}

ListCustomTLSCertificatesInput is used as input to the Client.ListCustomTLSCertificates function.

type ListCustomTLSConfigurationsInput

type ListCustomTLSConfigurationsInput struct {
	// FilterBulk is whether or not to only include bulk=true configurations
	FilterBulk bool
	// Include captures related objects. Optional, comma-separated values. Permitted values: dns_records.
	Include string
	// PageNumber is the page index for pagination.
	PageNumber int
	// PageSize is the number of keys per page.
	PageSize int
}

ListCustomTLSConfigurationsInput is used as input to the ListCustomTLSConfigurationsInput function.

type ListCustomerTokensInput

type ListCustomerTokensInput struct {
	// CustomerID is an alphanumeric string identifying the customer (required).
	CustomerID string
}

ListCustomerTokensInput is used as input to the ListCustomerTokens function.

type ListCustomerUsersInput

type ListCustomerUsersInput struct {
	// CustomerID is an alphanumeric string identifying the customer (required).
	CustomerID string
}

ListCustomerUsersInput is used as input to the ListCustomerUsers function.

type ListDashboardsResponse

type ListDashboardsResponse struct {
	Data []ObservabilityCustomDashboard `json:"data"`
	Meta DashboardMeta                  `json:"meta"`
}

type ListDatadogInput

type ListDatadogInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListDatadogInput is used as input to the ListDatadog function.

type ListDictionariesInput

type ListDictionariesInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListDictionariesInput is used as input to the ListDictionaries function.

type ListDictionaryItemsInput

type ListDictionaryItemsInput struct {
	// DictionaryID is the ID of the dictionary to retrieve items for (required).
	DictionaryID string
	// Direction is the direction in which to sort results.
	Direction *string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// Sort is the field on which to sort.
	Sort *string
}

ListDictionaryItemsInput is used as input to the ListDictionaryItems function.

type ListDigitalOceansInput

type ListDigitalOceansInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListDigitalOceansInput is used as input to the ListDigitalOceans function.

type ListDirectorsInput

type ListDirectorsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListDirectorsInput is used as input to the ListDirectors function.

type ListDomainsInput

type ListDomainsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListDomainsInput is used as input to the ListDomains function.

type ListERLsInput

type ListERLsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the version number to fetch (required).
	ServiceVersion int
}

ListERLsInput is used as input to the ListERLs function.

type ListElasticsearchInput

type ListElasticsearchInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListElasticsearchInput is used as input to the ListElasticsearch function.

type ListFTPsInput

type ListFTPsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListFTPsInput is used as input to the ListFTPs function.

type ListGCSsInput

type ListGCSsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListGCSsInput is used as input to the ListGCSs function.

type ListGrafanaCloudLogsInput

type ListGrafanaCloudLogsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListGrafanaCloudLogsInput is used as input to the ListGrafanaCloudLogs function.

type ListGzipsInput

type ListGzipsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListGzipsInput is used as input to the ListGzips function.

type ListHTTPSInput

type ListHTTPSInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListHTTPSInput is used as input to the ListHTTPS function.

type ListHeadersInput

type ListHeadersInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListHeadersInput is used as input to the ListHeaders function.

type ListHealthChecksInput

type ListHealthChecksInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListHealthChecksInput is used as input to the ListHealthChecks function.

type ListHerokusInput

type ListHerokusInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListHerokusInput is used as input to the ListHerokus function.

type ListHoneycombsInput

type ListHoneycombsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListHoneycombsInput is used as input to the ListHoneycombs function.

type ListKVStoreKeysInput

type ListKVStoreKeysInput struct {
	// Consistency determines accuracy of results (values: eventual, strong). i.e. 'eventual' uses caching to improve performance (default: strong)
	Consistency Consistency
	// Prefix limits the results to keys which begin with the specified string.
	Prefix string
	// Cursor is used for paginating through results.
	Cursor string
	// StoreID is the StoreID of the kv store to list keys for (required).
	StoreID string
	// Limit is the maximum number of items included the response.
	Limit int
}

ListKVStoreKeysInput is the input to the ListKVStoreKeys function.

type ListKVStoreKeysPaginator

type ListKVStoreKeysPaginator struct {
	// contains filtered or unexported fields
}

ListKVStoreKeysPaginator is the opaque type for a ListKVStoreKeys calls with pagination.

func (*ListKVStoreKeysPaginator) Err

Err returns any error from the paginator.

func (*ListKVStoreKeysPaginator) Keys

func (l *ListKVStoreKeysPaginator) Keys() []string

Keys returns the current set of keys retrieved by the paginator.

func (*ListKVStoreKeysPaginator) Next

func (l *ListKVStoreKeysPaginator) Next() bool

Next advances the paginator.

type ListKVStoreKeysResponse

type ListKVStoreKeysResponse struct {
	// Data is the list of keys
	Data []string
	// Meta is the information for pagination
	Meta map[string]string
}

ListKVStoreKeysResponse retrieves all resources.

type ListKVStoresInput

type ListKVStoresInput struct {
	// Cursor is used for paginating through results.
	Cursor string
	// Limit is the maximum number of items included the response.
	Limit int
	// Name is the name of the KV store.
	Name string
}

ListKVStoresInput is used as an input to the ListKVStores function.

type ListKVStoresPaginator

type ListKVStoresPaginator struct {
	// contains filtered or unexported fields
}

ListKVStoresPaginator is the opaque type for a ListKVStores call with pagination.

func (*ListKVStoresPaginator) Err

func (l *ListKVStoresPaginator) Err() error

Err returns any error from the pagination.

func (*ListKVStoresPaginator) Next

func (l *ListKVStoresPaginator) Next() bool

Next advances the paginator and fetches the next set of kv stores.

func (*ListKVStoresPaginator) Stores

func (l *ListKVStoresPaginator) Stores() []KVStore

Stores returns the current partial list of kv stores.

type ListKVStoresResponse

type ListKVStoresResponse struct {
	// Data is the list of returned kv stores
	Data []KVStore
	// Meta is the information for pagination
	Meta map[string]string
}

ListKVStoresResponse retrieves all resources.

type ListKafkasInput

type ListKafkasInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListKafkasInput is used as input to the ListKafkas function.

type ListKinesisInput

type ListKinesisInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListKinesisInput is used as input to the ListKinesis function.

type ListLogentriesInput

type ListLogentriesInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListLogentriesInput is used as input to the ListLogentries function.

type ListLogglyInput

type ListLogglyInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListLogglyInput is used as input to the ListLoggly function.

type ListLogshuttlesInput

type ListLogshuttlesInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListLogshuttlesInput is used as input to the ListLogshuttles function.

type ListNewRelicInput

type ListNewRelicInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListNewRelicInput is used as input to the ListNewRelic function.

type ListNewRelicOTLPInput

type ListNewRelicOTLPInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListNewRelicOTLPInput is used as input to the ListNewRelicOTLP function.

type ListObservabilityCustomDashboardsInput

type ListObservabilityCustomDashboardsInput struct {
	// Cursor is the pagination cursor from a previous request's meta (optional)
	Cursor *string
	// Limit is the maximum number of items included in each response (optional)
	Limit *int
	// Sort is the field on which to sort dashboards (optional)
	Sort *string
}

ListObservabilityCustomDashboardsInput is used as input to the ListObservabilityCustomDashboards function.

type ListOpenstackInput

type ListOpenstackInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListOpenstackInput is used as input to the ListOpenstack function.

type ListOpts

type ListOpts struct {
	// Direction is the direction in which to sort results.
	Direction string
	// Page is the current page.
	Page int
	// PerPage is the number of records per page.
	PerPage int
	// Sort is the field on which to sort.
	Sort string
}

ListOpts configures the API list options.

type ListPaginator

type ListPaginator[T any] struct {
	CurrentPage int
	LastPage    int
	NextPage    int
	// contains filtered or unexported fields
}

ListPaginator implements the generic Paginator[N] interface.

func NewPaginator

func NewPaginator[T any](ctx context.Context, client PaginationClient, opts ListOpts, path string) *ListPaginator[T]

NewPaginator returns a *ListPaginator[T]. Exposed for the purposes of mocking the paginator within the Fastly CLI.

NOTE: We can't identify the underlying type of the type parameter T. This is because we don't assign it to any of the defined function parameters. If we did, then we could do this: https://go.dev/play/p/dfTMGjaSSAX. This means we have to have the caller pass the API path.

func (*ListPaginator[T]) GetNext

func (p *ListPaginator[T]) GetNext() ([]*T, error)

GetNext retrieves data in the next page.

func (*ListPaginator[T]) HasNext

func (p *ListPaginator[T]) HasNext() bool

HasNext returns a boolean indicating whether more pages are available.

func (*ListPaginator[T]) Remaining

func (p *ListPaginator[T]) Remaining() int

Remaining returns the remaining page count.

type ListPapertrailsInput

type ListPapertrailsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListPapertrailsInput is used as input to the ListPapertrails function.

type ListPoolsInput

type ListPoolsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListPoolsInput is used as input to the ListPools function.

type ListPrivateKeysInput

type ListPrivateKeysInput struct {
	// FilterInUse is the returned keys to those without any matching TLS certificates.
	FilterInUse string
	// PageNumber is the page index for pagination.
	PageNumber int
	// PageSize is the number of keys per page.
	PageSize int
}

ListPrivateKeysInput is used as input to the ListPrivateKeys function.

type ListPubsubsInput

type ListPubsubsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListPubsubsInput is used as input to the ListPubsubs function.

type ListRequestSettingsInput

type ListRequestSettingsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListRequestSettingsInput is used as input to the ListRequestSettings function.

type ListResourcesInput

type ListResourcesInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListResourcesInput is used as input to the ListResources function.

type ListResponseObjectsInput

type ListResponseObjectsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListResponseObjectsInput is used as input to the ListResponseObjects function.

type ListS3sInput

type ListS3sInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListS3sInput is used as input to the ListS3s function.

type ListSFTPsInput

type ListSFTPsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListSFTPsInput is used as input to the ListSFTPs function.

type ListScalyrsInput

type ListScalyrsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListScalyrsInput is used as input to the ListScalyrs function.

type ListSecretStoresInput

type ListSecretStoresInput struct {
	// Cursor is the pagination cursor.
	Cursor string
	// Limit is the desired number of Secret Stores.
	Limit int
	// Name is the name of the secret store.
	Name string
}

ListSecretStoresInput is used as input to the ListSecretStores function.

type ListSecretsInput

type ListSecretsInput struct {
	// Cursor is the pagination cursor.
	Cursor string
	// Limit is the desired number of Secrets.
	Limit int
	// StoreID of the Secret Store (required).
	StoreID string
}

ListSecretsInput is used as input to the ListSecrets function.

type ListServersInput

type ListServersInput struct {
	// PoolID is the ID of the pool (required).
	PoolID string
	// ServiceID is the ID of the service (required).
	ServiceID string
}

ListServersInput is used as input to the ListServers function.

type ListServiceAuthorizationsInput

type ListServiceAuthorizationsInput struct {
	// PageNumber requests a specific page of service authorizations.
	PageNumber int
	// PageSize limits the number of returned service authorizations.
	PageSize int
}

ListServiceAuthorizationsInput is used as input to the ListServiceAuthorizations function.

type ListServiceDomainInput

type ListServiceDomainInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
}

ListServiceDomainInput is the input parameter to the ListServiceDomains function.

type ListServicesInput

type ListServicesInput struct {
	// Direction is the direction in which to sort results.
	Direction *string
	// Sort is the field on which to sort.
	Sort *string
}

ListServicesInput is used as input to the ListServices function.

type ListSnippetsInput

type ListSnippetsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListSnippetsInput is used as input to the ListSnippets function.

type ListSplunksInput

type ListSplunksInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListSplunksInput is used as input to the ListSplunks function.

type ListSumologicsInput

type ListSumologicsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListSumologicsInput is used as input to the ListSumologics function.

type ListSyslogsInput

type ListSyslogsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListSyslogsInput is used as input to the ListSyslogs function.

type ListTLSActivationsInput

type ListTLSActivationsInput struct {
	// FilterTLSCertificateID limits the returned activations to a specific certificate.
	FilterTLSCertificateID string
	// FilterTLSConfigurationID limits the returned activations to a specific TLS configuration.
	FilterTLSConfigurationID string
	// FilterTLSDomainID limits the returned rules to a specific domain name.
	FilterTLSDomainID string
	// Include captures related objects. Optional, comma-separated values. Permitted values: tls_certificate, tls_configuration, and tls_domain.
	Include string
	// PageNumber is the page index for pagination.
	PageNumber int
	// PageSize is the number of activations per page.
	PageSize int
}

ListTLSActivationsInput is used as input to the ListTLSActivations function.

type ListTLSDomainsInput

type ListTLSDomainsInput struct {
	// FilterInUse limits the returned domains to those currently using Fastly to terminate TLS with SNI (that is, domains considered "in use")
	FilterInUse *bool
	// FilterTLSCertificateID Limits the returned domains to those listed in the given TLS certificate's SAN list
	FilterTLSCertificateID string
	// FilterTLSSubscriptionID limits the returned domains to those for a given TLS subscription
	FilterTLSSubscriptionID string
	// Include captures related objects
	Include string
	// PageNumber is the current page.
	PageNumber int
	// PageSize is the number of records per page
	PageSize int
	// Sort is the order in which to list the results by creation date
	Sort string
}

ListTLSDomainsInput is used as input to Client.ListTLSDomains.

type ListTLSMutualAuthenticationsInput

type ListTLSMutualAuthenticationsInput struct {
	// Include is a list of related objects to include.
	Include []string
	// PageNumber is the required page index for pagination.
	PageNumber int
	// PageSize is the number of records per page.
	PageSize int
}

ListTLSMutualAuthenticationsInput is used as input to the Client.ListTLSMutualAuthentication function.

type ListTLSSubscriptionsInput

type ListTLSSubscriptionsInput struct {
	// Limit the returned subscriptions to those that have currently active orders. Permitted values: true.
	FilterActiveOrders bool
	// Limit the returned subscriptions by state. Valid values are pending, processing, issued, and renewing. Accepts parameters: not (e.g., filter[state][not]=renewing).
	FilterState string
	// Limit the returned subscriptions to those that include the specific domain.
	FilterTLSDomainsID string
	// Include related objects. Optional, comma-separated values. Permitted values: tls_authorizations, tls_authorizations.globalsign_email_challenge, tls_authorizations.self_managed_http_challenge, and tls_certificates.
	Include string
	// Current page.
	PageNumber int
	// Number of records per page.
	PageSize int
	// The order in which to list the results by creation date. Accepts created_at (ascending sort order) or -created_at (descending).
	Sort string
}

ListTLSSubscriptionsInput is used as input to the ListTLSSubscriptions function.

type ListTokensInput

type ListTokensInput struct {
}

ListTokensInput is used as input to the ListTokens function.

type ListVCLsInput

type ListVCLsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ListVCLsInput is used as input to the ListVCLs function.

type ListVersionsInput

type ListVersionsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
}

ListVersionsInput is the input to the ListVersions function.

type LockVersionInput

type LockVersionInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

LockVersionInput is the input to the LockVersion function.

type Logentries

type Logentries struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	Port              *int       `mapstructure:"port"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	Region            *string    `mapstructure:"region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Token             *string    `mapstructure:"token"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	UseTLS            *bool      `mapstructure:"use_tls"`
}

Logentries represents a logentries response from the Fastly API.

type Loggly

type Loggly struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Token             *string    `mapstructure:"token"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

Loggly represents a loggly response from the Fastly API.

type Logshuttle

type Logshuttle struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Token             *string    `mapstructure:"token"`
	URL               *string    `mapstructure:"url"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

Logshuttle represents a logshuttle response from the Fastly API.

type ManagedLogging

type ManagedLogging struct {
	ServiceID string `mapstructure:"service_id"`
}

ManagedLogging represents a managed logging endpoint for a service.

type ManagedLoggingKind

type ManagedLoggingKind uint

ManagedLoggingKind type represents multiple kinds of log streams the managed logging feature will support.

const (
	// ManagedLoggingUnset is a log stream variant.
	ManagedLoggingUnset ManagedLoggingKind = iota
	// ManagedLoggingInstanceOutput is a log stream variant.
	ManagedLoggingInstanceOutput
)

type MultiConstraint

type MultiConstraint interface {
	[]string | ~string | ~int | int32 | ~int64 | uint | uint8 | uint32 | uint64 | float64 | ~bool
}

MultiConstraint is a generic constraint for ToPointer/ToValue.

type NewRelic

type NewRelic struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	Region            *string    `mapstructure:"region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Token             *string    `mapstructure:"token"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

NewRelic represents a newrelic response from the Fastly API.

type NewRelicOTLP

type NewRelicOTLP struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	Region            *string    `mapstructure:"region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Token             *string    `mapstructure:"token"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	URL               *string    `mapstructure:"url"`
}

NewRelicOTLP represents a newrelic response from the Fastly API.

type ObservabilityCustomDashboard

type ObservabilityCustomDashboard struct {
	// The date and time the dashboard was created
	CreatedAt time.Time `json:"created_at"`
	// The ID of the user who created the dashboard
	CreatedBy string `json:"created_by"`
	// A short description of the dashboard
	Description string `json:"description"`
	// The unique identifier of the dashboard
	ID string `json:"id"`
	// A list of DashboardItems
	Items []DashboardItem `json:"items"`
	// A human-readable name
	Name string `json:"name"`
	// The date and time the dashboard was last updated
	UpdatedAt time.Time `json:"updated_at"`
	// The ID of the user who last modified the dashboard
	UpdatedBy string `json:"updated_by"`
}

ObservabilityCustomDashboard is a named container for a custom dashboard configuration.

type Openstack

type Openstack struct {
	AccessKey         *string    `mapstructure:"access_key"`
	BucketName        *string    `mapstructure:"bucket_name"`
	CompressionCodec  *string    `mapstructure:"compression_codec"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	GzipLevel         *int       `mapstructure:"gzip_level"`
	MessageType       *string    `mapstructure:"message_type"`
	Name              *string    `mapstructure:"name"`
	Path              *string    `mapstructure:"path"`
	Period            *int       `mapstructure:"period"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	PublicKey         *string    `mapstructure:"public_key"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TimestampFormat   *string    `mapstructure:"timestamp_format"`
	URL               *string    `mapstructure:"url"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	User              *string    `mapstructure:"user"`
}

Openstack represents a Openstack response from the Fastly API.

type OriginData

type OriginData struct {
	Dimensions map[string]string `mapstructure:"dimensions"`
	Values     []*OriginMetrics  `mapstructure:"values"`
}

OriginData represents the series of values over time for a single dimension combination.

type OriginInspector

type OriginInspector struct {
	Data   []*OriginData `mapstructure:"data"`
	Meta   *OriginMeta   `mapstructure:"meta"`
	Status *string       `mapstructure:"status"`
}

OriginInspector represents the response format returned for a request to the historical Origin Inspector metrics endpoint.

type OriginMeta

type OriginMeta struct {
	Downsample *string           `mapstructure:"downsample"`
	End        *string           `mapstructure:"end"`
	Filters    map[string]string `mapstructure:"filters"`
	GroupBy    *string           `mapstructure:"group_by"`
	Limit      *int              `mapstructure:"limit"`
	Metric     *string           `mapstructure:"metric"`
	NextCursor *string           `mapstructure:"next_cursor"`
	Sort       *string           `mapstructure:"sort"`
	Start      *string           `mapstructure:"start"`
}

OriginMeta is the meta section returned for /metrics/origins responses.

type OriginMetrics

type OriginMetrics struct {
	Latency0to1ms         *uint64 `mapstructure:"latency_0_to_1ms"`
	Latency10000to60000ms *uint64 `mapstructure:"latency_10000_to_60000ms"`
	Latency1000to5000ms   *uint64 `mapstructure:"latency_1000_to_5000ms"`
	Latency100to250ms     *uint64 `mapstructure:"latency_100_to_250ms"`
	Latency10to50ms       *uint64 `mapstructure:"latency_10_to_50ms"`
	Latency1to5ms         *uint64 `mapstructure:"latency_1_to_5ms"`
	Latency250to500ms     *uint64 `mapstructure:"latency_250_to_500ms"`
	Latency5000to10000ms  *uint64 `mapstructure:"latency_5000_to_10000ms"`
	Latency500to1000ms    *uint64 `mapstructure:"latency_500_to_1000ms"`
	Latency50to100ms      *uint64 `mapstructure:"latency_50_to_100ms"`
	Latency5to10ms        *uint64 `mapstructure:"latency_5_to_10ms"`
	Latency60000ms        *uint64 `mapstructure:"latency_60000ms"`
	RespBodyBytes         *uint64 `mapstructure:"resp_body_bytes"`
	RespHeaderBytes       *uint64 `mapstructure:"resp_header_bytes"`
	Responses             *uint64 `mapstructure:"responses"`
	Status1xx             *uint64 `mapstructure:"status_1xx"`
	Status200             *uint64 `mapstructure:"status_200"`
	Status204             *uint64 `mapstructure:"status_204"`
	Status206             *uint64 `mapstructure:"status_206"`
	Status2xx             *uint64 `mapstructure:"status_2xx"`
	Status301             *uint64 `mapstructure:"status_301"`
	Status302             *uint64 `mapstructure:"status_302"`
	Status304             *uint64 `mapstructure:"status_304"`
	Status3xx             *uint64 `mapstructure:"status_3xx"`
	Status400             *uint64 `mapstructure:"status_400"`
	Status401             *uint64 `mapstructure:"status_401"`
	Status403             *uint64 `mapstructure:"status_403"`
	Status404             *uint64 `mapstructure:"status_404"`
	Status416             *uint64 `mapstructure:"status_416"`
	Status429             *uint64 `mapstructure:"status_429"`
	Status4xx             *uint64 `mapstructure:"status_4xx"`
	Status500             *uint64 `mapstructure:"status_500"`
	Status501             *uint64 `mapstructure:"status_501"`
	Status502             *uint64 `mapstructure:"status_502"`
	Status503             *uint64 `mapstructure:"status_503"`
	Status504             *uint64 `mapstructure:"status_504"`
	Status505             *uint64 `mapstructure:"status_505"`
	Status5xx             *uint64 `mapstructure:"status_5xx"`
	Timestamp             *uint64 `mapstructure:"timestamp"`
}

OriginMetrics represents the possible metrics that can be returned by a call to the Origin Inspector endpoints.

type Package

type Package struct {
	CreatedAt      *time.Time       `mapstructure:"created_at"`
	DeletedAt      *time.Time       `mapstructure:"deleted_at"`
	Metadata       *PackageMetadata `mapstructure:"metadata"`
	PackageID      *string          `mapstructure:"id"`
	ServiceID      *string          `mapstructure:"service_id"`
	ServiceVersion *int             `mapstructure:"version"`
	UpdatedAt      *time.Time       `mapstructure:"updated_at"`
}

Package is a container for data returned about a package.

func PopulatePackage

func PopulatePackage(body io.ReadCloser) (*Package, error)

PopulatePackage encapsulates the decoding of returned package data.

type PackageMetadata

type PackageMetadata struct {
	Authors     []string `mapstructure:"authors"`
	ClonedFrom  *string  `mapstructure:"cloned_from"`
	Description *string  `mapstructure:"description"`
	FilesHash   *string  `mapstructure:"files_hash"`
	HashSum     *string  `mapstructure:"hashsum"`
	Language    *string  `mapstructure:"language"`
	Name        *string  `mapstructure:"name"`
	Size        *int64   `mapstructure:"size"`
}

PackageMetadata is a container for metadata returned about a package. It is a separate struct to allow correct serialisation by mapstructure - the raw data is returned as a json sub-block.

type PaginationClient

type PaginationClient interface {
	Get(ctx context.Context, p string, ro RequestOptions) (*http.Response, error)
}

PaginationClient represents a HTTP client.

type PaginatorKVStoreEntries

type PaginatorKVStoreEntries interface {
	Next() bool
	Keys() []string
	Err() error
}

PaginatorKVStoreEntries represents a paginator for KV Store entries.

type Papertrail

type Papertrail struct {
	Address           *string    `mapstructure:"address"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	Port              *int       `mapstructure:"port"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

Papertrail represents a papertrail response from the Fastly API.

type PlotType

type PlotType string
const (
	PlotTypeLine         PlotType = "line"
	PlotTypeBar          PlotType = "bar"
	PlotTypeDonut        PlotType = "donut"
	PlotTypeSingleMetric PlotType = "single-metric"
)

type Pool

type Pool struct {
	Comment          *string    `mapstructure:"comment"`
	ConnectTimeout   *int       `mapstructure:"connect_timeout"`
	CreatedAt        *time.Time `mapstructure:"created_at"`
	DeletedAt        *time.Time `mapstructure:"deleted_at"`
	FirstByteTimeout *int       `mapstructure:"first_byte_timeout"`
	Healthcheck      *string    `mapstructure:"healthcheck"`
	MaxConnDefault   *int       `mapstructure:"max_conn_default"`
	MaxTLSVersion    *string    `mapstructure:"max_tls_version"`
	MinTLSVersion    *string    `mapstructure:"min_tls_version"`
	Name             *string    `mapstructure:"name"`
	OverrideHost     *string    `mapstructure:"override_host"`
	PoolID           *string    `mapstructure:"id"`
	Quorum           *int       `mapstructure:"quorum"`
	RequestCondition *string    `mapstructure:"request_condition"`
	ServiceID        *string    `mapstructure:"service_id"`
	ServiceVersion   *int       `mapstructure:"version"`
	Shield           *string    `mapstructure:"shield"`
	TLSCACert        *string    `mapstructure:"tls_ca_cert"`
	TLSCertHostname  *string    `mapstructure:"tls_cert_hostname"`
	TLSCheckCert     *bool      `mapstructure:"tls_check_cert"`
	TLSCiphers       *string    `mapstructure:"tls_ciphers"`
	TLSClientCert    *string    `mapstructure:"tls_client_cert"`
	TLSClientKey     *string    `mapstructure:"tls_client_key"`
	TLSSNIHostname   *string    `mapstructure:"tls_sni_hostname"`
	Type             *PoolType  `mapstructure:"type"`
	UpdatedAt        *time.Time `mapstructure:"updated_at"`
	UseTLS           *bool      `mapstructure:"use_tls"`
}

Pool represents a pool response from the Fastly API.

type PoolType

type PoolType string

PoolType is a type of pool.

const (
	// PoolTypeRandom is a pool that does random direction.
	PoolTypeRandom PoolType = "random"

	// PoolTypeHash is a pool that does hash direction.
	PoolTypeHash PoolType = "hash"

	// PoolTypeClient ins a pool that does client direction.
	PoolTypeClient PoolType = "client"
)

type PrivateKey

type PrivateKey struct {
	CreatedAt     *time.Time `jsonapi:"attr,created_at,iso8601"`
	ID            string     `jsonapi:"primary,tls_private_key"`
	KeyLength     int        `jsonapi:"attr,key_length"`
	KeyType       string     `jsonapi:"attr,key_type"`
	Name          string     `jsonapi:"attr,name"`
	PublicKeySHA1 string     `jsonapi:"attr,public_key_sha1"`
	Replace       bool       `jsonapi:"attr,replace"`
}

PrivateKey represents a private key is used to sign a Certificate.

type Pubsub

type Pubsub struct {
	AccountName       *string    `mapstructure:"account_name"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ProjectID         *string    `mapstructure:"project_id"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	SecretKey         *string    `mapstructure:"secret_key"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Topic             *string    `mapstructure:"topic"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	User              *string    `mapstructure:"user"`
}

Pubsub represents an Pubsub logging response from the Fastly API.

type Purge

type Purge struct {
	// PurgeID is the unique PurgeID of the purge request.
	PurgeID *string `mapstructure:"id"`
	// Status is the status of the purge, usually "ok".
	Status *string `mapstructure:"status"`
}

Purge is a response from a purge request.

type PurgeAllInput

type PurgeAllInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
}

PurgeAllInput is used as input to the Purge function.

type PurgeInput

type PurgeInput struct {
	// Soft performs a soft purge.
	Soft bool
	// URL is the URL to purge (required).
	URL string
}

PurgeInput is used as input to the Purge function.

type PurgeKeyInput

type PurgeKeyInput struct {
	// Key is the key to purge (required).
	Key string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// Soft performs a soft purge.
	Soft bool
}

PurgeKeyInput is used as input to the PurgeKey function.

type PurgeKeysInput

type PurgeKeysInput struct {
	// Keys are the keys to purge (required).
	Keys []string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// Soft performs a soft purge.
	Soft bool
}

PurgeKeysInput is used as input to the PurgeKeys function.

type RTSClient

type RTSClient struct {
	// contains filtered or unexported fields
}

RTSClient is the entrypoint to the Fastly's Realtime Stats API.

func NewRealtimeStatsClient

func NewRealtimeStatsClient() *RTSClient

NewRealtimeStatsClient instantiates a new Fastly API client for the realtime stats. This function requires the environment variable `FASTLY_API_KEY` is set and contains a valid API key to authenticate with Fastly.

func NewRealtimeStatsClientForEndpoint

func NewRealtimeStatsClientForEndpoint(token, endpoint string) (*RTSClient, error)

NewRealtimeStatsClientForEndpoint creates an RTSClient from a token and endpoint url. `token` is a Fastly API token and `endpoint` is RealtimeStatsEndpoint for the production realtime stats API.

func (*RTSClient) GetRealtimeStats

func (c *RTSClient) GetRealtimeStats(ctx context.Context, i *GetRealtimeStatsInput) (*RealtimeStatsResponse, error)

GetRealtimeStats returns realtime stats for a service based on the GetRealtimeStatsInput parameter. The realtime stats work in a rolling fashion where first request will return a timestamp which should be passed to the next call and so on. More details at https://developer.fastly.com/reference/api/metrics-stats/realtime/

func (*RTSClient) GetRealtimeStatsJSON

func (c *RTSClient) GetRealtimeStatsJSON(ctx context.Context, i *GetRealtimeStatsInput, dst any) error

GetRealtimeStatsJSON fetches stats and decodes the response directly to the JSON struct dst.

type RealtimeData

type RealtimeData struct {
	// Aggregated aggregates measurements across all Fastly POPs.
	Aggregated *Stats `mapstructure:"aggregated"`
	// Datacenter groups measurements by POP.
	Datacenter map[string]*Stats `mapstructure:"datacenter"`
	// Recorded is the Unix timestamp at which this record's data was generated.
	Recorded *uint64 `mapstructure:"recorded"`
}

RealtimeData represents combined stats for all Fastly's POPs and aggregate of them. It also includes a timestamp of when the stats were recorded.

type RealtimeStatsResponse

type RealtimeStatsResponse struct {
	// AggregateDelay is how long the system will wait before aggregating messages for each second.
	AggregateDelay *uint32 `mapstructure:"AggregateDelay"`
	// Data is a list of records, each representing one second of time.
	Data  []*RealtimeData `mapstructure:"Data"`
	Error *string         `mapstructure:"Error"`
	// Timestamp is a value to use for subsequent requests.
	Timestamp *uint64 `mapstructure:"Timestamp"`
}

RealtimeStatsResponse is a response from Fastly's real-time analytics endpoint.

type RegionsResponse

type RegionsResponse struct {
	Data    []string          `mapstructure:"data"`
	Message *string           `mapstructure:"msg"`
	Meta    map[string]string `mapstructure:"meta"`
	Status  *string           `mapstructure:"status"`
}

RegionsResponse is a response from Fastly regions API endpoint.

type RegionsUsage

type RegionsUsage map[string]*Usage

RegionsUsage is a list of aggregated usage data by Fastly's region.

type RequestOptions

type RequestOptions struct {
	// Body is an io.Reader object that will be streamed or uploaded with the
	// Request. This will overwrite any input object.
	Body io.Reader
	// BodyLength is the final size of the Body.
	BodyLength int64
	// Headers is a map of key-value pairs that will be added to the Request.
	Headers map[string]string
	// HealthCheckHeaders indicates if there is any special parsing required to
	// support the health check API endpoint (refer to client.RequestForm).
	//
	// TODO: Lookout for this when it comes to the future code-generated API
	// client world, as this special case might get omitted accidentally.
	HealthCheckHeaders bool
	// Can this request run in parallel
	Parallel bool
	// Params is a map of key-value pairs that will be added to the Request.
	Params map[string]string
}

RequestOptions is the list of options to pass to the request.

func CreateRequestOptions

func CreateRequestOptions() RequestOptions

type RequestSetting

type RequestSetting struct {
	Action           *RequestSettingAction `mapstructure:"action"`
	BypassBusyWait   *bool                 `mapstructure:"bypass_busy_wait"`
	CreatedAt        *time.Time            `mapstructure:"created_at"`
	DefaultHost      *string               `mapstructure:"default_host"`
	DeletedAt        *time.Time            `mapstructure:"deleted_at"`
	ForceMiss        *bool                 `mapstructure:"force_miss"`
	ForceSSL         *bool                 `mapstructure:"force_ssl"`
	GeoHeaders       *bool                 `mapstructure:"geo_headers"`
	HashKeys         *string               `mapstructure:"hash_keys"`
	MaxStaleAge      *int                  `mapstructure:"max_stale_age"`
	Name             *string               `mapstructure:"name"`
	RequestCondition *string               `mapstructure:"request_condition"`
	ServiceID        *string               `mapstructure:"service_id"`
	ServiceVersion   *int                  `mapstructure:"version"`
	TimerSupport     *bool                 `mapstructure:"timer_support"`
	UpdatedAt        *time.Time            `mapstructure:"updated_at"`
	XForwardedFor    *RequestSettingXFF    `mapstructure:"xff"`
}

RequestSetting represents a request setting response from the Fastly API.

type RequestSettingAction

type RequestSettingAction string

RequestSettingAction is a type of request setting action.

const (
	// RequestSettingActionUnset unsets the action.
	RequestSettingActionUnset RequestSettingAction = ""

	// RequestSettingActionLookup sets request handling to lookup via the cache.
	RequestSettingActionLookup RequestSettingAction = "lookup"

	// RequestSettingActionPass sets request handling to pass the cache.
	RequestSettingActionPass RequestSettingAction = "pass"
)

type RequestSettingXFF

type RequestSettingXFF string

RequestSettingXFF is a type of X-Forwarded-For value to set.

const (
	// RequestSettingXFFClear clears any X-Forwarded-For headers.
	RequestSettingXFFClear RequestSettingXFF = "clear"

	// RequestSettingXFFLeave leaves any X-Forwarded-For headers untouched.
	RequestSettingXFFLeave RequestSettingXFF = "leave"

	// RequestSettingXFFAppend adds Fastly X-Forwarded-For headers.
	RequestSettingXFFAppend RequestSettingXFF = "append"

	// RequestSettingXFFAppendAll appends all Fastly X-Forwarded-For headers.
	RequestSettingXFFAppendAll RequestSettingXFF = "append_all"

	// RequestSettingXFFOverwrite clears any X-Forwarded-For headers and replaces
	// with Fastly ones.
	RequestSettingXFFOverwrite RequestSettingXFF = "overwrite"
)

type ResetUserPasswordInput

type ResetUserPasswordInput struct {
	// Login is the login associated with the user and is typically an email address (required).
	Login string
}

ResetUserPasswordInput is used as input to the ResetUserPassword function.

type Resource

type Resource struct {
	// CreatedAt is the date and time in ISO 8601 format.
	CreatedAt *time.Time `mapstructure:"created_at" json:"created_at"`
	// CreatedAt is the date and time in ISO 8601 format.
	DeletedAt *time.Time `mapstructure:"deleted_at" json:"deleted_at"`
	// HREF is the path to the resource.
	HREF *string `mapstructure:"href" json:"href"`
	// LinkID is an alphanumeric string identifying the resource link.
	LinkID *string `mapstructure:"id" json:"id"`
	// Name is the name of the resource being linked to.
	Name *string `mapstructure:"name" json:"name"`
	// ResourceID is the ID of the linked resource.
	ResourceID *string `mapstructure:"resource_id" json:"resource_id"`
	// ResourceType is the type of the linked resource.
	ResourceType *string `mapstructure:"resource_type" json:"resource_type"`
	// ServiceID is an alphanumeric string identifying the service.
	ServiceID *string `mapstructure:"service_id" json:"service_id"`
	// ServiceVersion is an integer identifying a service version.
	ServiceVersion *int `mapstructure:"version" json:"version"`
	// UpdatedAt is the date and time in ISO 8601 format.
	UpdatedAt *time.Time `mapstructure:"updated_at" json:"updated_at"`
}

Resource represents a response from the Fastly API.

type ResourceLockManager

type ResourceLockManager struct {
	// contains filtered or unexported fields
}

A ResourceLockManager stores sync.Mutex objects used to manage serialization of requests.

The objects are identified using string keys, and there will be at most one sync.Mutex per distinct key.

This structure is safe to use from concurrent goroutines, as the functions which manipulate it will use its internal sync.Mutex to protect the data structure.

func NewResourceLockManager

func NewResourceLockManager() *ResourceLockManager

NewResourceLockManager constructs a ResourceLockManager with an empty map.

func (*ResourceLockManager) Get

func (rlm *ResourceLockManager) Get(key string) *sync.Mutex

Get returns a sync.Mutex which should be used for serializing requests associated with the resource named in the key parameter.

If no sync.Mutex exists for the specified key, one will be created, stored, and returned. Subsequent requests for the same key will return the same sync.Mutex, unless all previous requests have completed their usage of the sync.Mutex and the garbage collector has reaped it. In that case, a new sync.Mutex will be created, stored, and returned.

This function is safe to use from concurrent goroutines.

type ResponseObject

type ResponseObject struct {
	CacheCondition   *string    `mapstructure:"cache_condition"`
	Content          *string    `mapstructure:"content"`
	ContentType      *string    `mapstructure:"content_type"`
	CreatedAt        *time.Time `mapstructure:"created_at"`
	DeletedAt        *time.Time `mapstructure:"deleted_at"`
	Name             *string    `mapstructure:"name"`
	RequestCondition *string    `mapstructure:"request_condition"`
	Response         *string    `mapstructure:"response"`
	ServiceID        *string    `mapstructure:"service_id"`
	ServiceVersion   *int       `mapstructure:"version"`
	Status           *int       `mapstructure:"status"`
	UpdatedAt        *time.Time `mapstructure:"updated_at"`
}

ResponseObject represents a response object response from the Fastly API.

type RotateWebhookSigningKeyInput

type RotateWebhookSigningKeyInput struct {
	// IntegrationID is the ID of the webhook integration which signing key to rotate (required).
	IntegrationID string
}

RotateWebhookSigningKeyInput is used as input to the RotateWebhookSigningKey function.

type S3

type S3 struct {
	ACL                          *S3AccessControlList    `mapstructure:"acl"`
	AccessKey                    *string                 `mapstructure:"access_key"`
	BucketName                   *string                 `mapstructure:"bucket_name"`
	CompressionCodec             *string                 `mapstructure:"compression_codec"`
	CreatedAt                    *time.Time              `mapstructure:"created_at"`
	DeletedAt                    *time.Time              `mapstructure:"deleted_at"`
	Domain                       *string                 `mapstructure:"domain"`
	FileMaxBytes                 *int                    `mapstructure:"file_max_bytes"`
	Format                       *string                 `mapstructure:"format"`
	FormatVersion                *int                    `mapstructure:"format_version"`
	GzipLevel                    *int                    `mapstructure:"gzip_level"`
	IAMRole                      *string                 `mapstructure:"iam_role"`
	MessageType                  *string                 `mapstructure:"message_type"`
	Name                         *string                 `mapstructure:"name"`
	Path                         *string                 `mapstructure:"path"`
	Period                       *int                    `mapstructure:"period"`
	Placement                    *string                 `mapstructure:"placement"`
	ProcessingRegion             *string                 `mapstructure:"log_processing_region"`
	PublicKey                    *string                 `mapstructure:"public_key"`
	Redundancy                   *S3Redundancy           `mapstructure:"redundancy"`
	ResponseCondition            *string                 `mapstructure:"response_condition"`
	SecretKey                    *string                 `mapstructure:"secret_key"`
	ServerSideEncryption         *S3ServerSideEncryption `mapstructure:"server_side_encryption"`
	ServerSideEncryptionKMSKeyID *string                 `mapstructure:"server_side_encryption_kms_key_id"`
	ServiceID                    *string                 `mapstructure:"service_id"`
	ServiceVersion               *int                    `mapstructure:"version"`
	TimestampFormat              *string                 `mapstructure:"timestamp_format"`
	UpdatedAt                    *time.Time              `mapstructure:"updated_at"`
}

S3 represents a S3 response from the Fastly API.

type S3AccessControlList

type S3AccessControlList string

S3AccessControlList represents the control list variants for S3.

type S3Redundancy

type S3Redundancy string

S3Redundancy represents the redundancy variants for S3.

type S3ServerSideEncryption

type S3ServerSideEncryption string

S3ServerSideEncryption represents the encryption variants for S3.

type SAService

type SAService struct {
	ID string `jsonapi:"primary,service"`
}

SAService represents a service.

type SAUser

type SAUser struct {
	ID string `jsonapi:"primary,user"`
}

SAUser represents a service user account.

type SFTP

type SFTP struct {
	Address           *string    `mapstructure:"address"`
	CompressionCodec  *string    `mapstructure:"compression_codec"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	GzipLevel         *int       `mapstructure:"gzip_level"`
	MessageType       *string    `mapstructure:"message_type"`
	Name              *string    `mapstructure:"name"`
	Password          *string    `mapstructure:"password"`
	Path              *string    `mapstructure:"path"`
	Period            *int       `mapstructure:"period"`
	Placement         *string    `mapstructure:"placement"`
	Port              *int       `mapstructure:"port"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	PublicKey         *string    `mapstructure:"public_key"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	SSHKnownHosts     *string    `mapstructure:"ssh_known_hosts"`
	SecretKey         *string    `mapstructure:"secret_key"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TimestampFormat   *string    `mapstructure:"timestamp_format"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	User              *string    `mapstructure:"user"`
}

SFTP represents an SFTP logging response from the Fastly API.

type Scalyr

type Scalyr struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProjectID         *string    `mapstructure:"project_id"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	Region            *string    `mapstructure:"region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	Token             *string    `mapstructure:"token"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

Scalyr represents a scalyr response from the Fastly API.

type SearchIntegrationsInput

type SearchIntegrationsInput struct {
	// Cursor is the pagination cursor from a previous request's meta.
	Cursor *string
	// Limit is the maximum number of items included in each response.
	Limit *int
	// Sort is the field on which to sort integrations.
	Sort *string
	// Type filters integrations by type.
	Type *string
}

SearchIntegrationsInput is used as input to the SearchIntegrations function.

type SearchIntegrationsResponse

type SearchIntegrationsResponse struct {
	Data []Integration     `json:"data"`
	Meta *IntegrationsMeta `json:"meta"`
}

SearchIntegrationsResponse is the response for an integrations query.

type SearchServiceInput

type SearchServiceInput struct {
	// Name is the name of the service (required).
	Name string
}

SearchServiceInput is used as input to the SearchService function.

type Secret

type Secret struct {
	Name      string    `json:"name"`
	Digest    []byte    `json:"digest"` // Digest is an opaque hash of the secret.
	CreatedAt time.Time `json:"created_at"`
	Recreated bool      `json:"recreated,omitempty"`
}

Secret is a Secret Store secret.

type SecretStore

type SecretStore struct {
	CreatedAt time.Time `json:"created_at"`
	Name      string    `json:"name"`
	StoreID   string    `json:"id"`
}

SecretStore represents a Secret Store response from the Fastly API.

type SecretStoreMeta

type SecretStoreMeta struct {
	// Limit is the limit of results returned.
	Limit int `json:"limit"`
	// NextCursor can be used on a subsequent request to fetch the next page of data.
	NextCursor string `json:"next_cursor,omitempty"`
}

SecretStoreMeta is the metadata returned from Secret Store paginated responses.

type SecretStores

type SecretStores struct {
	// Data is a list of Secret Stores.
	Data []SecretStore `json:"data"`
	// Meta contains response pagination data.
	Meta SecretStoreMeta `json:"meta"`
}

SecretStores represents a list of Secret Stores from the Fastly API.

type Secrets

type Secrets struct {
	// Data is a list of Secrets.
	Data []Secret `json:"data"`
	// Meta contains pagination data.
	Meta SecretStoreMeta `json:"meta"`
}

Secrets represents a list of Secrets from the Fastly API.

type Server

type Server struct {
	Address      *string    `mapstructure:"address"`
	Comment      *string    `mapstructure:"comment"`
	CreatedAt    *time.Time `mapstructure:"created_at"`
	DeletedAt    *time.Time `mapstructure:"deleted_at"`
	Disabled     *bool      `mapstructure:"disabled"`
	MaxConn      *int       `mapstructure:"max_conn"`
	OverrideHost *string    `mapstructure:"override_host"`
	PoolID       *string    `mapstructure:"pool_id"`
	Port         *int       `mapstructure:"port"`
	ServerID     *string    `mapstructure:"id"`
	ServiceID    *string    `mapstructure:"service_id"`
	UpdatedAt    *time.Time `mapstructure:"updated_at"`
	Weight       *int       `mapstructure:"weight"`
}

Server represents a server response from the Fastly API.

type Service

type Service struct {
	ActiveVersion *int           `mapstructure:"version"`
	Comment       *string        `mapstructure:"comment"`
	CreatedAt     *time.Time     `mapstructure:"created_at"`
	CustomerID    *string        `mapstructure:"customer_id"`
	DeletedAt     *time.Time     `mapstructure:"deleted_at"`
	ServiceID     *string        `mapstructure:"id"`
	Name          *string        `mapstructure:"name"`
	Type          *string        `mapstructure:"type"`
	UpdatedAt     *time.Time     `mapstructure:"updated_at"`
	Versions      []*Version     `mapstructure:"versions"`
	Environments  []*Environment `mapstructure:"environments"`
}

Service represents a server response from the Fastly API.

type ServiceAuthorization

type ServiceAuthorization struct {
	CreatedAt  *time.Time `jsonapi:"attr,created_at,iso8601"`
	DeletedAt  *time.Time `jsonapi:"attr,deleted_at,iso8601"`
	ID         string     `jsonapi:"primary,service_authorization"`
	Permission string     `jsonapi:"attr,permission,omitempty"`
	Service    *SAService `jsonapi:"relation,service,omitempty"`
	UpdatedAt  *time.Time `jsonapi:"attr,updated_at,iso8601"`
	User       *SAUser    `jsonapi:"relation,user,omitempty"`
}

ServiceAuthorization is the API response model.

type ServiceAuthorizations

type ServiceAuthorizations struct {
	Info  infoResponse
	Items []*ServiceAuthorization
}

ServiceAuthorizations is an object containing the list of ServiceAuthorization results.

type ServiceDetail

type ServiceDetail struct {
	ActiveVersion *Version       `mapstructure:"active_version"`
	Comment       *string        `mapstructure:"comment"`
	CreatedAt     *time.Time     `mapstructure:"created_at"`
	CustomerID    *string        `mapstructure:"customer_id"`
	DeletedAt     *time.Time     `mapstructure:"deleted_at"`
	ServiceID     *string        `mapstructure:"id"`
	Name          *string        `mapstructure:"name"`
	Type          *string        `mapstructure:"type"`
	UpdatedAt     *time.Time     `mapstructure:"updated_at"`
	Version       *Version       `mapstructure:"version"`
	Versions      []*Version     `mapstructure:"versions"`
	Environments  []*Environment `mapstructure:"environments"`
}

ServiceDetail represents a server response from the Fastly API.

type ServiceDomain

type ServiceDomain struct {
	Comment        *string    `mapstructure:"comment"`
	CreatedAt      *time.Time `mapstructure:"created_at"`
	DeletedAt      *time.Time `mapstructure:"deleted_at"`
	Locked         *bool      `mapstructure:"locked"`
	Name           *string    `mapstructure:"name"`
	ServiceID      *string    `mapstructure:"service_id"`
	ServiceVersion *int64     `mapstructure:"version"`
	UpdatedAt      *time.Time `mapstructure:"updated_at"`
}

ServiceDomain represents a server response from the Fastly API.

type ServiceDomainsList

type ServiceDomainsList []*ServiceDomain

ServiceDomainsList represents a list of service domains.

type ServicesByRegionsUsage

type ServicesByRegionsUsage map[string]*ServicesUsage

ServicesByRegionsUsage is a list of ServicesUsage by Fastly's region.

type ServicesUsage

type ServicesUsage map[string]*Usage

ServicesUsage is a list of usage data by a service.

type Settings

type Settings struct {
	DefaultHost     *string `mapstructure:"general.default_host"`
	DefaultTTL      *uint   `mapstructure:"general.default_ttl"`
	ServiceID       *string `mapstructure:"service_id"`
	ServiceVersion  *int    `mapstructure:"version"`
	StaleIfError    *bool   `mapstructure:"general.stale_if_error"`
	StaleIfErrorTTL *uint   `mapstructure:"general.stale_if_error_ttl"`
}

Settings represents a backend response from the Fastly API.

type Snippet

type Snippet struct {
	Content        *string      `mapstructure:"content"`
	CreatedAt      *time.Time   `mapstructure:"created_at"`
	DeletedAt      *time.Time   `mapstructure:"deleted_at"`
	Dynamic        *int         `mapstructure:"dynamic"`
	SnippetID      *string      `mapstructure:"id"`
	Name           *string      `mapstructure:"name"`
	Priority       *string      `mapstructure:"priority"`
	ServiceID      *string      `mapstructure:"service_id"`
	ServiceVersion *int         `mapstructure:"version"`
	Type           *SnippetType `mapstructure:"type"`
	UpdatedAt      *time.Time   `mapstructure:"updated_at"`
}

Snippet is the Fastly Snippet object.

type SnippetType

type SnippetType string

SnippetType is the type of VCL Snippet.

const (
	// SnippetTypeInit sets the type to init.
	SnippetTypeInit SnippetType = "init"

	// SnippetTypeRecv sets the type to recv.
	SnippetTypeRecv SnippetType = "recv"

	// SnippetTypeHash sets the type to hash.
	SnippetTypeHash SnippetType = "hash"

	// SnippetTypeHit sets the type to hit.
	SnippetTypeHit SnippetType = "hit"

	// SnippetTypeMiss sets the type to miss.
	SnippetTypeMiss SnippetType = "miss"

	// SnippetTypePass sets the type to pass.
	SnippetTypePass SnippetType = "pass"

	// SnippetTypeFetch sets the type to fetch.
	SnippetTypeFetch SnippetType = "fetch"

	// SnippetTypeError sets the type to error.
	SnippetTypeError SnippetType = "error"

	// SnippetTypeDeliver sets the type to deliver.
	SnippetTypeDeliver SnippetType = "deliver"

	// SnippetTypeLog sets the type to log.
	SnippetTypeLog SnippetType = "log"

	// SnippetTypeNone sets the type to none.
	SnippetTypeNone SnippetType = "none"
)

type Splunk

type Splunk struct {
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	RequestMaxBytes   *int       `mapstructure:"request_max_bytes"`
	RequestMaxEntries *int       `mapstructure:"request_max_entries"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TLSCACert         *string    `mapstructure:"tls_ca_cert"`
	TLSClientCert     *string    `mapstructure:"tls_client_cert"`
	TLSClientKey      *string    `mapstructure:"tls_client_key"`
	TLSHostname       *string    `mapstructure:"tls_hostname"`
	Token             *string    `mapstructure:"token"`
	URL               *string    `mapstructure:"url"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	UseTLS            *bool      `mapstructure:"use_tls"`
}

Splunk represents a splunk response from the Fastly API.

type Stats

type Stats struct {
	AllEdgeHitRequests              *uint64     `mapstructure:"all_edge_hit_requests"`   // Number of requests sent by end users to Fastly that resulted in a hit at the edge for a VCL service.
	AllEdgeMissRequests             *uint64     `mapstructure:"all_edge_miss_requests"`  // Number of requests sent by end users to Fastly that resulted in a miss at the edge for a VCL service.
	AllErrorRequests                *uint64     `mapstructure:"all_error_requests"`      // Number of cache errors for a VCL service.
	AllHitRequests                  *uint64     `mapstructure:"all_hit_requests"`        // Number of cache hits for a VCL service.
	AllMissRequests                 *uint64     `mapstructure:"all_miss_requests"`       // Number of cache misses for a VCL service.
	AllPassRequests                 *uint64     `mapstructure:"all_pass_requests"`       // Number of requests that passed through the CDN without being cached for a VCL service.
	AllStatus1xx                    *uint64     `mapstructure:"all_status_1xx"`          // Number of "Informational" category status codes delivered for all sources.
	AllStatus2xx                    *uint64     `mapstructure:"all_status_2xx"`          // Number of "Success" status codes delivered for all sources.
	AllStatus3xx                    *uint64     `mapstructure:"all_status_3xx"`          // Number of "Redirection" codes delivered for all sources.
	AllStatus4xx                    *uint64     `mapstructure:"all_status_4xx"`          // Number of "Client Error" codes delivered for all sources.
	AllStatus5xx                    *uint64     `mapstructure:"all_status_5xx"`          // Number of "Server Error" codes delivered for all sources.
	AllSynthRequests                *uint64     `mapstructure:"all_synth_requests"`      // Number of requests that returned a synthetic response (i.e., response objects created with the synthetic VCL statement) for a VCL service.
	AttackRequestHeaderBytes        *uint64     `mapstructure:"attack_req_header_bytes"` // Total header bytes received from requests that triggered a WAF rule.
	AttackRequestBodyBytes          *uint64     `mapstructure:"attack_req_body_bytes"`   // Total body bytes received from requests that triggered a WAF rule.
	AttackResponseSynthBytes        *uint64     `mapstructure:"attack_resp_synth_bytes"` // Total bytes delivered for requests that triggered a WAF rule and returned a synthetic response.
	BERequestBodyBytes              *uint64     `mapstructure:"bereq_body_bytes"`        // Total body bytes sent to origin.
	BERequestHeaderbytes            *uint64     `mapstructure:"bereq_header_bytes"`      // Total header bytes sent to origin.
	Bandwidth                       *uint64     `mapstructure:"bandwidth"`               // Total bytes delivered (body_size + header_size).
	BilledBodyBytes                 *uint64     `mapstructure:"billed_body_bytes"`
	BilledHeaderBytes               *uint64     `mapstructure:"billed_header_bytes"`
	Errors                          *uint64     `mapstructure:"errors"`                               // Number of cache errors.
	HTTP2                           *uint64     `mapstructure:"http2"`                                // Number of requests received over HTTP2.
	HitRatio                        *float64    `mapstructure:"hit_ratio"`                            // Ratio of cache hits to cache misses (between 0 and 1).
	Hits                            *uint64     `mapstructure:"hits"`                                 // Number of cache hits.
	HitsTime                        *float64    `mapstructure:"hits_time"`                            // Total amount of time spent processing cache hits (in seconds).
	IPv6                            *uint64     `mapstructure:"ipv6"`                                 // Number of requests that were received over IPv6.
	ImageOptimizer                  *uint64     `mapstructure:"imgopto"`                              // Number of responses that came from the Fastly Image Optimizer service.
	Log                             *uint64     `mapstructure:"log"`                                  // Number of log lines sent.
	LogBytes                        *uint64     `mapstructure:"log_bytes"`                            // Total log bytes sent.
	Miss                            *uint64     `mapstructure:"miss"`                                 // Number of cache misses.
	MissHistogram                   map[int]int `mapstructure:"miss_histogram"`                       // Number of requests to origin in time buckets of 10s of milliseconds
	MissTime                        *float64    `mapstructure:"miss_time"`                            // Amount of time spent processing cache misses (in seconds).
	OTFP                            *uint64     `mapstructure:"otfp"`                                 // Number of responses that came from the Fastly On-the-Fly Packager for On Demand Streaming service for video-on-demand.
	ObjectSize100k                  *uint64     `mapstructure:"object_size_100k"`                     // Number of objects served that were between 10KB and 100KB in size.
	ObjectSize100m                  *uint64     `mapstructure:"object_size_100m"`                     // Number of objects served that were between 10MB and 100MB in size.
	ObjectSize10k                   *uint64     `mapstructure:"object_size_10k"`                      // Number of objects served that were between 1KB and 10KB in size.
	ObjectSize10m                   *uint64     `mapstructure:"object_size_10m"`                      // Number of objects served that were between 1MB and 10MB in size.
	ObjectSize1g                    *uint64     `mapstructure:"object_size_1g"`                       // Number of objects served that were between 100MB and 1GB in size.
	ObjectSize1k                    *uint64     `mapstructure:"object_size_1k"`                       // Number of objects served that were under 1KB in size.
	ObjectSize1m                    *uint64     `mapstructure:"object_size_1m"`                       // Number of objects served that were between 100KB and 1MB in size.
	OriginCacheFetchRespBodyBytes   *uint64     `mapstructure:"origin_cache_fetch_resp_body_bytes"`   // Body bytes received from origin for cacheable content.
	OriginCacheFetchRespHeaderBytes *uint64     `mapstructure:"origin_cache_fetch_resp_header_bytes"` // Header bytes received from an origin for cacheable content.
	OriginCacheFetches              *uint64     `mapstructure:"origin_cache_fetches"`                 // The total number of completed requests made to backends (origins) that returned cacheable content.
	OriginFetchBodyBytes            *uint64     `mapstructure:"origin_fetch_body_bytes"`              // Total request body bytes sent to origin.
	OriginFetchHeaderBytes          *uint64     `mapstructure:"origin_fetch_header_bytes"`            // Total request header bytes sent to origin.
	OriginFetchRespBodyBytes        *uint64     `mapstructure:"origin_fetch_resp_body_bytes"`         // Total body bytes received from origin.
	OriginFetchRespHeaderBytes      *uint64     `mapstructure:"origin_fetch_resp_header_bytes"`       // Total header bytes received from origin.
	OriginFetches                   *uint64     `mapstructure:"origin_fetches"`                       // Number of requests sent to origin.
	OriginOffload                   *uint64     `mapstructure:"origin_offload"`                       // Origin Offload measures the ratio of bytes served to end users that were cached by Fastly, over the bytes served to end users, between 0 and 1. ((edge_resp_body_bytes + edge_resp_header_bytes) - (origin_fetch_resp_body_bytes + origin_fetch_resp_header_bytes)) / (edge_resp_body_bytes + edge_resp_header_bytes).
	PCI                             *uint64     `mapstructure:"pci"`                                  // Number of responses with the PCI flag turned on.
	Pass                            *uint64     `mapstructure:"pass"`                                 // Number of requests that passed through the CDN without being cached.
	PassTime                        *float64    `mapstructure:"pass_time"`                            // Amount of time spent processing cache passes (in seconds).
	Pipe                            *uint64     `mapstructure:"pipe"`                                 // Optional. Pipe operations performed (legacy feature).
	RequestBodyBytes                *uint64     `mapstructure:"req_body_bytes"`                       // Total body bytes received.
	RequestHeaderBytes              *uint64     `mapstructure:"req_header_bytes"`                     // Total header bytes received.
	Requests                        *uint64     `mapstructure:"requests"`                             // Number of requests processed.
	ResponseBodyBytes               *uint64     `mapstructure:"resp_body_bytes"`                      // Total body bytes delivered.
	ResponseHeaderBytes             *uint64     `mapstructure:"resp_header_bytes"`                    // Total header bytes delivered.
	Restarts                        *uint64     `mapstructure:"restarts"`                             // Number of restarts performed.
	Shield                          *uint64     `mapstructure:"shield"`                               // Number of requests from shield to origin.
	ShieldResponseBodyBytes         *uint64     `mapstructure:"shield_resp_body_bytes"`               // Total body bytes delivered via a shield.
	ShieldResponseHeaderBytes       *uint64     `mapstructure:"shield_resp_header_bytes"`             // Total header bytes delivered via a shield.
	StartTime                       *uint64     `mapstructure:"start_time"`                           // Timestamp for the start of the time period being reported.
	Status1xx                       *uint64     `mapstructure:"status_1xx"`                           // Number of "Informational" category status codes delivered.
	Status200                       *uint64     `mapstructure:"status_200"`                           // Number of responses sent with status code 200 (Success).
	Status204                       *uint64     `mapstructure:"status_204"`                           // Number of responses sent with status code 204 (No Content).
	Status206                       *uint64     `mapstructure:"status_206"`                           // Number of responses sent with status code 206 (Partial Content).
	Status2xx                       *uint64     `mapstructure:"status_2xx"`                           // Number of "Success" status codes delivered.
	Status301                       *uint64     `mapstructure:"status_301"`                           // Number of responses sent with status code 301 (Moved Permanently).
	Status302                       *uint64     `mapstructure:"status_302"`                           // Number of responses sent with status code 302 (Found).
	Status304                       *uint64     `mapstructure:"status_304"`                           // Number of responses sent with status code 304 (Not Modified).
	Status3xx                       *uint64     `mapstructure:"status_3xx"`                           // Number of "Redirection" codes delivered.
	Status400                       *uint64     `mapstructure:"status_400"`                           // Number of responses sent with status code 400 (Bad Request).
	Status401                       *uint64     `mapstructure:"status_401"`                           // Number of responses sent with status code 401 (Unauthorized).
	Status403                       *uint64     `mapstructure:"status_403"`                           // Number of responses sent with status code 403 (Forbidden).
	Status404                       *uint64     `mapstructure:"status_404"`                           // Number of responses sent with status code 404 (Not Found).
	Status416                       *uint64     `mapstructure:"status_416"`                           // Number of responses sent with status code 416 (Range Not Satisfiable).
	Status4xx                       *uint64     `mapstructure:"status_4xx"`                           // Number of "Client Error" codes delivered.
	Status500                       *uint64     `mapstructure:"status_500"`                           // Number of responses sent with status code 500 (Internal Server Error).
	Status501                       *uint64     `mapstructure:"status_501"`                           // Number of responses sent with status code 501 (Not Implemented).
	Status502                       *uint64     `mapstructure:"status_502"`                           // Number of responses sent with status code 502 (Bad Gateway).
	Status503                       *uint64     `mapstructure:"status_503"`                           // Number of responses sent with status code 503 (Service Unavailable).
	Status504                       *uint64     `mapstructure:"status_504"`                           // Number of responses sent with status code 504 (Gateway Timeout).
	Status505                       *uint64     `mapstructure:"status_505"`                           // Number of responses sent with status code 505 (HTTP Version Not Supported).
	Status5xx                       *uint64     `mapstructure:"status_5xx"`                           // Number of "Server Error" codes delivered.
	Synth                           *uint64     `mapstructure:"synth"`                                // Number of requests that returned synth response.
	TLS                             *uint64     `mapstructure:"tls"`                                  // Number of requests that were received over TLS.
	TLSv10                          *uint64     `mapstructure:"tls_v10"`                              // Number of requests received over TLS 1.0.
	TLSv11                          *uint64     `mapstructure:"tls_v11"`                              // Number of requests received over TLS 1.`.
	TLSv12                          *uint64     `mapstructure:"tls_v12"`                              // Number of requests received over TLS 1.2.
	TLSv13                          *uint64     `mapstructure:"tls_v13"`                              // Number of requests received over TLS 1.3.
	Uncachable                      *uint64     `mapstructure:"uncachable"`                           // Number of requests that were designated uncachable.
	Video                           *uint64     `mapstructure:"video"`                                // Number of responses with the video segment or video manifest MIME type (i.e., application/x-mpegurl, application/vnd.apple.mpegurl, application/f4m, application/dash+xml, application/vnd.ms-sstr+xml, ideo/mp2t, audio/aac, video/f4f, video/x-flv, video/mp4, audio/mp4).
	WAFBlocked                      *uint64     `mapstructure:"waf_blocked"`                          // Number of requests that triggered a WAF rule and were blocked.
	WAFLogged                       *uint64     `mapstructure:"waf_logged"`                           // Number of requests that triggered a WAF rule and were logged.
	WAFPassed                       *uint64     `mapstructure:"waf_passed"`                           // Number of requests that triggered a WAF rule and were passed.
}

Stats represent metrics of a Fastly service.

type StatsFieldResponse

type StatsFieldResponse struct {
	Data    map[string][]*Stats `mapstructure:"data"`
	Message *string             `mapstructure:"msg"`
	Meta    map[string]string   `mapstructure:"meta"`
	Status  *string             `mapstructure:"status"`
}

StatsFieldResponse is a response from the service stats/field API endpoint.

type StatsResponse

type StatsResponse struct {
	Data    []*Stats          `mapstructure:"data"`
	Message *string           `mapstructure:"msg"`
	Meta    map[string]string `mapstructure:"meta"`
	Status  *string           `mapstructure:"status"`
}

StatsResponse is a response from the service stats API endpoint.

type Sumologic

type Sumologic struct {
	Address           *string    `mapstructure:"address"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	MessageType       *string    `mapstructure:"message_type"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	URL               *string    `mapstructure:"url"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
}

Sumologic represents a sumologic response from the Fastly API.

type Syslog

type Syslog struct {
	Address           *string    `mapstructure:"address"`
	CreatedAt         *time.Time `mapstructure:"created_at"`
	DeletedAt         *time.Time `mapstructure:"deleted_at"`
	Format            *string    `mapstructure:"format"`
	FormatVersion     *int       `mapstructure:"format_version"`
	Hostname          *string    `mapstructure:"hostname"`
	IPV4              *string    `mapstructure:"ipv4"`
	MessageType       *string    `mapstructure:"message_type"`
	Name              *string    `mapstructure:"name"`
	Placement         *string    `mapstructure:"placement"`
	Port              *int       `mapstructure:"port"`
	ProcessingRegion  *string    `mapstructure:"log_processing_region"`
	ResponseCondition *string    `mapstructure:"response_condition"`
	ServiceID         *string    `mapstructure:"service_id"`
	ServiceVersion    *int       `mapstructure:"version"`
	TLSCACert         *string    `mapstructure:"tls_ca_cert"`
	TLSClientCert     *string    `mapstructure:"tls_client_cert"`
	TLSClientKey      *string    `mapstructure:"tls_client_key"`
	TLSHostname       *string    `mapstructure:"tls_hostname"`
	Token             *string    `mapstructure:"token"`
	UpdatedAt         *time.Time `mapstructure:"updated_at"`
	UseTLS            *bool      `mapstructure:"use_tls"`
}

Syslog represents a syslog response from the Fastly API.

type TLSActivation

type TLSActivation struct {
	Certificate          *CustomTLSCertificate    `jsonapi:"relation,tls_certificate"`
	Configuration        *TLSConfiguration        `jsonapi:"relation,tls_configuration"` // TLSConfiguration type shared with BulkCertificate
	CreatedAt            *time.Time               `jsonapi:"attr,created_at,iso8601"`
	Domain               *TLSDomain               `jsonapi:"relation,tls_domain"` // TLSDomain type shared with BulkCertificate
	ID                   string                   `jsonapi:"primary,tls_activation"`
	MutualAuthentication *TLSMutualAuthentication `jsonapi:"relation,mutual_authentication"`
}

TLSActivation represents a /tls/activations response.

type TLSAuthorizationWarning

type TLSAuthorizationWarning struct {
	Type         string `jsonapi:"attr,type"`
	Instructions string `jsonapi:"attr,instructions"`
}

TLSAuthorizationWarning indicates possible issues with the TLS configuration.

type TLSAuthorizations

type TLSAuthorizations struct {
	// Challenges ...
	// See https://github.com/google/jsonapi/pull/99
	// WARNING: Nested structs only work with values, not pointers.
	Challenges []TLSChallenge            `jsonapi:"attr,challenges"`
	CreatedAt  *time.Time                `jsonapi:"attr,created_at,iso8601,omitempty"`
	ID         string                    `jsonapi:"primary,tls_authorization"`
	State      string                    `jsonapi:"attr,state,omitempty"`
	UpdatedAt  *time.Time                `jsonapi:"attr,updated_at,iso8601,omitempty"`
	Warnings   []TLSAuthorizationWarning `jsonapi:"attr,warnings,omitempty"`
}

TLSAuthorizations gives information needed to verify domain ownership in order to enable a TLSSubscription.

type TLSChallenge

type TLSChallenge struct {
	RecordName string   `jsonapi:"attr,record_name"`
	RecordType string   `jsonapi:"attr,record_type"`
	Type       string   `jsonapi:"attr,type"`
	Values     []string `jsonapi:"attr,values"`
}

TLSChallenge represents a DNS record to be added for a specific type of domain ownership challenge.

type TLSConfiguration

type TLSConfiguration struct {
	// ID is an alphanumeric string identifying a TLS configuration.
	ID string `jsonapi:"primary,tls_configuration"`
	// Type is a resource type (default: tls_configuration).
	Type string `jsonapi:"attr,type"`
}

TLSConfiguration represents the dedicated IP address pool that will be used to route traffic from the TLSDomain.

type TLSDomain

type TLSDomain struct {
	// Activations is a list of TLS Activations.
	Activations []*TLSActivation `jsonapi:"relation,tls_activations,omitempty"`
	// Certificates is a list of Custom TLS Certificates.
	Certificates []*CustomTLSCertificate `jsonapi:"relation,tls_certificates,omitempty"`
	// ID is the domain name.
	ID string `jsonapi:"primary,tls_domain"`
	// Subscriptions is a list of TLS Subscriptions.
	Subscriptions []*TLSSubscription `jsonapi:"relation,tls_subscriptions,omitempty"`
	// Type is the resource type (default: tls_domain).
	Type string `jsonapi:"attr,type"`
}

TLSDomain represents a domain (including wildcard domains) that is listed on a certificate's Subject Alternative Names (SAN) list.

type TLSMutualAuthentication

type TLSMutualAuthentication struct {
	Activations []*TLSActivation `jsonapi:"relation,tls_activations"`
	CreatedAt   *time.Time       `jsonapi:"attr,created_at,iso8601"`
	Enforced    bool             `jsonapi:"attr,enforced"`
	ID          string           `jsonapi:"primary,mutual_authentication,omitempty"`
	Name        string           `jsonapi:"attr,name"`
	UpdatedAt   *time.Time       `jsonapi:"attr,updated_at,iso8601"`
}

TLSMutualAuthentication represents a mutual authentication certificate.

type TLSSubscription

type TLSSubscription struct {
	Authorizations       []*TLSAuthorizations          `jsonapi:"relation,tls_authorizations"`
	CertificateAuthority string                        `jsonapi:"attr,certificate_authority"`
	Certificates         []*TLSSubscriptionCertificate `jsonapi:"relation,tls_certificates"`
	CommonName           *TLSDomain                    `jsonapi:"relation,common_name"`
	Configuration        *TLSConfiguration             `jsonapi:"relation,tls_configuration"`
	CreatedAt            *time.Time                    `jsonapi:"attr,created_at,iso8601"`
	Domains              []*TLSDomain                  `jsonapi:"relation,tls_domains"`
	ID                   string                        `jsonapi:"primary,tls_subscription"`
	State                string                        `jsonapi:"attr,state"`
	UpdatedAt            *time.Time                    `jsonapi:"attr,updated_at,iso8601"`
}

TLSSubscription represents a managed TLS certificate.

type TLSSubscriptionCertificate

type TLSSubscriptionCertificate struct {
	ID                 string     `jsonapi:"primary,tls_certificate"`
	CreatedAt          *time.Time `jsonapi:"attr,created_at,iso8601"`
	IssuedTo           string     `jsonapi:"attr,issued_to"`
	Issuer             string     `jsonapi:"attr,issuer"`
	Name               string     `jsonapi:"attr,name"`
	NotAfter           *time.Time `jsonapi:"attr,not_after,iso8601"`
	NotBefore          *time.Time `jsonapi:"attr,not_before,iso8601"`
	Replace            bool       `jsonapi:"attr,replace"`
	SerialNumber       string     `jsonapi:"attr,serial_number"`
	SignatureAlgorithm string     `jsonapi:"attr,signature_algorithm"`
	UpdatedAt          *time.Time `jsonapi:"attr,updated_at,iso8601"`
}

TLSSubscriptionCertificate represents a subscription certificate.

type TestAlertDefinitionInput

type TestAlertDefinitionInput struct {
	// Description is additional text included in an alert notification (optional, limit 4096).
	Description *string `json:"description"`
	// Dimensions are a list of origins or domains that the alert is restricted to.
	Dimensions map[string][]string `json:"dimensions"`
	// EvaluationStrategy is the evaluation strategy for the alert (required).
	EvaluationStrategy map[string]any `json:"evaluation_strategy"`
	// IntegrationIDs are IDs of integrations that notifications will be sent to.
	IntegrationIDs []string `json:"integration_ids"`
	// Metric is the name of the metric being monitored for alert evaluation (required).
	Metric *string `json:"metric"`
	// Name is the summary text of the alert (required, limit 255).
	Name *string `json:"name"`
	// ServiceID is the ID of the service that the alert is monitoring (required).
	ServiceID *string `json:"service_id"`
	// Source is the metric source (required). Options are: 'stats', 'origins', 'domains'.
	Source *string `json:"source"`
}

TestAlertDefinitionInput is used as input to the TestAlertDefinition function.

type Token

type Token struct {
	AccessToken *string     `mapstructure:"access_token"`
	CreatedAt   *time.Time  `mapstructure:"created_at"`
	ExpiresAt   *time.Time  `mapstructure:"expires_at"`
	IP          *string     `mapstructure:"ip"`
	LastUsedAt  *time.Time  `mapstructure:"last_used_at"`
	Name        *string     `mapstructure:"name"`
	Scope       *TokenScope `mapstructure:"scope"`
	Services    []string    `mapstructure:"services"`
	TokenID     *string     `mapstructure:"id"`
	UserID      *string     `mapstructure:"user_id"`
}

Token represents an API token which are used to authenticate requests to the Fastly API.

type TokenScope

type TokenScope string

TokenScope is used to match possible authorization scopes.

const (
	// GlobalScope is the default scope covering all supported capabilities.
	GlobalScope TokenScope = "global"
	// PurgeSelectScope allows purging with surrogate key and URL, disallows purging with purge all.
	PurgeSelectScope TokenScope = "purge_select"
	// PurgeAllScope allows purging an entire service via purge_all.
	PurgeAllScope TokenScope = "purge_all"
	// GlobalReadScope allows read-only access to account information, configuration, and stats.
	GlobalReadScope TokenScope = "global:read"
)

type UpdateACLEntryInput

type UpdateACLEntryInput struct {
	// ACLID is an alphanumeric string identifying a ACL (required).
	ACLID string `url:"-"`
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// EntryID is an alphanumeric string identifying an ACL Entry (required).
	EntryID string `url:"-"`
	// IP is an IP address.
	IP *string `url:"ip,omitempty"`
	// Negated is whether to negate the match. Useful primarily when creating individual exceptions to larger subnets.
	Negated *Compatibool `url:"negated,omitempty"`
	// ServiceID is an alphanumeric string identifying the service (required).
	ServiceID string `url:"-"`
	// Subnet is a number of bits for the subnet mask applied to the IP address.
	Subnet *int `url:"subnet,omitempty"`
}

UpdateACLEntryInput is the input parameter to UpdateACLEntry function.

type UpdateACLInput

type UpdateACLInput struct {
	// Name is the name of the ACL to update (required).
	Name string
	// NewName is the new name of the ACL to update.
	NewName *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

UpdateACLInput is the input parameter to UpdateACL function.

type UpdateAlertDefinitionInput

type UpdateAlertDefinitionInput struct {
	// Description is additional text included in an alert notification (optional, limit 4096).
	Description *string `json:"description"`
	// Dimensions are a list of origins or domains that the alert is restricted to.
	Dimensions map[string][]string `json:"dimensions"`
	// EvaluationStrategy is the evaluation strategy for the alert (required).
	EvaluationStrategy map[string]any `json:"evaluation_strategy"`
	// ID of definition to update (required).
	ID *string `json:"-"`
	// IntegrationIDs are IDs of integrations that notifications will be sent to.
	IntegrationIDs []string `json:"integration_ids"`
	// Metric is the name of the metric being monitored for alert evaluation (required).
	Metric *string `json:"metric"`
	// Name is the summary text of the alert (required, limit 255).
	Name *string `json:"name"`
}

UpdateAlertDefinitionInput is used as input to the UpdateAlertDefinition function.

type UpdateBackendInput

type UpdateBackendInput struct {
	// Address is a hostname, IPv4, or IPv6 address for the backend.
	Address *string `url:"address,omitempty"`
	// AutoLoadbalance is whether or not this backend should be automatically load balanced.
	AutoLoadbalance *Compatibool `url:"auto_loadbalance,omitempty"`
	// BetweenBytesTimeout is the maximum duration in milliseconds that Fastly will wait while receiving no data on a download from a backend.
	BetweenBytesTimeout *int `url:"between_bytes_timeout,omitempty"`
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// ConnectTimeout is the maximum duration in milliseconds to wait for a connection to this backend to be established.
	ConnectTimeout *int `url:"connect_timeout,omitempty"`
	// ErrorThreshold is the number of errors to allow before the Backend is marked as down.
	ErrorThreshold *int `url:"error_threshold,omitempty"`
	// FirstByteTimeout is how long to wait for the first bytes in milliseconds.
	FirstByteTimeout *int `url:"first_byte_timeout,omitempty"`
	// HealthCheck is the name of the healthcheck to use with this backend.
	HealthCheck *string `url:"healthcheck,omitempty"`
	// KeepAliveTime is how long in seconds to keep a persistent connection to the backend between requests.
	KeepAliveTime *int `url:"keepalive_time,omitempty"`
	// MaxConn is the maximum number of concurrent connections this backend will accept.
	MaxConn *int `url:"max_conn,omitempty"`
	// MaxTLSVersion is the maximum allowed TLS version on SSL connections to this backend.
	MaxTLSVersion *string `url:"max_tls_version,omitempty"`
	// MinTLSVersion is the minimum allowed TLS version on SSL connections to this backend.
	MinTLSVersion *string `url:"min_tls_version,omitempty"`
	// Name is the name of the backend to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// OverrideHost is, if set, will replace the client-supplied HTTP Host header on connections to this backend.
	OverrideHost *string `url:"override_host,omitempty"`
	// Port is the port on which the backend server is listening for connections from Fastly.
	Port *int `url:"port,omitempty"`
	// PreferIPv6 indicates whether IPv6 results should be preferred when DNS is used to obtain addresses for the backend.
	PreferIPv6 *Compatibool `url:"prefer_ipv6,omitempty"`
	// RequestCondition is the name of a Condition, which if satisfied, will select this backend during a request.
	RequestCondition *string `url:"request_condition,omitempty"`
	// ShareKey is a value that when shared across backends will enable those backends to share the same health check.
	ShareKey *string `url:"share_key,omitempty"`
	// SSLCACert is a CA certificate attached to origin.
	SSLCACert *string `url:"ssl_ca_cert,omitempty"`
	// SSLCertHostname is an overrides ssl_hostname, but only for cert verification.
	SSLCertHostname *string `url:"ssl_cert_hostname,omitempty"`
	// SSLCheckCert forces being strict on checking SSL certs.
	SSLCheckCert *Compatibool `url:"ssl_check_cert,omitempty"`
	// SSLCiphers is a list of OpenSSL ciphers to support for connections to this origin.
	SSLCiphers *string `url:"ssl_ciphers,omitempty"`
	// SSLClientCert is a client certificate attached to origin.
	SSLClientCert *string `url:"ssl_client_cert,omitempty"`
	// SSLClientKey is a client key attached to origin.
	SSLClientKey *string `url:"ssl_client_key,omitempty"`
	// SSLSNIHostname overrides ssl_hostname, but only for SNI in the handshake. Does not affect cert validation at all.
	SSLSNIHostname *string `url:"ssl_sni_hostname,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Shield is an identifier of the POP to use as a shield.
	Shield *string `url:"shield,omitempty"`
	// TCPKeepAliveEnable is whether to enable TCP keepalives to this backend.
	TCPKeepAliveEnable *bool `url:"tcp_keepalive_enable,omitempty"`
	// TCPKeepAliveIntvl is how long to wait between each TCP keepalive probe sent to this backend.
	TCPKeepAliveIntvl *int `url:"tcp_keepalive_interval,omitempty"`
	// TCPKeepAliveProbes is how many unacknowledged TCP keepalive probes to send to this backend before it's considered dead.
	TCPKeepAliveProbes *int `url:"tcp_keepalive_probes,omitempty"`
	// TCPKeepAliveTime is how long to wait after the last sent data before sending TCP keepalive probes.
	TCPKeepAliveTime *int `url:"tcp_keepalive_time,omitempty"`
	// UseSSL indicates whether or not to require TLS for connections to this backend.
	UseSSL *Compatibool `url:"use_ssl,omitempty"`
	// Weight is the weight used to load balance this backend against others.
	Weight *int `url:"weight,omitempty"`
}

UpdateBackendInput is used as input to the UpdateBackend function.

type UpdateBigQueryInput

type UpdateBigQueryInput struct {
	// AccountName is the name of the Google Cloud Platform service account associated with the target log collection service.
	AccountName *string `url:"account_name,omitempty"`
	// Dataset is your BigQuery dataset.
	Dataset *string `url:"dataset,omitempty"`
	// Format is a Fastly log format string. Must produce JSON that matches the schema of your BigQuery table.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the BigQuery to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to BigQuery.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ProjectID is your Google Cloud Platform project ID.
	ProjectID *string `url:"project_id,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is your Google Cloud Platform account secret key. The private_key field in your service account authentication JSON. Not required if account_name is specified.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Table is your BigQuery table.
	Table *string `url:"table,omitempty"`
	// Template is a BigQuery table name suffix template.
	Template *string `url:"template_suffix,omitempty"`
	// User is your Google Cloud Platform service account email address. The client_email field in your service account authentication JSON. Not required if account_name is specified.
	User *string `url:"user,omitempty"`
}

UpdateBigQueryInput is used as input to the UpdateBigQuery function.

type UpdateBlobStorageInput

type UpdateBlobStorageInput struct {
	// AccountName is the unique Azure Blob Storage namespace in which your data objects are stored.
	AccountName *string `url:"account_name,omitempty"`
	// CompressionCodec is the codec used for compressing your logs (valid values are zstd, snappy, and gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Container is the name of the Azure Blob Storage container in which to store logs.
	Container *string `url:"container,omitempty"`
	// FileMaxBytes is the maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.).
	FileMaxBytes *int `url:"file_max_bytes,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted.
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the blob storage to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Azure Blob Storage.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SASToken is the Azure shared access signature providing write access to the blob service objects.
	SASToken *string `url:"sas_token,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
}

UpdateBlobStorageInput is used as input to the UpdateBlobStorage function.

type UpdateBulkCertificateInput

type UpdateBulkCertificateInput struct {
	// AllowUntrusted enables certificates that chain to untrusted roots.
	AllowUntrusted bool `jsonapi:"attr,allow_untrusted_root"`
	// CertBlob is the PEM-formatted certificate blob.
	CertBlob string `jsonapi:"attr,cert_blob"`
	// ID is an alphanumeric string identifying a TLS bulk certificate.
	ID string `jsonapi:"attr,id"`
	// IntermediatesBlob is the PEM-formatted chain of intermediate blobs.
	IntermediatesBlob string `jsonapi:"attr,intermediates_blob,omitempty"`
}

UpdateBulkCertificateInput is used as input to the UpdateBulkCertificate function.

type UpdateCacheSettingInput

type UpdateCacheSettingInput struct {
	// Action determines vcl_fetch behaviour (pass, cache, restart).
	Action *CacheSettingAction `url:"action,omitempty"`
	// CacheCondition is name of the cache condition controlling when this configuration applies.
	CacheCondition *string `url:"cache_condition,omitempty"`
	// Name is the name of the cache setting to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// StaleTTL is the maximum time in seconds to continue to use a stale version of the object if future requests to your backend server fail (also known as 'stale if error').
	StaleTTL *int `url:"stale_ttl,omitempty"`
	// TTL is the maximum time to consider the object fresh in the cache (the cache 'time to live').
	TTL *int `url:"ttl,omitempty"`
}

UpdateCacheSettingInput is used as input to the UpdateCacheSetting function.

type UpdateCloudfilesInput

type UpdateCloudfilesInput struct {
	// AccessKey is your Cloud Files account access key.
	AccessKey *string `url:"access_key,omitempty"`
	// BucketName is the name of your Cloud Files container.
	BucketName *string `url:"bucket_name,omitempty"`
	// CompressionCodec is the codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the Cloudfiles to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the Fastly region where logs will be processed before streaming to Cloud Files.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// Region is the region where logs are received and stored by Cloud Files.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
	// User is the username for your Cloud Files account.
	User *string `url:"user,omitempty"`
}

UpdateCloudfilesInput is used as input to the UpdateCloudfiles function.

type UpdateConditionInput

type UpdateConditionInput struct {
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// Name is the name of the condition to update (required).
	Name string `url:"-"`
	// Priority is a numeric string. Priority determines execution order. Lower numbers execute first.
	Priority *int `url:"priority,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Statement is a conditional expression in VCL used to determine if the condition is met.
	Statement *string `url:"statement,omitempty"`
	// Type is the type of the condition (REQUEST, CACHE, RESPONSE, PREFETCH).
	Type *string `url:"type,omitempty"`
}

UpdateConditionInput is used as input to the UpdateCondition function.

type UpdateConfigStoreInput

type UpdateConfigStoreInput struct {
	// Name is the new name of the config store (required).
	Name string `url:"name"`
	// StoreID is the StoreID of the config store to update (required).
	StoreID string
}

UpdateConfigStoreInput is the input to UpdateConfigStore.

type UpdateConfigStoreItemInput

type UpdateConfigStoreItemInput struct {
	// Key is the name of the config store item to update (required).
	Key string
	// StoreID is the ID of the item's config store (required).
	StoreID string
	// Upsert, if true, will insert or update an item. Otherwise, update an item which must already exist.
	Upsert bool
	// Value is the new item's value (required).
	Value string `url:"item_value"`
}

UpdateConfigStoreItemInput is the input to the UpdateConfigStoreItem.

type UpdateCustomTLSCertificateInput

type UpdateCustomTLSCertificateInput struct {
	// CertBlob is the PEM-formatted certificate blob.
	CertBlob string `jsonapi:"attr,cert_blob"`
	// ID is an alphanumeric string identifying a TLS certificate.
	ID string `jsonapi:"primary,tls_certificate"`
	// Name is a customizable name for your certificate.
	Name string `jsonapi:"attr,name,omitempty"`
	// LIMITED AVAILABILITY: Indicates that the supplied certificate was not signed by a trusted CA.
	AllowUntrustedRoot bool `jsonapi:"attr,allow_untrusted_root,omitempty"`
}

UpdateCustomTLSCertificateInput is used as input to the UpdateCustomTLSCertificate function.

type UpdateCustomTLSConfigurationInput

type UpdateCustomTLSConfigurationInput struct {
	// ID is an alphanumeric string identifying a TLS configuration.
	ID string
	// Name is a custom name for your TLS configuration.
	Name string `jsonapi:"attr,name"`
}

UpdateCustomTLSConfigurationInput is used as input to the UpdateCustomTLSConfiguration function.

type UpdateDatadogInput

type UpdateDatadogInput struct {
	// Format is a Fastly log format string. Must produce valid JSON that Datadog can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the Datadog to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Datadog.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// Region is the region where logs are received and stored by Datadog.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the API key from your Datadog account.
	Token *string `url:"token,omitempty"`
}

UpdateDatadogInput is used as input to the UpdateDatadog function.

type UpdateDictionaryInput

type UpdateDictionaryInput struct {
	// Name is the name of the dictionary to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// WriteOnly determines if items in the dictionary are readable or not.
	WriteOnly *Compatibool `url:"write_only,omitempty"`
}

UpdateDictionaryInput is used as input to the UpdateDictionary function.

type UpdateDictionaryItemInput

type UpdateDictionaryItemInput struct {
	// DictionaryID is the ID of the dictionary to retrieve items for (required).
	DictionaryID string
	// ItemKey is the name of the dictionary item to fetch (required).
	ItemKey string
	// ItemValue is the new value of the dictionary item.
	ItemValue string `url:"item_value,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string
}

UpdateDictionaryItemInput is used as input to the UpdateDictionaryItem function.

type UpdateDigitalOceanInput

type UpdateDigitalOceanInput struct {
	// AccessKey is your DigitalOcean Spaces account access key.
	AccessKey *string `url:"access_key,omitempty"`
	// BucketName is the name of the DigitalOcean Space.
	BucketName *string `url:"bucket_name,omitempty"`
	// CompressionCodec is the codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Domain is the domain of the DigitalOcean Spaces endpoint.
	Domain *string `url:"domain,omitempty"`
	// Format is aFastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the DigitalOcean to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Digital Ocean.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is your DigitalOcean Spaces account secret key.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
}

UpdateDigitalOceanInput is used as input to the UpdateDigitalOcean function.

type UpdateDirectorInput

type UpdateDirectorInput struct {
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// Name is the name of the director to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Quorum is the percentage of capacity that needs to be up for a director to be considered up. 0 to 100.
	Quorum *int `url:"quorum,omitempty"`
	// Retries is how many backends to search if it fails.
	Retries *int `url:"retries,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Shield is selected POP to serve as a shield for the backends.
	Shield *string `url:"shield,omitempty"`
	// Type is what type of load balance group to use (random, hash, client).
	Type *DirectorType `url:"type,omitempty"`
}

UpdateDirectorInput is used as input to the UpdateDirector function.

type UpdateDomainInput

type UpdateDomainInput struct {
	// Comment is a personal, freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// Name is the name of the domain that the service will respond to (required).
	Name string `url:"-"`
	// NewName is the updated name of the domain
	NewName *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

UpdateDomainInput is used as input to the UpdateDomain function.

type UpdateDynamicSnippetInput

type UpdateDynamicSnippetInput struct {
	// Content is the VCL code that specifies exactly what the snippet does.
	Content *string `url:"content,omitempty"`
	// SnippetID is the SnippetID of the Snippet to modify (required)
	SnippetID string `url:"-"`
	// ServiceID is the ID of the Service to add the snippet to (required).
	ServiceID string `url:"-"`
}

UpdateDynamicSnippetInput is the input for UpdateDynamicSnippet.

type UpdateERLInput

type UpdateERLInput struct {
	// Action is the action to take when a rate limiter violation is detected (response, response_object, log_only).
	Action *ERLAction `url:"action,omitempty"`
	// ClientKey is an array of VCL variables used to generate a counter key to identify a client.
	ClientKey *[]string `url:"client_key,omitempty,brackets,omitempty"`
	// ERLID is an alphanumeric string identifying the rate limiter (required).
	ERLID string `url:"-"`
	// FeatureRevision is the number of the rate limiting feature implementation. Defaults to the most recent revision.
	FeatureRevision *int `url:"feature_revision,omitempty"`
	// HTTPMethods is an array of HTTP methods to apply rate limiting to.
	HTTPMethods *[]string `url:"http_methods,omitempty,brackets,omitempty"`
	// LoggerType is the name of the type of logging endpoint to be used when `action` is log_only.
	LoggerType *ERLLogger `url:"logger_type,omitempty"`
	// Name is a human readable name for the rate limiting rule.
	Name *string `url:"name,omitempty"`
	// PenaltyBoxDuration is a length of time in minutes that the rate limiter is in effect after the initial violation is detected.
	PenaltyBoxDuration *int `url:"penalty_box_duration,omitempty"`
	// Response is a custom response to be sent when the rate limit is exceeded. Required if action is response.
	Response *ERLResponseType `url:"response,omitempty"`
	// ResponseObjectName is the name of existing response object. Required if action is response_object.
	ResponseObjectName *string `url:"response_object_name,omitempty"`
	// RpsLimit is an upper limit of requests per second allowed by the rate limiter.
	RpsLimit *int `url:"rps_limit,omitempty"`
	// URIDictionaryName is the name of an Edge Dictionary containing URIs as keys. If not defined or null, all origin URIs will be rate limited.
	URIDictionaryName *string `url:"uri_dictionary_name,omitempty"`
	// WindowSize is the number of seconds during which the RPS limit must be exceeded in order to trigger a violation (1, 10, 60).
	WindowSize *ERLWindowSize `url:"window_size,omitempty"`
}

UpdateERLInput is used as input to the UpdateERL function.

type UpdateElasticsearchInput

type UpdateElasticsearchInput struct {
	// Format is a Fastly log format string. Must produce valid JSON that Elasticsearch can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Index is the name of the Elasticsearch index to send documents (logs) to.
	Index *string `url:"index,omitempty"`
	// Name is the name of the Elasticsearch endpoint to fetch (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Password is basic Auth password.
	Password *string `url:"password,omitempty"`
	// Pipeline is the ID of the Elasticsearch ingest pipeline to apply pre-process transformations to before indexing.
	Pipeline *string `url:"pipeline,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Elasticsearch.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// RequestMaxBytes is the maximum number of bytes sent in one request.
	RequestMaxBytes *int `url:"request_max_bytes,omitempty"`
	// RequestMaxEntries is the maximum number of logs sent in one request.
	RequestMaxEntries *int `url:"request_max_entries,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSHostname is the hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
	TLSHostname *string `url:"tls_hostname,omitempty"`
	// URL is the URL to stream logs to. Must use HTTPS.
	URL *string `url:"url,omitempty"`
	// User is basic Auth username.
	User *string `url:"user,omitempty"`
}

UpdateElasticsearchInput is the input parameter to the UpdateElasticsearch function.

type UpdateFTPInput

type UpdateFTPInput struct {
	// Address is a hostname or IPv4 address.
	Address *string `url:"address,omitempty"`
	// CompressionCodec is the codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the FTP to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Password is the password for the server. For anonymous use an email address.
	Password *string `url:"password,omitempty"`
	// Path is the path to upload log files to. If the path ends in / then it is treated as a directory.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to the FTP endpoint.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
	// Username is the username for the server. Can be anonymous.
	Username *string `url:"user,omitempty"`
}

UpdateFTPInput is used as input to the UpdateFTP function.

type UpdateGCSInput

type UpdateGCSInput struct {
	// AccountName is the name of the Google Cloud Platform service account associated with the target log collection service. Not required if user and secret_key are provided.
	AccountName *string `url:"account_name,omitempty"`
	// Bucket is the name of the GCS bucket.
	Bucket *string `url:"bucket_name,omitempty"`
	// CompressionCodec is he codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the GCS to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Google Cloud Storage.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ProjectID is your Google Cloud Platform project ID. Not required if user and secret_key are provided.
	ProjectID *string `url:"project_id,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is your Google Cloud Platform account secret key. The private_key field in your service account authentication JSON. Not required if account_name is specified.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
	// User is your Google Cloud Platform service account email address. The client_email field in your service account authentication JSON. Not required if account_name is specified.
	User *string `url:"user,omitempty"`
}

UpdateGCSInput is used as input to the UpdateGCS function.

type UpdateGrafanaCloudLogsInput

type UpdateGrafanaCloudLogsInput struct {
	// Format is a Fastly log format string. Must produce valid JSON that GrafanaCloudLogs can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the GrafanaCloudLogs to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Grafana Cloud Logs.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Grafana User ID
	User *string `url:"user,omitempty"`
	// Token is the API key from your GrafanaCloudLogs account.
	Token *string `url:"token,omitempty"`
	// URL is the URL to stream logs to. Must use HTTPS.
	URL *string `url:"url,omitempty"`
	// Index is the stream identifier
	Index *string `url:"index,omitempty"`
}

UpdateGrafanaCloudLogsInput is used as input to the UpdateGrafanaCloudLogs function.

type UpdateGzipInput

type UpdateGzipInput struct {
	// CacheCondition is the name of the cache condition controlling when this configuration applies.
	CacheCondition *string `url:"cache_condition,omitempty"`
	// ContentTypes is a space-separated list of content types to compress.
	ContentTypes *string `url:"content_types,omitempty"`
	// Extensions is a space-separated list of file extensions to compress.
	Extensions *string `url:"extensions,omitempty"`
	// Name is the name of the Gzip to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

UpdateGzipInput is used as input to the UpdateGzip function.

type UpdateHTTPSInput

type UpdateHTTPSInput struct {
	// CompressionCodec is the codec used for compressing your logs. Valid values are zstd, snappy, and gzip.
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// ContentType is the content type of the header sent with the request.
	ContentType *string `url:"content_type,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// HeaderName is the name of the custom header sent with the request.
	HeaderName *string `url:"header_name,omitempty"`
	// HeaderValue is the value of the custom header sent with the request.
	HeaderValue *string `url:"header_value,omitempty"`
	// JSONFormat enforces valid JSON formatting for log entries (0: disabled, 1: array of JSON, 2: newline delimited JSON).
	JSONFormat *string `url:"json_format,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Method is the HTTP method used for request (POST, PUT).
	Method *string `url:"method,omitempty"`
	// Name is the name of the HTTPS endpoint to fetch (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Period is the time interval (in seconds) for log flushing, defaults to 5 seconds.
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to the HTTPS server.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// RequestMaxBytes is the maximum number of bytes sent in one request. Defaults 0 (100MB).
	RequestMaxBytes *int `url:"request_max_bytes,omitempty"`
	// RequestMaxEntries is the maximum number of logs sent in one request. Defaults 0 (10k).
	RequestMaxEntries *int `url:"request_max_entries,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSHostname is the hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
	TLSHostname *string `url:"tls_hostname,omitempty"`
	// URL is the URL to send logs to. Must use HTTPS
	URL *string `url:"url,omitempty"`
}

UpdateHTTPSInput is the input parameter to the UpdateHTTPS function.

type UpdateHeaderInput

type UpdateHeaderInput struct {
	// Action accepts a string value (set, append, delete, regex, regex_repeat).
	Action *HeaderAction `url:"action,omitempty"`
	// CacheCondition is the name of the cache condition controlling when this configuration applies.
	CacheCondition *string `url:"cache_condition,omitempty"`
	// Destination is the header to set.
	Destination *string `url:"dst,omitempty"`
	// IgnoreIfSet prevents adding the header if it is added already. Only applies to 'set' action.
	IgnoreIfSet *Compatibool `url:"ignore_if_set,omitempty"`
	// Name is the name of the header to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Priority determines execution order. Lower numbers execute first.
	Priority *int `url:"priority,omitempty"`
	// Regex is the regular expression to use. Only applies to regex and regex_repeat actions.
	Regex *string `url:"regex,omitempty"`
	// RequestCondition is the condition which, if met, will select this configuration during a request.
	RequestCondition *string `url:"request_condition,omitempty"`
	// ResponseCondition is an optional name of a response condition to apply.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Source is a variable to be used as a source for the header content. Does not apply to delete action.
	Source *string `url:"src,omitempty"`
	// Substitution is a value to substitute in place of regular expression. Only applies to regex and regex_repeat actions.
	Substitution *string `url:"substitution,omitempty"`
	// Type is a type of header (request, cache, response).
	Type *HeaderType `url:"type,omitempty"`
}

UpdateHeaderInput is used as input to the UpdateHeader function.

type UpdateHealthCheckInput

type UpdateHealthCheckInput struct {
	// CheckInterval is how often to run the health check in milliseconds.
	CheckInterval *int `url:"check_interval,omitempty"`
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// ExpectedResponse is the status code expected from the host.
	ExpectedResponse *int `url:"expected_response,omitempty"`
	// HTTPVersion is whether to use version 1.0 or 1.1 HTTP.
	HTTPVersion *string `url:"http_version,omitempty"`
	// Headers is an array of custom headers that will be added to the health check probes.
	Headers *[]string `url:"headers,omitempty"`
	// Host is which host to check.
	Host *string `url:"host,omitempty"`
	// Initial is when loading a config, the initial number of probes to be seen as OK.
	Initial *int `url:"initial,omitempty"`
	// Method is which HTTP method to use.
	Method *string `url:"method,omitempty"`
	// Name is the name of the health check to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Path is the path to check.
	Path *string `url:"path,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Threshold is how many health checks must succeed to be considered healthy.
	Threshold *int `url:"threshold,omitempty"`
	// Timeout is timeout in milliseconds.
	Timeout *int `url:"timeout,omitempty"`
	// Window is the number of most recent health check queries to keep for this health check.
	Window *int `url:"window,omitempty"`
}

UpdateHealthCheckInput is used as input to the UpdateHealthCheck function.

type UpdateHerokuInput

type UpdateHerokuInput struct {
	// Format is a fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the heroku to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Heroku.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the token to use for authentication.
	Token *string `url:"token,omitempty"`
	// URL is the URL to stream logs to.
	URL *string `url:"url,omitempty"`
}

UpdateHerokuInput is used as input to the UpdateHeroku function.

type UpdateHoneycombInput

type UpdateHoneycombInput struct {
	// Dataset is the Honeycomb Dataset you want to log to.
	Dataset *string `url:"dataset,omitempty"`
	// Format is a Fastly log format string. Must produce valid JSON that Honeycomb can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the honeycomb to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Honeycomb.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the Write Key from the Account page of your Honeycomb account.
	Token *string `url:"token,omitempty"`
}

UpdateHoneycombInput is used as input to the UpdateHoneycomb function.

type UpdateImageOptimizerDefaultSettingsInput

type UpdateImageOptimizerDefaultSettingsInput struct {
	// Enables GIF to MP4 transformations on this service.
	AllowVideo *bool `json:"allow_video,omitempty"`
	// The default quality to use with JPEG output. This can be overridden with the "quality" parameter on specific image optimizer requests.
	JpegQuality *int `json:"jpeg_quality,omitempty"`
	// The default type of JPEG output to use. This can be overridden with "format=bjpeg" and "format=pjpeg" on specific image optimizer requests.
	JpegType *ImageOptimizerJpegType `json:"jpeg_type,omitempty"`
	// The type of filter to use while resizing an image.
	ResizeFilter *ImageOptimizerResizeFilter `json:"resize_filter,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `json:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `json:"-"`
	// Whether or not we should allow output images to render at sizes larger than input.
	Upscale *bool `json:"upscale,omitempty"`
	// Controls whether or not to default to WebP output when the client supports it. This is equivalent to adding "auto=webp" to all image optimizer requests.
	Webp *bool `json:"webp,omitempty"`
	// The default quality to use with WebP output. This can be overridden with the second option in the "quality" URL parameter on specific image optimizer requests.
	WebpQuality *int `json:"webp_quality,omitempty"`
}

UpdateImageOptimizerDefaultSettingsInput is used as input to the UpdateImageOptimizerDefaultSettings function.

A minimum of one optional field is required.

type UpdateIntegrationInput

type UpdateIntegrationInput struct {
	// Config is configuration specific to the integration type.
	Config map[string]string
	// Description is the user submitted description of the integration.
	Description *string
	// ID of integration to update (required).
	ID string
	// Name is the user submitted name of the integration.
	Name *string
	// Type is the type of integration
	Type *string
}

UpdateIntegrationInput is used as input to the UpdateIntegration function.

type UpdateKafkaInput

type UpdateKafkaInput struct {
	// AuthMethod is the SASL authentication method (plain, scram-sha-256, scram-sha-512).
	AuthMethod *string `url:"auth_method,omitempty"`
	// Brokers is a comma-separated list of IP addresses or hostnames of Kafka brokers.
	Brokers *string `url:"brokers,omitempty"`
	// CompressionCodec is the codec used for compression of your logs (gzip, snappy, lz4, null).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the kafka to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// ParseLogKeyvals enables parsing of key=value tuples from the beginning of a logline, turning them into record headers.
	ParseLogKeyvals *Compatibool `url:"parse_log_keyvals,omitempty"`
	// Password is the SASL password.
	Password *string `url:"password,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Kafka.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// RequestMaxBytes is the maximum number of bytes sent in one request. Defaults 0 (no limit).
	RequestMaxBytes *int `url:"request_max_bytes,omitempty"`
	// RequiredACKs is the number of acknowledgements a leader must receive before a write is considered successful.
	RequiredACKs *string `url:"required_acks,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSHostname is the hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
	TLSHostname *string `url:"tls_hostname,omitempty"`
	// Topic is the Kafka topic to send logs to.
	Topic *string `url:"topic,omitempty"`
	// UseTLS is whether to use TLS (0: do not use, 1: use).
	UseTLS *Compatibool `url:"use_tls,omitempty"`
	// User is the SASL user.
	User *string `url:"user,omitempty"`
}

UpdateKafkaInput is used as input to the UpdateKafka function.

type UpdateKinesisInput

type UpdateKinesisInput struct {
	// AccessKey is the access key associated with the target Amazon Kinesis stream. Not required if iam_role is specified.
	AccessKey *string `url:"access_key,omitempty"`
	// Format is a Fastly log format string. Must produce valid JSON that Kinesis can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// IAMRole is the ARN for an IAM role granting Fastly access to the target Amazon Kinesis stream.
	IAMRole *string `url:"iam_role,omitempty"`
	// Name is the name of the Kinesis logging object to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Kinesis.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// Region is the region where logs are received and stored by Kinesis.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is the secret key associated with the target Amazon Kinesis stream. Not required if iam_role is specified.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// StreamName is the Amazon Kinesis stream to send logs to.
	StreamName *string `url:"topic,omitempty"`
}

UpdateKinesisInput is used as input to the UpdateKinesis function.

type UpdateLogentriesInput

type UpdateLogentriesInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the logentries to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ProcessingRegion is the Fastly region where logs will be processed before streaming to the endpoint.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// Region is the region to which to stream logs.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is token based authentication
	Token *string `url:"token,omitempty"`
	// UseTLS is whether to use TLS (0: do not use, 1: use).
	UseTLS *Compatibool `url:"use_tls,omitempty"`
}

UpdateLogentriesInput is used as input to the UpdateLogentries function.

type UpdateLogglyInput

type UpdateLogglyInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the loggly to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Loggly.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the token to use for authentication.
	Token *string `url:"token,omitempty"`
}

UpdateLogglyInput is used as input to the UpdateLoggly function.

type UpdateLogshuttleInput

type UpdateLogshuttleInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the logshuttle to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Log Shuttle.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the data authentication token associated with this endpoint.
	Token *string `url:"token,omitempty"`
	// URL is the URL to stream logs to.
	URL *string `url:"url,omitempty"`
}

UpdateLogshuttleInput is used as input to the UpdateLogshuttle function.

type UpdateNewRelicInput

type UpdateNewRelicInput struct {
	// Format is a Fastly log format string. Must produce valid JSON that New Relic Logs can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the newrelic to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to New Relic.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// Region is the region where logs are received and stored by New Relic.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the Insert API key from the Account page of your New Relic account.
	Token *string `url:"token,omitempty"`
}

UpdateNewRelicInput is used as input to the UpdateNewRelic function.

type UpdateNewRelicOTLPInput

type UpdateNewRelicOTLPInput struct {
	// Format is a Fastly log format string. Must produce valid JSON that New Relic Logs can ingest.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the newrelic to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the Fastly region where logs will be processed before streaming to the endpoint.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// Region is the region to which to stream logs.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the Insert API key from the Account page of your New Relic account.
	Token *string `url:"token,omitempty"`
	// URL is the optional URL of a New Relic trace observer to send logs
	// to. Must be a New Relic domain name.
	URL *string `url:"url,omitempty"`
}

UpdateNewRelicOTLPInput is used as input to the UpdateNewRelicOTLP function.

type UpdateObservabilityCustomDashboardInput

type UpdateObservabilityCustomDashboardInput struct {
	Context     *context.Context `json:"-"`
	Description *string          `json:"description,omitempty"`
	// ID of the dashboard to fetch (required)
	ID    *string          `json:"-"`
	Items *[]DashboardItem `json:"items,omitempty"`
	Name  *string          `json:"name,omitempty"`
}

type UpdateOpenstackInput

type UpdateOpenstackInput struct {
	// AccessKey is your OpenStack account access key.
	AccessKey *string `url:"access_key,omitempty"`
	// BucketName is the name of your OpenStack container.
	BucketName *string `url:"bucket_name,omitempty"`
	// CompressionCodec is he codec used for compressing your logs (zstd, snappy, gzip).
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the Openstack to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to OpenStack.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
	// URL is your OpenStack auth url.
	URL *string `url:"url,omitempty"`
	// User is the username for your OpenStack account.
	User *string `url:"user,omitempty"`
}

UpdateOpenstackInput is used as input to the UpdateOpenstack function.

type UpdatePackageInput

type UpdatePackageInput struct {
	// PackagePath is the local filesystem path to the package to upload.
	PackagePath *string
	// PackageContent is the data in raw of the package to upload.
	PackageContent []byte
	// ServiceID is the ID of the service (required).
	ServiceID string `mapstructure:"service_id"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `mapstructure:"version"`
}

UpdatePackageInput is used as input to the UpdatePackage function.

type UpdatePapertrailInput

type UpdatePapertrailInput struct {
	// Address is a hostname or IPv4 address.
	Address *string `url:"address,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the papertrail to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Papertrail.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

UpdatePapertrailInput is used as input to the UpdatePapertrail function.

type UpdatePoolInput

type UpdatePoolInput struct {
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// ConnectTimeout is how long to wait for a timeout in milliseconds.
	ConnectTimeout *int `url:"connect_timeout,omitempty"`
	// FirstByteTimeout is how long to wait for the first byte in milliseconds.
	FirstByteTimeout *int `url:"first_byte_timeout,omitempty"`
	// Healthcheck is the name of the healthcheck to use with this pool.
	Healthcheck *string `url:"healthcheck,omitempty"`
	// MaxConnDefault is the maximum number of connections.
	MaxConnDefault *int `url:"max_conn_default,omitempty"`
	// MaxTLSVersion is the maximum allowed TLS version on connections to this server.
	MaxTLSVersion *string `url:"max_tls_version,omitempty"`
	// MinTLSVersion is the minimum allowed TLS version on connections to this server.
	MinTLSVersion *string `url:"min_tls_version,omitempty"`
	// Name is the name of the pool to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// OverrideHost is the hostname to override the Host header.
	OverrideHost *string `url:"override_host,omitempty"`
	// Quorum is the percentage of capacity (0-100) that needs to be operationally available for a pool to be considered up.
	Quorum *int `url:"quorum,omitempty"`
	// RequestCondition is the condition which, if met, will select this configuration during a request.
	RequestCondition *string `url:"request_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Shield is the selected POP to serve as a shield for the servers.
	Shield *string `url:"shield,omitempty"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSCertHostname is the hostname used to verify a server's certificate.
	TLSCertHostname *string `url:"tls_cert_hostname,omitempty"`
	// TLSCheckCert forces strict checking of TLS certs.
	TLSCheckCert *Compatibool `url:"tls_check_cert,omitempty"`
	// TLSCiphers is a list of OpenSSL ciphers (see the openssl.org manpages for details).
	TLSCiphers *string `url:"tls_ciphers,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSSNIHostname is the SNI hostname.
	TLSSNIHostname *string `url:"tls_sni_hostname,omitempty"`
	// Type is what type of load balance group to use (random, hash, client).
	Type *PoolType `url:"type,omitempty"`
	// UseTLS indicates whether to use TLS.
	UseTLS *Compatibool `url:"use_tls,omitempty"`
}

UpdatePoolInput is used as input to the UpdatePool function.

type UpdatePubsubInput

type UpdatePubsubInput struct {
	// AccountName is the name of the Google Cloud Platform service account associated with the target log collection service. Not required if user and secret_key are provided.
	AccountName *string `url:"account_name,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the Pubsub to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Google Cloud Pub/Sub.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ProjectID is your Google Cloud Platform project ID. Required.
	ProjectID *string `url:"project_id,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is your Google Cloud Platform account secret key. The private_key field in your service account authentication JSON. Not required if account_name is specified.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Topic is the Google Cloud Pub/Sub topic to which logs will be published.
	Topic *string `url:"topic,omitempty"`
	// User is your Google Cloud Platform service account email address. The client_email field in your service account authentication JSON. Not required if account_name is specified.
	User *string `url:"user,omitempty"`
}

UpdatePubsubInput is used as input to the UpdatePubsub function.

type UpdateRequestSettingInput

type UpdateRequestSettingInput struct {
	// Action allows you to terminate request handling and immediately perform an action.
	Action *RequestSettingAction `url:"action,omitempty"`
	// BypassBusyWait disables collapsed forwarding, so you don't wait for other objects to origin.
	BypassBusyWait *Compatibool `url:"bypass_busy_wait,omitempty"`
	// DefaultHost sets the host header.
	DefaultHost *string `url:"default_host,omitempty"`
	// ForceMiss allows you to force a cache miss for the request. Replaces the item in the cache if the content is cacheable.
	ForceMiss *Compatibool `url:"force_miss,omitempty"`
	// ForceSSL forces the request use SSL (redirects a non-SSL to SSL).
	ForceSSL *Compatibool `url:"force_ssl,omitempty"`
	// GeoHeaders injects Fastly-Geo-Country, Fastly-Geo-City, and Fastly-Geo-Region into the request headers.
	GeoHeaders *Compatibool `url:"geo_headers,omitempty"`
	// HashKeys is a comma separated list of varnish request object fields that should be in the hash key.
	HashKeys *string `url:"hash_keys,omitempty"`
	// MaxStaleAge is how old an object is allowed to be to serve stale-if-error or stale-while-revalidate.
	MaxStaleAge *int `url:"max_stale_age,omitempty"`
	// Name is the name of the request settings to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// RequestCondition is the condition which, if met, will select this configuration during a request.
	RequestCondition *string `url:"request_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimerSupport injects the X-Timer info into the request for viewing origin fetch durations.
	TimerSupport *Compatibool `url:"timer_support,omitempty"`
	// XForwardedFor determines header value (clear, leave, append, append_all, overwrite)
	XForwardedFor *RequestSettingXFF `url:"xff,omitempty"`
}

UpdateRequestSettingInput is used as input to the UpdateRequestSetting function.

type UpdateResourceInput

type UpdateResourceInput struct {
	// Name is the name of the resource being linked to (e.g. a kv store).
	Name *string `url:"name,omitempty"`
	// ResourceID is an alphanumeric string identifying the resource link (required).
	ResourceID string `url:"-"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

UpdateResourceInput is used as input to the UpdateResource function.

type UpdateResponseObjectInput

type UpdateResponseObjectInput struct {
	// CacheCondition is the name of the cache condition controlling when this configuration applies.
	CacheCondition *string `url:"cache_condition,omitempty"`
	// Content is the content to deliver for the response object, can be empty.
	Content *string `url:"content,omitempty"`
	// ContentType is the MIME type of the content, can be empty.
	ContentType *string `url:"content_type,omitempty"`
	// Name is the name of the response object to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// RequestCondition is the condition which, if met, will select this configuration during a request.
	RequestCondition *string `url:"request_condition,omitempty"`
	// Response is the HTTP response.
	Response *string `url:"response,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Status is the HTTP status code.
	Status *int `url:"status,omitempty"`
}

UpdateResponseObjectInput is used as input to the UpdateResponseObject function.

type UpdateS3Input

type UpdateS3Input struct {
	// ACL is the access control list (ACL) specific request header.
	ACL *S3AccessControlList `url:"acl,omitempty"`
	//  AccessKey is the access key for your S3 account. Not required if iam_role is provided.
	AccessKey *string `url:"access_key,omitempty"`
	// BucketName is the bucket name for S3 account.
	BucketName *string `url:"bucket_name,omitempty"`
	// CompressionCodec is the codec used for compressing your logs. Valid values are zstd, snappy, and gzip.
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Domain is the domain of the Amazon S3 endpoint.
	Domain *string `url:"domain,omitempty"`
	// FileMaxBytes is the maximum number of bytes for each uploaded file. A value of 0 can be used to indicate there is no limit on the size of uploaded files, otherwise the minimum value is 1048576 bytes (1 MiB.).
	FileMaxBytes *int `url:"file_max_bytes,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// IAMRole is the Amazon Resource Name (ARN) for the IAM role granting Fastly access to S3. Not required if access_key and secret_key are provided.
	IAMRole *string `url:"iam_role,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the S3 to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to S3.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// Redundancy is the S3 redundancy level.
	Redundancy *S3Redundancy `url:"redundancy,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SecretKey is the secret key for your S3 account. Not required if iam_role is provided.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServerSideEncryption should be set to AES256 or aws:kms to enable S3 Server Side Encryption.
	ServerSideEncryption *S3ServerSideEncryption `url:"server_side_encryption,omitempty"`
	// ServerSideEncryptionKMSKeyID is an optional server-side KMS Key ID. Must be set if ServerSideEncryption is set to aws:kms or AES256.
	ServerSideEncryptionKMSKeyID *string `url:"server_side_encryption_kms_key_id,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
}

UpdateS3Input is used as input to the UpdateS3 function.

type UpdateSFTPInput

type UpdateSFTPInput struct {
	// Address is a hostname or IPv4 address.
	Address *string `url:"address,omitempty"`
	// CompressionCodec is the codec used for compressing your logs. Valid values are zstd, snappy, and gzip.
	CompressionCodec *string `url:"compression_codec,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// GzipLevel is the level of gzip encoding when sending logs (default 0, no compression).
	GzipLevel *int `url:"gzip_level,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the SFTP to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Password is the password for the server.
	Password *string `url:"password,omitempty"`
	// Path is the path to upload logs to.
	Path *string `url:"path,omitempty"`
	// Period is how frequently log files are finalized so they can be available for reading (in seconds).
	Period *int `url:"period,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to SFTP server.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// PublicKey is a PGP public key that Fastly will use to encrypt your log files before writing them to disk.
	PublicKey *string `url:"public_key,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// SSHKnownHosts is a list of host keys for all hosts we can connect to over SFTP.
	SSHKnownHosts *string `url:"ssh_known_hosts,omitempty"`
	// SecretKey is the SSH private key for the server.
	SecretKey *string `url:"secret_key,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TimestampFormat is a timestamp format.
	TimestampFormat *string `url:"timestamp_format,omitempty"`
	// User is the username for the server.
	User *string `url:"user,omitempty"`
}

UpdateSFTPInput is used as input to the UpdateSFTP function.

type UpdateScalyrInput

type UpdateScalyrInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the scalyr to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the Fastly region where logs will be processed before streaming to the endpoint.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ProjectID hold the name of the logfile field sent to Scalyr.
	ProjectID *string `url:"project_id,omitempty"`
	// Region is the region that log data will be sent to.
	Region *string `url:"region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// Token is the token to use for authentication
	Token *string `url:"token,omitempty"`
}

UpdateScalyrInput is used as input to the UpdateScalyr function.

type UpdateServerInput

type UpdateServerInput struct {
	// Address is the hostname or IP of the origin server (required).
	Address *string `url:"address,omitempty"`
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// Disabled allows servers to be enabled and disabled in a pool.
	Disabled *bool `url:"disabled,omitempty"`
	// MaxConn is the maximum number of connections. If the value is 0, it inherits the value from pool's max_conn_default.
	MaxConn *int `url:"max_conn,omitempty"`
	// OverrideHost is the hostname to override the Host header.
	OverrideHost *string `url:"override_host,omitempty"`
	// PoolID is the ID of the pool (required).
	PoolID string `url:"-"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// Server is an alphanumeric string identifying a Server (required).
	Server string `url:"-"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// Weight is the weight (1-100) used to load balance this server against others.
	Weight *int `url:"weight,omitempty"`
}

UpdateServerInput is used as input to the UpdateServer function.

type UpdateServiceAuthorizationInput

type UpdateServiceAuthorizationInput struct {
	// ID uniquely identifies the service authorization (service and user pair) to be updated.
	ID string `jsonapi:"primary,service_authorization"`
	// The permission to grant the user to the service referenced by this service authorization.
	Permission string `jsonapi:"attr,permission,omitempty"`
}

UpdateServiceAuthorizationInput is used as input to the UpdateServiceAuthorization function.

type UpdateServiceInput

type UpdateServiceInput struct {
	// Comment is a freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// Name is the name of the service.
	Name *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string
}

UpdateServiceInput is used as input to the UpdateService function.

type UpdateSettingsInput

type UpdateSettingsInput struct {
	// DefaultHost is the default host name for the version.
	DefaultHost *string `url:"general.default_host,omitempty"`
	// DefaultTTL is the default time-to-live (TTL) for the version.
	DefaultTTL *uint `url:"general.default_ttl"`
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
	// StaleIfError enables serving a stale object if there is an error.
	StaleIfError *bool `url:"general.stale_if_error,omitempty"`
	// StaleIfErrorTTL is the default time-to-live (TTL) for serving the stale object for the version.
	StaleIfErrorTTL *uint `url:"general.stale_if_error_ttl,omitempty"`
}

UpdateSettingsInput is used as input to the UpdateSettings function.

type UpdateSnippetInput

type UpdateSnippetInput struct {
	// Content is the VCL code that specifies exactly what the snippet does.
	Content *string `url:"content,omitempty"`
	// Name is the name for the snippet (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Priority determines the ordering for multiple snippets. Lower numbers execute first.
	Priority *string `url:"priority,omitempty"`
	// ServiceID is the ID of the service to add the snippet to (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the editable configuration version (required).
	ServiceVersion int `url:"-"`
	// Type is the location in generated VCL where the snippet should be placed.
	Type *SnippetType `url:"type,omitempty"`
}

UpdateSnippetInput is the input for UpdateSnippet.

type UpdateSplunkInput

type UpdateSplunkInput struct {
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Name is the name of the splunk to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Splunk.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// RequestMaxBytes is the maximum number of bytes sent in one request. Defaults 0 for unbounded.
	RequestMaxBytes *int `url:"request_max_bytes,omitempty"`
	// RequestMaxEntries is the maximum number of logs sent in one request. Defaults 0 for unbounded.
	RequestMaxEntries *int `url:"request_max_entries,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSHostname is the hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
	TLSHostname *string `url:"tls_hostname,omitempty"`
	// Token is a Splunk token for use in posting logs over HTTP to your collector.
	Token *string `url:"token,omitempty"`
	// URL is the URL to post logs to.
	URL *string `url:"url,omitempty"`
	// UseTLS is whether to use TLS (0: do not use, 1: use).
	UseTLS *Compatibool `url:"use_tls,omitempty"`
}

UpdateSplunkInput is used as input to the UpdateSplunk function.

type UpdateSumologicInput

type UpdateSumologicInput struct {
	// Address is a hostname or IPv4 address.
	Address *string `url:"address,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the sumologic to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to Sumologic.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// URL is the URL to post logs to.
	URL *string `url:"url,omitempty"`
}

UpdateSumologicInput is used as input to the UpdateSumologic function.

type UpdateSyslogInput

type UpdateSyslogInput struct {
	// Address is a hostname or IPv4 address.
	Address *string `url:"address,omitempty"`
	// Format is a Fastly log format string.
	Format *string `url:"format,omitempty"`
	// FormatVersion is the version of the custom logging format used for the configured endpoint.
	FormatVersion *int `url:"format_version,omitempty"`
	// Hostname is the hostname used for the syslog endpoint.
	Hostname *string `url:"hostname,omitempty"`
	// IPV4 is the IPv4 address used for the syslog endpoint.
	IPV4 *string `url:"ipv4,omitempty"`
	// MessageType is how the message should be formatted (classic, loggly, logplex, blank).
	MessageType *string `url:"message_type,omitempty"`
	// Name is the name of the syslog to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// Placement is where in the generated VCL the logging call should be placed.
	Placement *string `url:"placement,omitempty"`
	// Port is the port number.
	Port *int `url:"port,omitempty"`
	// ProcessingRegion is the region where logs will be processed before streaming to syslog.
	ProcessingRegion *string `url:"log_processing_region,omitempty"`
	// ResponseCondition is the name of an existing condition in the configured endpoint, or leave blank to always execute.
	ResponseCondition *string `url:"response_condition,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
	// TLSCACert is a secure certificate to authenticate a server with. Must be in PEM format.
	TLSCACert *string `url:"tls_ca_cert,omitempty"`
	// TLSClientCert is the client certificate used to make authenticated requests. Must be in PEM format.
	TLSClientCert *string `url:"tls_client_cert,omitempty"`
	// TLSClientKey is the client private key used to make authenticated requests. Must be in PEM format.
	TLSClientKey *string `url:"tls_client_key,omitempty"`
	// TLSHostname is the hostname to verify the server's certificate. This should be one of the Subject Alternative Name (SAN) fields for the certificate. Common Names (CN) are not supported.
	TLSHostname *string `url:"tls_hostname,omitempty"`
	// Token is whether to prepend each message with a specific token.
	Token *string `url:"token,omitempty"`
	// UseTLS is whether to use TLS (0: do not use, 1: use).
	UseTLS *Compatibool `url:"use_tls,omitempty"`
}

UpdateSyslogInput is used as input to the UpdateSyslog function.

type UpdateTLSActivationInput

type UpdateTLSActivationInput struct {
	// Certificate is an alphanumeric string identifying a TLS certificate.
	Certificate *CustomTLSCertificate `jsonapi:"relation,tls_certificate"` // Only ID of CustomTLSCertificate needs to be set.
	// ID is an aphanumeric string identifying a TLS activation.
	ID string `jsonapi:"primary,tls_activation"`
	// MutualAuthentication is an alphanumeric string identifying a mutual authentication.
	MutualAuthentication *TLSMutualAuthentication `jsonapi:"relation,mutual_authentication"` // Only ID of TLSMutualAuthentication needs to be set.
}

UpdateTLSActivationInput is used as input to the UpdateTLSActivation function.

type UpdateTLSMutualAuthenticationInput

type UpdateTLSMutualAuthenticationInput struct {
	// CertBundle is one or more certificates. Enter each individual certificate blob on a new line. Must be PEM-formatted (required).
	CertBundle string `jsonapi:"attr,cert_bundle"`
	// Enforced determines whether Mutual TLS will fail closed (enforced) or fail open.
	Enforced bool `jsonapi:"attr,enforced"`
	// ID is an alphanumeric string identifying a mutual authentication (required).
	ID string `jsonapi:"primary,mutual_authentication"`
	// Name is a custom name for your mutual authentication.
	Name string `jsonapi:"attr,name,omitempty"`
}

UpdateTLSMutualAuthenticationInput is used as input to the UpdateTLSMutualAuthentication function.

type UpdateTLSSubscriptionInput

type UpdateTLSSubscriptionInput struct {
	// CommonName is the common name associated with the subscription generated by Fastly TLS. Must be included in Domains. Only the ID fields of each one need to be set.
	CommonName *TLSDomain `jsonapi:"relation,common_name,omitempty"`
	// Configuration options that apply to the enabled domains on this subscription. Only ID needs to be populated
	Configuration *TLSConfiguration `jsonapi:"relation,tls_configuration,omitempty"`
	// Domains list to enable TLS for. Only the ID fields of each one need to be set.
	Domains []*TLSDomain `jsonapi:"relation,tls_domain,omitempty"`
	// Force the update to be applied, even if domains are active. Warning: can disable production traffic.
	Force bool
	// ID of the subscription to update.
	ID string `jsonapi:"primary,tls_subscription"`
}

UpdateTLSSubscriptionInput is used as input to the UpdateTLSSubscription function (Limited Availability).

type UpdateUserInput

type UpdateUserInput struct {
	// Name is the real life name of the user.
	Name *string `url:"name,omitempty"`
	// Role is the permissions role assigned to the user. Can be user, billing, engineer, or superuser.
	Role *string `url:"role,omitempty"`
	// UserID is an alphanumeric string identifying the user (required).
	UserID string `url:"-"`
}

UpdateUserInput is used as input to the UpdateUser function.

type UpdateVCLInput

type UpdateVCLInput struct {
	// Content is the VCL code to be included.
	Content *string `url:"content,omitempty"`
	// Name is the name of the VCL to update (required).
	Name string `url:"-"`
	// NewName is the new name for the resource.
	NewName *string `url:"name,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

UpdateVCLInput is used as input to the UpdateVCL function.

type UpdateVersionInput

type UpdateVersionInput struct {
	// Comment is a personal freeform descriptive note.
	Comment *string `url:"comment,omitempty"`
	// ServiceID is the ID of the service (required).
	ServiceID string `url:"-"`
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int `url:"-"`
}

UpdateVersionInput is the input to the UpdateVersion function.

type Usage

type Usage struct {
	Bandwidth       *uint64 `mapstructure:"bandwidth"`
	Requests        *uint64 `mapstructure:"requests"`
	ComputeRequests *uint64 `mapstructure:"compute_requests"`
}

Usage represents usage data of a single service or region.

type UsageByServiceResponse

type UsageByServiceResponse struct {
	Data    *ServicesByRegionsUsage `mapstructure:"data"`
	Message *string                 `mapstructure:"msg"`
	Meta    map[string]string       `mapstructure:"meta"`
	Status  *string                 `mapstructure:"status"`
}

UsageByServiceResponse is a response from the account usage API endpoint.

type UsageResponse

type UsageResponse struct {
	Data    *RegionsUsage     `mapstructure:"data"`
	Message *string           `mapstructure:"msg"`
	Meta    map[string]string `mapstructure:"meta"`
	Status  *string           `mapstructure:"status"`
}

UsageResponse is a response from the account usage API endpoint.

type User

type User struct {
	CreatedAt              *time.Time `mapstructure:"created_at"`
	CustomerID             *string    `mapstructure:"customer_id"`
	DeletedAt              *time.Time `mapstructure:"deleted_at"`
	EmailHash              *string    `mapstructure:"email_hash"`
	LimitServices          *bool      `mapstructure:"limit_services"`
	LimitWorkspaces        *bool      `mapstructure:"limit_workspaces"`
	Locked                 *bool      `mapstructure:"locked"`
	Login                  *string    `mapstructure:"login"`
	Name                   *string    `mapstructure:"name"`
	RequireNewPassword     *bool      `mapstructure:"require_new_password"`
	Role                   *string    `mapstructure:"role"`
	TwoFactorAuthEnabled   *bool      `mapstructure:"two_factor_auth_enabled"`
	TwoFactorSetupRequired *bool      `mapstructure:"two_factor_setup_required"`
	UpdatedAt              *time.Time `mapstructure:"updated_at"`
	UserID                 *string    `mapstructure:"id"`
}

User represents a user of the Fastly API and web interface.

type VCL

type VCL struct {
	Content        *string    `mapstructure:"content"`
	CreatedAt      *time.Time `mapstructure:"created_at"`
	DeletedAt      *time.Time `mapstructure:"deleted_at"`
	Main           *bool      `mapstructure:"main"`
	Name           *string    `mapstructure:"name"`
	ServiceID      *string    `mapstructure:"service_id"`
	ServiceVersion *int       `mapstructure:"version"`
	UpdatedAt      *time.Time `mapstructure:"updated_at"`
}

VCL represents a response about VCL from the Fastly API.

type ValidateAllDomainsInput

type ValidateAllDomainsInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ValidateAllDomainsInput is used as input to the ValidateAllDomains function.

type ValidateDomainInput

type ValidateDomainInput struct {
	// Name is the name of the domain to validate (required).
	Name string
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ValidateDomainInput is used as input to the ValidateDomain function.

type ValidateVersionInput

type ValidateVersionInput struct {
	// ServiceID is the ID of the service (required).
	ServiceID string
	// ServiceVersion is the specific configuration version (required).
	ServiceVersion int
}

ValidateVersionInput is the input to the ValidateVersion function.

type Version

type Version struct {
	Active       *bool          `mapstructure:"active"`
	Comment      *string        `mapstructure:"comment"`
	CreatedAt    *time.Time     `mapstructure:"created_at"`
	DeletedAt    *time.Time     `mapstructure:"deleted_at"`
	Deployed     *bool          `mapstructure:"deployed"`
	Locked       *bool          `mapstructure:"locked"`
	Number       *int           `mapstructure:"number"`
	ServiceID    *string        `mapstructure:"service_id"`
	Staging      *bool          `mapstructure:"staging"`
	Testing      *bool          `mapstructure:"testing"`
	UpdatedAt    *time.Time     `mapstructure:"updated_at"`
	Environments []*Environment `mapstructure:"environments"`
}

Version represents a distinct configuration version.

func CreateTestVersion

func CreateTestVersion(t *testing.T, versionFixture, serviceID string) *Version

type VisualizationConfig

type VisualizationConfig struct {
	// CalculationMethod is the aggregation function to apply to the dataset (optional)
	CalculationMethod *CalculationMethod `json:"calculation_method,omitempty"`
	// Format indicates the unit used to format the data (optional, default: number)
	Format *VisualizationFormat `json:"format,omitempty"`
	// PlotType is the type of chart to display (required)
	PlotType PlotType `json:"plot_type"`
}

type VisualizationFormat

type VisualizationFormat string
const (
	VisualizationFormatNumber       VisualizationFormat = "number"
	VisualizationFormatBytes        VisualizationFormat = "bytes"
	VisualizationFormatPercent      VisualizationFormat = "percent"
	VisualizationFormatRequests     VisualizationFormat = "requests"
	VisualizationFormatResponses    VisualizationFormat = "responses"
	VisualizationFormatSeconds      VisualizationFormat = "seconds"
	VisualizationFormatMilliseconds VisualizationFormat = "milliseconds"
	VisualizationFormatRatio        VisualizationFormat = "ratio"
	VisualizationFormatBitrate      VisualizationFormat = "bitrate"
)

type VisualizationType

type VisualizationType string
const VisualizationTypeChart VisualizationType = "chart"

type WebhookSigningKeyResponse

type WebhookSigningKeyResponse struct {
	SigningKey *string `json:"signingKey"`
}

WebhookSigningKeyResponse is the response for getting or rotating a webhook payload signing key.

Source Files

Directories

Path Synopsis
Package computeacls contains subpackages which offer various operations to configure Fastly compute ACLs.
Package computeacls contains subpackages which offer various operations to configure Fastly compute ACLs.
Package domainmanagement contains subpackages which offer various operations to enable, disable, and configure Fastly domains
Package domainmanagement contains subpackages which offer various operations to enable, disable, and configure Fastly domains
v1
Package v1 contains functionality which offer various operations to enable, disable, and configure Fastly domains using its v1 implementation.
Package v1 contains functionality which offer various operations to enable, disable, and configure Fastly domains using its v1 implementation.
v1/tools
Package tools contains tools to interact with domains.
Package tools contains tools to interact with domains.
v1/tools/status
Package status contains functionality for checking the availability status of a single domain name.
Package status contains functionality for checking the availability status of a single domain name.
v1/tools/suggest
Package suggest contains functionality for performing real-time query of the search term(s) against the known zones database making recommendations, stemming, applying Unicode folding, IDN normalization, registrar supported-zone restrictions, and other refinements.
Package suggest contains functionality for performing real-time query of the search term(s) against the known zones database making recommendations, stemming, applying Unicode folding, IDN normalization, registrar supported-zone restrictions, and other refinements.
Package impersonation provides a method for using a context.Context object to provide a Fastly CID that will be used for API requests made using the context.
Package impersonation provides a method for using a context.Context object to provide a Fastly CID that will be used for API requests made using the context.
Package ngwaf contains subpackages which offer various operations to configure the Fastly Next-Gen WAF.
Package ngwaf contains subpackages which offer various operations to configure the Fastly Next-Gen WAF.
v1
Package v1 contains functionality which allows you to manage Fastly Next-Gen WAF workspaces, requests, events, redactions, tags, and rules using its v1 implementation.
Package v1 contains functionality which allows you to manage Fastly Next-Gen WAF workspaces, requests, events, redactions, tags, and rules using its v1 implementation.
v1/lists
Package lists contains API operations to create, get, update, list, and delete Fastly Next-Gen WAF lists.
Package lists contains API operations to create, get, update, list, and delete Fastly Next-Gen WAF lists.
v1/rules
Package rules contains API operations to create, get, update, list, and delete Fastly Next-Gen WAF rules.
Package rules contains API operations to create, get, update, list, and delete Fastly Next-Gen WAF rules.
v1/workspaces
Package workspaces contains API operations to create, get, update, list, and delete Fastly Next-Gen WAF workspaces.
Package workspaces contains API operations to create, get, update, list, and delete Fastly Next-Gen WAF workspaces.
v1/workspaces/alerts
Package alerts contains API operations to create, delete get, list, rotate and update Fastly Next-Gen WAF workspace alerts.
Package alerts contains API operations to create, delete get, list, rotate and update Fastly Next-Gen WAF workspace alerts.
v1/workspaces/alerts/datadog
Package datadog contains API operations to create, delete, get, list and update.
Package datadog contains API operations to create, delete, get, list and update.
v1/workspaces/alerts/jira
Package jira contains API operations to create, delete, get, list and update.
Package jira contains API operations to create, delete, get, list and update.
v1/workspaces/alerts/mailinglist
Package mailinglist contains API operations to create, delete, get, list and update.
Package mailinglist contains API operations to create, delete, get, list and update.
v1/workspaces/alerts/microsoftteams
Package microsoftteams contains API operations to create, delete, get, list and update.
Package microsoftteams contains API operations to create, delete, get, list and update.
v1/workspaces/alerts/opsgenie
Package opsgenie contains API operations to create, delete, get, list and update.
Package opsgenie contains API operations to create, delete, get, list and update.
v1/workspaces/alerts/pagerduty
Package pagerduty contains API operations to create, delete, get, list and update.
Package pagerduty contains API operations to create, delete, get, list and update.
v1/workspaces/alerts/slack
Package slack contains API operations to create, delete, get, list and update.
Package slack contains API operations to create, delete, get, list and update.
v1/workspaces/alerts/webhook
Package webhook contains API operations to create, delete, get, list and update.
Package webhook contains API operations to create, delete, get, list and update.
v1/workspaces/events
Package events contains API operations to get, list, and expire Fastly Next-Gen WAF events.
Package events contains API operations to get, list, and expire Fastly Next-Gen WAF events.
v1/workspaces/redactions
Package redactions contains API operations to create, get, update, list, and delete Fastly Next-Gen WAF redactions.
Package redactions contains API operations to create, get, update, list, and delete Fastly Next-Gen WAF redactions.
v1/workspaces/requests
Package requests contains API operations to get all and specific requests made to a Fastly Next-Gen WAF.
Package requests contains API operations to get all and specific requests made to a Fastly Next-Gen WAF.
v1/workspaces/thresholds
Package thresholds contains API operations to create, get, update, list, and delete Fastly Next-Gen WAF thresholds.
Package thresholds contains API operations to create, get, update, list, and delete Fastly Next-Gen WAF thresholds.
v1/workspaces/timeseries
Package timeseries contains API operations to get Fastly Next-Gen WAF time series
Package timeseries contains API operations to get Fastly Next-Gen WAF time series
v1/workspaces/virtualpatches
Package virtualpatches contains API operations to get, list and patch Fastly Next-Gen WAF virtual patches
Package virtualpatches contains API operations to get, list and patch Fastly Next-Gen WAF virtual patches
Package objectstorage contains subpackages which offer various operations to configure storage objects.
Package objectstorage contains subpackages which offer various operations to configure storage objects.
accesskeys
Package accesskeys contains API operations to create, get, list, and delete Fastly object storage access keys.
Package accesskeys contains API operations to create, get, list, and delete Fastly object storage access keys.
Package products contains subpackages which offer various operations to enable, disable, and configure Fastly products on a service
Package products contains subpackages which offer various operations to enable, disable, and configure Fastly products on a service
apidiscovery
Package apidiscovery contains API operations to enable and disable the API Discovery product on a service
Package apidiscovery contains API operations to enable and disable the API Discovery product on a service
botmanagement
Package botmanagement contains API operations to enable and disable the Bot Management product on a service
Package botmanagement contains API operations to enable and disable the Bot Management product on a service
brotlicompression
Package brotlicompression contains API operations to enable and disable the Brotli Compression product on a service
Package brotlicompression contains API operations to enable and disable the Brotli Compression product on a service
ddosprotection
Package ddosprotection contains API operations to enable, disable, and configure the DDoS Protection product on a service
Package ddosprotection contains API operations to enable, disable, and configure the DDoS Protection product on a service
domaininspector
Package domaininspector contains API operations to enable and disable the Domain Inspector product on a service
Package domaininspector contains API operations to enable and disable the Domain Inspector product on a service
fanout
Package fanout contains API operations to enable and disable the Fanout product on a service
Package fanout contains API operations to enable and disable the Fanout product on a service
imageoptimizer
Package imageoptimizer contains API operations to enable and disable the Image Optimizer product on a service
Package imageoptimizer contains API operations to enable and disable the Image Optimizer product on a service
logexplorerinsights
Package logexplorerinsights contains API operations to enable and disable the Log Explorer & Insights product on a service
Package logexplorerinsights contains API operations to enable and disable the Log Explorer & Insights product on a service
ngwaf
Package ngwaf contains API operations to enable, disable, and configure the Next-Gen WAF product on a service
Package ngwaf contains API operations to enable, disable, and configure the Next-Gen WAF product on a service
origininspector
Package origininspector contains API operations to enable and disable the Origin Inspector product on a service
Package origininspector contains API operations to enable and disable the Origin Inspector product on a service
websockets
Package websockets contains API operations to enable and disable the WebSockets product on a service
Package websockets contains API operations to enable and disable the WebSockets product on a service

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL