Documentation
¶
Index ¶
- type Address
- type ApplicationAcceleratorSettings
- type Applications
- type AzionApplicationOptions
- type AzionApplicationOptionsV3
- type AzionApplicationSimple
- type AzionConfig
- type AzionJsonDataApplication
- type AzionJsonDataCacheSettings
- type AzionJsonDataConnectors
- type AzionJsonDataDomain
- type AzionJsonDataFirewall
- type AzionJsonDataFirewallRule
- type AzionJsonDataFunction
- type AzionJsonDataOrigin
- type AzionJsonDataPurge
- type AzionJsonDataRules
- type AzionJsonDataRulesEngine
- type AzionJsonDataWorkload
- type BrowserCacheSettings
- type Build
- type BuildInfo
- type BuildInfoV3
- type CacheSetting
- type CacheSettingManifest
- type CacheSettingModules
- type CookiesCacheSettings
- type Deployments
- type DescribeOptions
- type DevicesCacheSettings
- type Domains
- type EdgeCacheSettings
- type ErrorDetails
- type FileOps
- type FirewallManifest
- type FirewallManifestBehavior
- type FirewallManifestCriterion
- type FirewallManifestRule
- type Function
- type FunctionBindings
- type FunctionInstance
- type LargeFileCacheSettings
- type ListOptions
- type LogEntry
- type Logs
- type Manifest
- type ManifestCacheSetting
- type ManifestRule
- type ManifestRuleBehavior
- type ManifestRulesEngine
- type ManifestV4
- type MemoryFS
- type Modules
- type Origin
- type PurgeManifest
- type Purges
- type QuerystringCacheSettings
- type Result
- type ResultV4
- type Results
- type ResultsV4
- type RuleEngine
- type RuleIdsStruct
- type StaleCacheSettings
- type StorageBinding
- type StorageManifest
- type SyncOpts
- type SyncOptsV3
- type TieredCacheSettings
- type WorkloadDeployment
- type WorkloadManifest
- type WorkloadStrategy
- type WorkloadStrategyAttrs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApplicationAcceleratorSettings ¶
type ApplicationAcceleratorSettings struct {
CacheVaryByMethod []string `json:"cache_vary_by_method,omitempty"`
CacheVaryByQuerystring *QuerystringCacheSettings `json:"cache_vary_by_querystring,omitempty"`
CacheVaryByCookies *CookiesCacheSettings `json:"cache_vary_by_cookies,omitempty"`
CacheVaryByDevices *DevicesCacheSettings `json:"cache_vary_by_devices,omitempty"`
}
type Applications ¶
type Applications struct {
Name string `json:"name"`
Modules *edgesdk.ApplicationModulesRequest `json:"modules,omitempty"`
Active *bool `json:"active,omitempty"`
Debug *bool `json:"debug,omitempty"`
Rules []ManifestRulesEngine `json:"rules"`
CacheSettings []ManifestCacheSetting `json:"cache_settings"`
FunctionsInstances []FunctionInstance `json:"functions_instances,omitempty"`
}
type AzionApplicationOptions ¶
type AzionApplicationOptions struct {
Test func(path string) error `json:"-"`
Name string `json:"name"`
Bucket string `json:"bucket"`
Preset string `json:"preset"` // framework: react, next, vue, angular and etc
Env string `json:"env"`
Prefix string `json:"prefix"`
RotatePrefix *bool `json:"rotate-prefix,omitempty"`
SkipDeletion *bool `json:"skip-deletion,omitempty"`
NotFirstRun bool `json:"not-first-run,omitempty"`
Function []AzionJsonDataFunction `json:"function"`
Application AzionJsonDataApplication `json:"application"`
Domain AzionJsonDataDomain `json:"domain"`
RtPurge AzionJsonDataPurge `json:"rt-purge"`
Origin []AzionJsonDataOrigin `json:"origin"`
RulesEngine AzionJsonDataRulesEngine `json:"rules-engine"`
CacheSettings []AzionJsonDataCacheSettings `json:"cache-settings"`
Workloads AzionJsonDataWorkload `json:"workloads"`
Connectors []AzionJsonDataConnectors `json:"connectors"`
Firewalls []AzionJsonDataFirewall `json:"firewalls,omitempty"`
}
type AzionApplicationOptionsV3 ¶
type AzionApplicationOptionsV3 struct {
Test func(path string) error `json:"-"`
Name string `json:"name"`
Bucket string `json:"bucket"`
Preset string `json:"preset"` // framework: react, next, vue, angular and etc
Env string `json:"env"`
Prefix string `json:"prefix"`
RotatePrefix *bool `json:"rotate-prefix,omitempty"`
SkipDeletion *bool `json:"skip-deletion,omitempty"`
NotFirstRun bool `json:"not-first-run"`
Function AzionJsonDataFunction `json:"function"`
Application AzionJsonDataApplication `json:"application"`
Domain AzionJsonDataDomain `json:"domain"`
RtPurge AzionJsonDataPurge `json:"rt-purge"`
Origin []AzionJsonDataOrigin `json:"origin"`
RulesEngine AzionJsonDataRulesEngine `json:"rules-engine"`
CacheSettings []AzionJsonDataCacheSettings `json:"cache-settings"`
}
type AzionApplicationSimple ¶
type AzionApplicationSimple struct {
Name string `json:"name"`
Type string `json:"type"`
Domain AzionJsonDataDomain `json:"domain"`
Application AzionJsonDataApplication `json:"application"`
}
type AzionConfig ¶
type AzionJsonDataConnectors ¶
type AzionJsonDataDomain ¶
type AzionJsonDataFirewall ¶
type AzionJsonDataFirewall struct {
Id int64 `json:"id"`
Name string `json:"name"`
Rules []AzionJsonDataFirewallRule `json:"rules,omitempty"`
}
type AzionJsonDataFunction ¶
type AzionJsonDataOrigin ¶
type AzionJsonDataPurge ¶
type AzionJsonDataPurge struct {
PurgeOnPublish bool `json:"purge_on_publish"`
}
type AzionJsonDataRules ¶
type AzionJsonDataRulesEngine ¶
type AzionJsonDataRulesEngine struct {
Created bool `json:"created"`
Rules []AzionJsonDataRules `json:"rules"`
}
type AzionJsonDataWorkload ¶
type AzionJsonDataWorkload struct {
Id int64 `json:"id"`
Name string `json:"name"`
Domains []string `json:"domains"`
Url string `json:"url"`
Deployments []Deployments `json:"deployment_id"`
}
type BrowserCacheSettings ¶
type BuildInfoV3 ¶
type CacheSetting ¶
type CacheSetting struct {
Name *string `json:"name,omitempty"`
BrowserCacheSettings *string `json:"browser_cache_settings,omitempty"`
BrowserCacheSettingsMaximumTtl *int64 `json:"browser_cache_settings_maximum_ttl,omitempty"`
CdnCacheSettings *string `json:"cdn_cache_settings,omitempty"`
CdnCacheSettingsMaximumTtl *int64 `json:"cdn_cache_settings_maximum_ttl,omitempty"`
CacheByQueryString *string `json:"cache_by_query_string,omitempty"`
QueryStringFields []string `json:"query_string_fields,omitempty"`
EnableQueryStringSort *bool `json:"enable_query_string_sort,omitempty"`
CacheByCookies *string `json:"cache_by_cookies,omitempty"`
CookieNames []string `json:"cookie_names,omitempty"`
AdaptiveDeliveryAction *string `json:"adaptive_delivery_action,omitempty"`
DeviceGroup []int32 `json:"device_group,omitempty"`
EnableCachingForPost *bool `json:"enable_caching_for_post,omitempty"`
L2CachingEnabled *bool `json:"l2_caching_enabled,omitempty"`
IsSliceConfigurationEnabled *bool `json:"is_slice_configuration_enabled,omitempty"`
IsSliceEdgeCachingEnabled *bool `json:"is_slice_edge_caching_enabled,omitempty"`
IsSliceL2CachingEnabled *bool `json:"is_slice_l2_caching_enabled,omitempty"`
SliceConfigurationRange *int64 `json:"slice_configuration_range,omitempty"`
EnableCachingForOptions *bool `json:"enable_caching_for_options,omitempty"`
EnableStaleCache *bool `json:"enable_stale_cache,omitempty"`
L2Region *string `json:"l2_region,omitempty"`
}
type CacheSettingManifest ¶
type CacheSettingManifest struct {
Name string `json:"name"`
BrowserCache *BrowserCacheSettings `json:"browser_cache,omitempty"`
Modules *CacheSettingModules `json:"modules,omitempty"`
}
type CacheSettingModules ¶
type CacheSettingModules struct {
EdgeCache *EdgeCacheSettings `json:"edge_cache,omitempty"`
TieredCache *TieredCacheSettings `json:"tiered_cache,omitempty"`
ApplicationAccelerator *ApplicationAcceleratorSettings `json:"application_accelerator,omitempty"`
}
type CookiesCacheSettings ¶
type Deployments ¶
type DescribeOptions ¶
type DevicesCacheSettings ¶
type Domains ¶
type Domains struct {
Name string `json:"name,omitempty"`
Cnames []string `json:"cnames,omitempty"`
CnameAccessOnly *bool `json:"cname_access_only,omitempty"`
IsActive *bool `json:"is_active,omitempty"`
EdgeApplicationId int64 `json:"edge_application_id,omitempty"`
DigitalCertificateId *string `json:"digital_certificate_id,omitempty"`
Environment *string `json:"environment,omitempty"`
IsMtlsEnabled *bool `json:"is_mtls_enabled,omitempty"`
MtlsTrustedCaCertificateId int64 `json:"mtls_trusted_ca_certificate_id,omitempty"`
EdgeFirewallId int64 `json:"edge_firewall_id,omitempty"`
MtlsVerification *string `json:"mtls_verification,omitempty"`
CrlList []int64 `json:"crl_list,omitempty"`
}
type EdgeCacheSettings ¶
type EdgeCacheSettings struct {
Behavior string `json:"behavior,omitempty"`
MaxAge int64 `json:"max_age,omitempty"`
StaleCache *StaleCacheSettings `json:"stale_cache,omitempty"`
LargeFileCache *LargeFileCacheSettings `json:"large_file_cache,omitempty"`
}
type ErrorDetails ¶
type FirewallManifest ¶
type FirewallManifest struct {
Name string `json:"name"`
Modules *edgesdk.FirewallModulesRequest `json:"modules,omitempty"`
Debug *bool `json:"debug,omitempty"`
Active *bool `json:"active,omitempty"`
RulesEngine []FirewallManifestRule `json:"rules_engine,omitempty"`
}
type FirewallManifestBehavior ¶
type FirewallManifestBehavior struct {
Type string `json:"type"`
Attributes map[string]interface{} `json:"attributes,omitempty"`
}
FirewallManifestBehavior represents a firewall behavior in the manifest.json file.
type FirewallManifestCriterion ¶
type FirewallManifestCriterion struct {
Variable string `json:"variable"`
Operator string `json:"operator"`
Conditional string `json:"conditional"`
Argument interface{} `json:"argument,omitempty"`
}
FirewallManifestCriterion represents a firewall criterion in the manifest.json file.
type FirewallManifestRule ¶
type FirewallManifestRule struct {
Name string `json:"name"`
Active *bool `json:"active,omitempty"`
Criteria [][]FirewallManifestCriterion `json:"criteria"`
Behaviors []FirewallManifestBehavior `json:"behaviors"`
Description *string `json:"description,omitempty"`
}
FirewallManifestRule represents a firewall rule in the manifest.json file using plain Go types to avoid strict SDK deserialization issues.
type Function ¶
type Function struct {
Name string `json:"name"`
Path string `json:"path"`
Runtime string `json:"runtime,omitempty"` // azion_js, etc.
DefaultArgs map[string]interface{} `json:"default_args,omitempty"` // Default arguments
ExecutionEnvironment string `json:"execution_environment,omitempty"` // application, etc.
Active bool `json:"active,omitempty"` // Whether the function is active
Bindings FunctionBindings `json:"bindings,omitempty"` // Function bindings
// Keep the old fields for backward compatibility
Argument string `json:"argument,omitempty"`
}
type FunctionBindings ¶
type FunctionBindings struct {
Storage StorageBinding `json:"storage,omitempty"`
}
type FunctionInstance ¶
type FunctionInstance struct {
Name string `json:"name"`
Function string `json:"function"`
Active bool `json:"active"`
Args map[string]interface{} `json:"args,omitempty"`
}
FunctionInstance represents an edge function instance in the manifest.json file
type LargeFileCacheSettings ¶
type ListOptions ¶
type LogEntry ¶
type LogEntry struct {
Content string `json:"content,omitempty"`
Timestamp string `json:"timestamp,omitempty"`
}
LogEntry represents each log entry with content and timestamp.
type Manifest ¶
type Manifest struct {
CacheSettings []CacheSetting `json:"cache"`
Origins []Origin `json:"origin"`
Rules []RuleEngine `json:"rules"`
Domain *Domains `json:"domain,omitempty"`
Purge []Purges `json:"purge"`
}
type ManifestCacheSetting ¶
type ManifestCacheSetting struct {
Name string `json:"name"`
BrowserCache *edgesdk.BrowserCacheModuleRequest `json:"browser_cache,omitempty"`
Modules *edgesdk.CacheSettingsModulesRequest `json:"modules,omitempty"`
}
type ManifestRule ¶
type ManifestRule struct {
Name string `json:"name"`
Description string `json:"description,omitempty"`
Active bool `json:"active,omitempty"`
Criteria [][]edgesdk.ApplicationCriterionFieldRequest `json:"criteria"`
Behaviors []ManifestRuleBehavior `json:"behaviors"`
}
ManifestRule represents a rule in the manifest.json file
type ManifestRuleBehavior ¶
type ManifestRuleBehavior struct {
Type string `json:"type,omitempty"`
Attributes map[string]interface{} `json:"attributes,omitempty"`
}
ManifestRuleBehavior represents a behavior in a rule
type ManifestRulesEngine ¶
type ManifestRulesEngine struct {
Phase string `json:"phase"`
Rule ManifestRule `json:"rule"`
}
ManifestRulesEngine represents a rule engine entry in the manifest.json file
type ManifestV4 ¶
type ManifestV4 struct {
Build Build `json:"build"`
Storage []StorageManifest `json:"storage"`
Functions []Function `json:"functions"`
Applications []Applications `json:"applications"`
Connectors []edgesdk.ConnectorRequest `json:"connectors"`
Workloads []WorkloadManifest `json:"workloads"`
WorkloadDeployments []WorkloadDeployment `json:"workload_deployments,omitempty"`
Firewalls []FirewallManifest `json:"firewall,omitempty"`
Purge []PurgeManifest `json:"purge"`
}
type Modules ¶
type Modules struct {
EdgeCacheEnabled *bool `json:"edge_cache_enabled,omitempty"`
EdgeFunctionsEnabled *bool `json:"edge_functions_enabled,omitempty"`
ApplicationAcceleratorEnabled *bool `json:"application_accelerator_enabled,omitempty"`
ImageProcessorEnabled *bool `json:"image_processor_enabled,omitempty"`
TieredCacheEnabled *bool `json:"tiered_cache_enabled,omitempty"`
}
type Origin ¶
type Origin struct {
Name string `json:"name"`
OriginType string `json:"origin_type,omitempty"`
Bucket string `json:"bucket,omitempty"`
Prefix string `json:"prefix,omitempty"`
Addresses []Address `json:"addresses,omitempty"`
HostHeader string `json:"host_header,omitempty"`
OriginProtocolPolicy *string `json:"origin_protocol_policy,omitempty"`
OriginPath *string `json:"origin_path,omitempty"`
HmacAuthentication *bool `json:"hmac_authentication,omitempty"`
HmacRegionName *string `json:"hmac_region_name,omitempty"`
HmacAccessKey *string `json:"hmac_access_key,omitempty"`
HmacSecretKey *string `json:"hmac_secret_key,omitempty"`
}
type PurgeManifest ¶
type Result ¶
type Result struct {
Azion *AzionApplicationOptionsV3 `json:"azion,omitempty"`
Extras []interface{} `json:"extras"`
Errors *ErrorDetails `json:"errors,omitempty"`
}
type ResultV4 ¶
type ResultV4 struct {
Azion *AzionApplicationOptions `json:"azion,omitempty"`
Extras []interface{} `json:"extras"`
Errors *ErrorDetails `json:"errors,omitempty"`
AzionConfig *AzionConfig `json:"azion_config,omitempty"`
}
type RuleEngine ¶
type RuleEngine struct {
Name string `json:"name"`
Description *string `json:"description,omitempty"`
Phase string `json:"phase,omitempty"`
Order int64 `json:"order,omitempty"`
IsActive bool `json:"is_active,omitempty"`
Criteria [][]sdk.RulesEngineCriteria `json:"criteria,omitempty"`
Behaviors []sdk.RulesEngineBehaviorEntry `json:"behaviors,omitempty"`
}
type RuleIdsStruct ¶
type StaleCacheSettings ¶
type StaleCacheSettings struct {
Enabled bool `json:"enabled"`
}
type StorageBinding ¶
type StorageManifest ¶
type StorageManifest struct {
Name string `json:"name"`
WorkloadsAccess string `json:"workloads_access"` // read_write, read_only, etc.
Dir string `json:"dir"` // Directory path
Prefix string `json:"prefix"`
}
StorageManifest represents an edge storage entry in the manifest.json file
type SyncOpts ¶
type SyncOpts struct {
RuleIds map[string]RuleIdsStruct
CacheIds map[string]AzionJsonDataCacheSettings
OriginIds map[string]AzionJsonDataOrigin
Conf *AzionApplicationOptions
}
type SyncOptsV3 ¶
type SyncOptsV3 struct {
RuleIds map[string]RuleIdsStruct
CacheIds map[string]AzionJsonDataCacheSettings
OriginIds map[string]AzionJsonDataOrigin
Conf *AzionApplicationOptionsV3
}
type TieredCacheSettings ¶
type TieredCacheSettings struct {
Topology string `json:"topology,omitempty"`
}
type WorkloadDeployment ¶
type WorkloadDeployment struct {
Name string `json:"name"`
Current bool `json:"current"`
Active bool `json:"active"`
Strategy WorkloadStrategy `json:"strategy"`
}
type WorkloadManifest ¶
type WorkloadManifest struct {
Name string `json:"name"`
Active *bool `json:"active,omitempty"`
Infrastructure int64 `json:"infrastructure,omitempty"`
WorkloadDomainAllowAccess *bool `json:"workload_domain_allow_access,omitempty"`
Domains []string `json:"domains"`
Tls *edgesdk.TLSWorkloadRequest `json:"tls,omitempty"`
Protocols *edgesdk.ProtocolsRequest `json:"protocols,omitempty"`
Mtls *edgesdk.MTLSRequest `json:"mtls,omitempty"`
NetworkMap *string `json:"network_map,omitempty"`
}
WorkloadManifest represents a workload in the manifest.json file
type WorkloadStrategy ¶
type WorkloadStrategy struct {
Type string `json:"type"`
Attributes WorkloadStrategyAttrs `json:"attributes"`
}