v1alpha1

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=cdn.ionoscloud.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "cdn.ionoscloud.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Distribution_Kind             = "Distribution"
	Distribution_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Distribution_Kind}.String()
	Distribution_KindAPIVersion   = Distribution_Kind + "." + CRDGroupVersion.String()
	Distribution_GroupVersionKind = CRDGroupVersion.WithKind(Distribution_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Distribution

type Distribution struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.domain) || (has(self.initProvider) && has(self.initProvider.domain))",message="spec.forProvider.domain is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.routingRules) || (has(self.initProvider) && has(self.initProvider.routingRules))",message="spec.forProvider.routingRules is a required parameter"
	Spec   DistributionSpec   `json:"spec"`
	Status DistributionStatus `json:"status,omitempty"`
}

Distribution is the Schema for the Distributions API. Creates and manages IonosCloud CDN Distributions. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,ionos}

func (*Distribution) DeepCopy

func (in *Distribution) DeepCopy() *Distribution

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Distribution.

func (*Distribution) DeepCopyInto

func (in *Distribution) DeepCopyInto(out *Distribution)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Distribution) DeepCopyObject

func (in *Distribution) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Distribution) GetCondition

func (mg *Distribution) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Distribution.

func (*Distribution) GetConnectionDetailsMapping

func (tr *Distribution) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Distribution

func (*Distribution) GetDeletionPolicy

func (mg *Distribution) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Distribution.

func (*Distribution) GetID

func (tr *Distribution) GetID() string

GetID returns ID of underlying Terraform resource of this Distribution

func (*Distribution) GetInitParameters

func (tr *Distribution) GetInitParameters() (map[string]any, error)

GetInitParameters of this Distribution

func (*Distribution) GetManagementPolicies

func (mg *Distribution) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Distribution.

func (*Distribution) GetMergedParameters

func (tr *Distribution) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Distribution

func (*Distribution) GetObservation

func (tr *Distribution) GetObservation() (map[string]any, error)

GetObservation of this Distribution

func (*Distribution) GetParameters

func (tr *Distribution) GetParameters() (map[string]any, error)

GetParameters of this Distribution

func (*Distribution) GetProviderConfigReference

func (mg *Distribution) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Distribution.

func (*Distribution) GetPublishConnectionDetailsTo

func (mg *Distribution) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Distribution.

func (*Distribution) GetTerraformResourceType

func (mg *Distribution) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Distribution

func (*Distribution) GetTerraformSchemaVersion

func (tr *Distribution) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Distribution) GetWriteConnectionSecretToReference

func (mg *Distribution) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Distribution.

func (*Distribution) Hub

func (tr *Distribution) Hub()

Hub marks this type as a conversion hub.

func (*Distribution) LateInitialize

func (tr *Distribution) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Distribution using its observed tfState. returns True if there are any spec changes for the resource.

func (*Distribution) ResolveReferences

func (mg *Distribution) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Distribution.

func (*Distribution) SetConditions

func (mg *Distribution) SetConditions(c ...xpv1.Condition)

SetConditions of this Distribution.

func (*Distribution) SetDeletionPolicy

func (mg *Distribution) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Distribution.

func (*Distribution) SetManagementPolicies

func (mg *Distribution) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Distribution.

func (*Distribution) SetObservation

func (tr *Distribution) SetObservation(obs map[string]any) error

SetObservation for this Distribution

func (*Distribution) SetParameters

func (tr *Distribution) SetParameters(params map[string]any) error

SetParameters for this Distribution

func (*Distribution) SetProviderConfigReference

func (mg *Distribution) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Distribution.

func (*Distribution) SetPublishConnectionDetailsTo

func (mg *Distribution) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Distribution.

func (*Distribution) SetWriteConnectionSecretToReference

func (mg *Distribution) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Distribution.

type DistributionInitParameters

type DistributionInitParameters struct {

	// [string] The ID of the certificate to use for the distribution. You can create certificates with the certificate resource.
	// The ID of the certificate to use for the distribution.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/certificatemanager/v1alpha1.Certificate
	CertificateID *string `json:"certificateId,omitempty" tf:"certificate_id,omitempty"`

	// Reference to a Certificate in certificatemanager to populate certificateId.
	// +kubebuilder:validation:Optional
	CertificateIDRef *v1.Reference `json:"certificateIdRef,omitempty" tf:"-"`

	// Selector for a Certificate in certificatemanager to populate certificateId.
	// +kubebuilder:validation:Optional
	CertificateIDSelector *v1.Selector `json:"certificateIdSelector,omitempty" tf:"-"`

	// [string] The domain of the distribution.
	// The domain of the distribution.
	Domain *string `json:"domain,omitempty" tf:"domain,omitempty"`

	// [list] The routing rules for the distribution.
	// The routing rules for the distribution.
	RoutingRules []RoutingRulesInitParameters `json:"routingRules,omitempty" tf:"routing_rules,omitempty"`
}

func (*DistributionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionInitParameters.

func (*DistributionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DistributionList

type DistributionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Distribution `json:"items"`
}

DistributionList contains a list of Distributions

func (*DistributionList) DeepCopy

func (in *DistributionList) DeepCopy() *DistributionList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionList.

func (*DistributionList) DeepCopyInto

func (in *DistributionList) DeepCopyInto(out *DistributionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DistributionList) DeepCopyObject

func (in *DistributionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*DistributionList) GetItems

func (l *DistributionList) GetItems() []resource.Managed

GetItems of this DistributionList.

type DistributionObservation

type DistributionObservation struct {

	// [string] The ID of the certificate to use for the distribution. You can create certificates with the certificate resource.
	// The ID of the certificate to use for the distribution.
	CertificateID *string `json:"certificateId,omitempty" tf:"certificate_id,omitempty"`

	// [string] The domain of the distribution.
	// The domain of the distribution.
	Domain *string `json:"domain,omitempty" tf:"domain,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// IP of the distribution, it has to be included on the domain DNS Zone as A record.
	// IP of the distribution, it has to be included on the domain DNS Zone as A record.
	PublicEndpointV4 *string `json:"publicEndpointV4,omitempty" tf:"public_endpoint_v4,omitempty"`

	// IP of the distribution, it has to be included on the domain DNS Zone as AAAA record.
	// IP of the distribution, it has to be included on the domain DNS Zone as AAAA record.
	PublicEndpointV6 *string `json:"publicEndpointV6,omitempty" tf:"public_endpoint_v6,omitempty"`

	// Unique resource indentifier.
	// Unique name of the resource.
	ResourceUrn *string `json:"resourceUrn,omitempty" tf:"resource_urn,omitempty"`

	// [list] The routing rules for the distribution.
	// The routing rules for the distribution.
	RoutingRules []RoutingRulesObservation `json:"routingRules,omitempty" tf:"routing_rules,omitempty"`
}

func (*DistributionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionObservation.

func (*DistributionObservation) DeepCopyInto

func (in *DistributionObservation) DeepCopyInto(out *DistributionObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DistributionParameters

type DistributionParameters struct {

	// [string] The ID of the certificate to use for the distribution. You can create certificates with the certificate resource.
	// The ID of the certificate to use for the distribution.
	// +crossplane:generate:reference:type=github.com/ionos-cloud/provider-upjet-ionoscloud/apis/certificatemanager/v1alpha1.Certificate
	// +kubebuilder:validation:Optional
	CertificateID *string `json:"certificateId,omitempty" tf:"certificate_id,omitempty"`

	// Reference to a Certificate in certificatemanager to populate certificateId.
	// +kubebuilder:validation:Optional
	CertificateIDRef *v1.Reference `json:"certificateIdRef,omitempty" tf:"-"`

	// Selector for a Certificate in certificatemanager to populate certificateId.
	// +kubebuilder:validation:Optional
	CertificateIDSelector *v1.Selector `json:"certificateIdSelector,omitempty" tf:"-"`

	// [string] The domain of the distribution.
	// The domain of the distribution.
	// +kubebuilder:validation:Optional
	Domain *string `json:"domain,omitempty" tf:"domain,omitempty"`

	// [list] The routing rules for the distribution.
	// The routing rules for the distribution.
	// +kubebuilder:validation:Optional
	RoutingRules []RoutingRulesParameters `json:"routingRules,omitempty" tf:"routing_rules,omitempty"`
}

func (*DistributionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionParameters.

func (*DistributionParameters) DeepCopyInto

func (in *DistributionParameters) DeepCopyInto(out *DistributionParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DistributionSpec

type DistributionSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     DistributionParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider DistributionInitParameters `json:"initProvider,omitempty"`
}

DistributionSpec defines the desired state of Distribution

func (*DistributionSpec) DeepCopy

func (in *DistributionSpec) DeepCopy() *DistributionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionSpec.

func (*DistributionSpec) DeepCopyInto

func (in *DistributionSpec) DeepCopyInto(out *DistributionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DistributionStatus

type DistributionStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        DistributionObservation `json:"atProvider,omitempty"`
}

DistributionStatus defines the observed state of Distribution.

func (*DistributionStatus) DeepCopy

func (in *DistributionStatus) DeepCopy() *DistributionStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DistributionStatus.

func (*DistributionStatus) DeepCopyInto

func (in *DistributionStatus) DeepCopyInto(out *DistributionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GeoRestrictionsInitParameters

type GeoRestrictionsInitParameters struct {

	// [string] List of allowed countries
	AllowList []*string `json:"allowList,omitempty" tf:"allow_list,omitempty"`

	// [string] List of blocked countries
	BlockList []*string `json:"blockList,omitempty" tf:"block_list,omitempty"`
}

func (*GeoRestrictionsInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GeoRestrictionsInitParameters.

func (*GeoRestrictionsInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GeoRestrictionsObservation

type GeoRestrictionsObservation struct {

	// [string] List of allowed countries
	AllowList []*string `json:"allowList,omitempty" tf:"allow_list,omitempty"`

	// [string] List of blocked countries
	BlockList []*string `json:"blockList,omitempty" tf:"block_list,omitempty"`
}

func (*GeoRestrictionsObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GeoRestrictionsObservation.

func (*GeoRestrictionsObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GeoRestrictionsParameters

type GeoRestrictionsParameters struct {

	// [string] List of allowed countries
	// +kubebuilder:validation:Optional
	AllowList []*string `json:"allowList,omitempty" tf:"allow_list,omitempty"`

	// [string] List of blocked countries
	// +kubebuilder:validation:Optional
	BlockList []*string `json:"blockList,omitempty" tf:"block_list,omitempty"`
}

func (*GeoRestrictionsParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GeoRestrictionsParameters.

func (*GeoRestrictionsParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoutingRulesInitParameters

type RoutingRulesInitParameters struct {

	// [string] The prefix of the routing rule.
	// The prefix of the routing rule.
	Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"`

	// [string] The scheme of the routing rule.
	// The scheme of the routing rule.
	Scheme *string `json:"scheme,omitempty" tf:"scheme,omitempty"`

	// [map] - A map of properties for the rule
	Upstream *UpstreamInitParameters `json:"upstream,omitempty" tf:"upstream,omitempty"`
}

func (*RoutingRulesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingRulesInitParameters.

func (*RoutingRulesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoutingRulesObservation

type RoutingRulesObservation struct {

	// [string] The prefix of the routing rule.
	// The prefix of the routing rule.
	Prefix *string `json:"prefix,omitempty" tf:"prefix,omitempty"`

	// [string] The scheme of the routing rule.
	// The scheme of the routing rule.
	Scheme *string `json:"scheme,omitempty" tf:"scheme,omitempty"`

	// [map] - A map of properties for the rule
	Upstream *UpstreamObservation `json:"upstream,omitempty" tf:"upstream,omitempty"`
}

func (*RoutingRulesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingRulesObservation.

func (*RoutingRulesObservation) DeepCopyInto

func (in *RoutingRulesObservation) DeepCopyInto(out *RoutingRulesObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoutingRulesParameters

type RoutingRulesParameters struct {

	// [string] The prefix of the routing rule.
	// The prefix of the routing rule.
	// +kubebuilder:validation:Optional
	Prefix *string `json:"prefix" tf:"prefix,omitempty"`

	// [string] The scheme of the routing rule.
	// The scheme of the routing rule.
	// +kubebuilder:validation:Optional
	Scheme *string `json:"scheme" tf:"scheme,omitempty"`

	// [map] - A map of properties for the rule
	// +kubebuilder:validation:Optional
	Upstream *UpstreamParameters `json:"upstream" tf:"upstream,omitempty"`
}

func (*RoutingRulesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoutingRulesParameters.

func (*RoutingRulesParameters) DeepCopyInto

func (in *RoutingRulesParameters) DeepCopyInto(out *RoutingRulesParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpstreamInitParameters

type UpstreamInitParameters struct {

	// [bool] Enable or disable caching. If enabled, the CDN will cache the responses from the upstream host. Subsequent requests for the same resource will be served from the cache.
	// Enable or disable caching. If enabled, the CDN will cache the responses from the upstream host. Subsequent requests for the same resource will be served from the cache.
	Caching *bool `json:"caching,omitempty" tf:"caching,omitempty"`

	// [map] - A map of geo_restrictions
	GeoRestrictions *GeoRestrictionsInitParameters `json:"geoRestrictions,omitempty" tf:"geo_restrictions,omitempty"`

	// [string] The upstream host that handles the requests if not already cached. This host will be protected by the WAF if the option is enabled.
	// The upstream host that handles the requests if not already cached. This host will be protected by the WAF if the option is enabled.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// [string] Rate limit class that will be applied to limit the number of incoming requests per IP.
	// Rate limit class that will be applied to limit the number of incoming requests per IP.
	RateLimitClass *string `json:"rateLimitClass,omitempty" tf:"rate_limit_class,omitempty"`

	// [string] The SNI (Server Name Indication) mode of the upstream. It supports two modes: 1) distribution: for outgoing connections to the upstream host, the CDN requires the upstream host to present a valid certificate that matches the configured domain of the CDN distribution; 2) origin: for outgoing connections to the upstream host, the CDN requires the upstream host to present a valid certificate that matches the configured upstream/origin hostname.
	// The SNI (Server Name Indication) mode of the upstream host. It supports two modes: 'distribution' and 'origin', for more information about these modes please check the resource docs.
	SniMode *string `json:"sniMode,omitempty" tf:"sni_mode,omitempty"`

	// [bool] Enable or disable WAF to protect the upstream host.
	// Enable or disable WAF to protect the upstream host.
	Waf *bool `json:"waf,omitempty" tf:"waf,omitempty"`
}

func (*UpstreamInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamInitParameters.

func (*UpstreamInitParameters) DeepCopyInto

func (in *UpstreamInitParameters) DeepCopyInto(out *UpstreamInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpstreamObservation

type UpstreamObservation struct {

	// [bool] Enable or disable caching. If enabled, the CDN will cache the responses from the upstream host. Subsequent requests for the same resource will be served from the cache.
	// Enable or disable caching. If enabled, the CDN will cache the responses from the upstream host. Subsequent requests for the same resource will be served from the cache.
	Caching *bool `json:"caching,omitempty" tf:"caching,omitempty"`

	// [map] - A map of geo_restrictions
	GeoRestrictions *GeoRestrictionsObservation `json:"geoRestrictions,omitempty" tf:"geo_restrictions,omitempty"`

	// [string] The upstream host that handles the requests if not already cached. This host will be protected by the WAF if the option is enabled.
	// The upstream host that handles the requests if not already cached. This host will be protected by the WAF if the option is enabled.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// [string] Rate limit class that will be applied to limit the number of incoming requests per IP.
	// Rate limit class that will be applied to limit the number of incoming requests per IP.
	RateLimitClass *string `json:"rateLimitClass,omitempty" tf:"rate_limit_class,omitempty"`

	// [string] The SNI (Server Name Indication) mode of the upstream. It supports two modes: 1) distribution: for outgoing connections to the upstream host, the CDN requires the upstream host to present a valid certificate that matches the configured domain of the CDN distribution; 2) origin: for outgoing connections to the upstream host, the CDN requires the upstream host to present a valid certificate that matches the configured upstream/origin hostname.
	// The SNI (Server Name Indication) mode of the upstream host. It supports two modes: 'distribution' and 'origin', for more information about these modes please check the resource docs.
	SniMode *string `json:"sniMode,omitempty" tf:"sni_mode,omitempty"`

	// [bool] Enable or disable WAF to protect the upstream host.
	// Enable or disable WAF to protect the upstream host.
	Waf *bool `json:"waf,omitempty" tf:"waf,omitempty"`
}

func (*UpstreamObservation) DeepCopy

func (in *UpstreamObservation) DeepCopy() *UpstreamObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamObservation.

func (*UpstreamObservation) DeepCopyInto

func (in *UpstreamObservation) DeepCopyInto(out *UpstreamObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UpstreamParameters

type UpstreamParameters struct {

	// [bool] Enable or disable caching. If enabled, the CDN will cache the responses from the upstream host. Subsequent requests for the same resource will be served from the cache.
	// Enable or disable caching. If enabled, the CDN will cache the responses from the upstream host. Subsequent requests for the same resource will be served from the cache.
	// +kubebuilder:validation:Optional
	Caching *bool `json:"caching" tf:"caching,omitempty"`

	// [map] - A map of geo_restrictions
	// +kubebuilder:validation:Optional
	GeoRestrictions *GeoRestrictionsParameters `json:"geoRestrictions,omitempty" tf:"geo_restrictions,omitempty"`

	// [string] The upstream host that handles the requests if not already cached. This host will be protected by the WAF if the option is enabled.
	// The upstream host that handles the requests if not already cached. This host will be protected by the WAF if the option is enabled.
	// +kubebuilder:validation:Optional
	Host *string `json:"host" tf:"host,omitempty"`

	// [string] Rate limit class that will be applied to limit the number of incoming requests per IP.
	// Rate limit class that will be applied to limit the number of incoming requests per IP.
	// +kubebuilder:validation:Optional
	RateLimitClass *string `json:"rateLimitClass" tf:"rate_limit_class,omitempty"`

	// [string] The SNI (Server Name Indication) mode of the upstream. It supports two modes: 1) distribution: for outgoing connections to the upstream host, the CDN requires the upstream host to present a valid certificate that matches the configured domain of the CDN distribution; 2) origin: for outgoing connections to the upstream host, the CDN requires the upstream host to present a valid certificate that matches the configured upstream/origin hostname.
	// The SNI (Server Name Indication) mode of the upstream host. It supports two modes: 'distribution' and 'origin', for more information about these modes please check the resource docs.
	// +kubebuilder:validation:Optional
	SniMode *string `json:"sniMode" tf:"sni_mode,omitempty"`

	// [bool] Enable or disable WAF to protect the upstream host.
	// Enable or disable WAF to protect the upstream host.
	// +kubebuilder:validation:Optional
	Waf *bool `json:"waf" tf:"waf,omitempty"`
}

func (*UpstreamParameters) DeepCopy

func (in *UpstreamParameters) DeepCopy() *UpstreamParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamParameters.

func (*UpstreamParameters) DeepCopyInto

func (in *UpstreamParameters) DeepCopyInto(out *UpstreamParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL