Help us shape the future of Go! Take the 2026 Go Developer Survey

v1alpha1

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: Aug 28, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains the FunctionConfig for the Function. +kubebuilder:object:generate=true +groupName=function-claude-status-transformer.fn.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	Group   = "function-claude-status-transformer.fn.crossplane.io"
	Version = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}
	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type AWSFunctionConfig

type AWSFunctionConfig struct {
	// Credentials required to authenticate to this function.
	Credentials FunctionCredentials `json:"credentials"`

	// AssumeRoleChain defines the options for assuming an IAM role
	AssumeRoleChain []AssumeRoleOptions `json:"assumeRoleChain,omitempty"`

	// Endpoint is where you can override the default endpoint configuration
	// of AWS calls made by the function.
	// +optional
	Endpoint *EndpointConfig `json:"endpoint,omitempty"`
}

AWSFunctionConfig provides an subset of configurations that we currently see in the provider-aws ProviderConfig.

func (*AWSFunctionConfig) DeepCopy

func (in *AWSFunctionConfig) DeepCopy() *AWSFunctionConfig

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

func (*AWSFunctionConfig) DeepCopyInto

func (in *AWSFunctionConfig) DeepCopyInto(out *AWSFunctionConfig)

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

type AssumeRoleOptions

type AssumeRoleOptions struct {
	// AssumeRoleARN to assume with provider credentials
	RoleARN *string `json:"roleARN,omitempty"`

	// ExternalID is the external ID used when assuming role.
	// +optional
	ExternalID *string `json:"externalID,omitempty"`

	// Tags is list of session tags that you want to pass. Each session tag consists of a key
	// name and an associated value. For more information about session tags, see
	// Tagging STS Sessions
	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html).
	// +optional
	Tags []Tag `json:"tags,omitempty"`

	// TransitiveTagKeys is a list of keys for session tags that you want to set as transitive. If you set a
	// tag key as transitive, the corresponding key and value passes to subsequent
	// sessions in a role chain. For more information, see Chaining Roles with Session Tags
	// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining).
	// +optional
	TransitiveTagKeys []string `json:"transitiveTagKeys,omitempty"`
}

AssumeRoleOptions define the options for assuming an IAM Role Fields are similar to the STS AssumeRoleOptions in the AWS SDK

func (*AssumeRoleOptions) DeepCopy

func (in *AssumeRoleOptions) DeepCopy() *AssumeRoleOptions

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

func (*AssumeRoleOptions) DeepCopyInto

func (in *AssumeRoleOptions) DeepCopyInto(out *AssumeRoleOptions)

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

type AssumeRoleWithWebIdentityOptions

type AssumeRoleWithWebIdentityOptions struct {
	// AssumeRoleARN to assume with provider credentials
	RoleARN *string `json:"roleARN,omitempty"`

	// RoleSessionName is the session name, if you wish to uniquely identify this session.
	// +optional
	RoleSessionName string `json:"roleSessionName,omitempty"`

	// TokenConfig is the Web Identity Token config to assume the role.
	// +optional
	TokenConfig *WebIdentityTokenConfig `json:"tokenConfig,omitempty"`
}

AssumeRoleWithWebIdentityOptions define the options for assuming an IAM Role Fields are similar to the STS WebIdentityRoleOptions in the AWS SDK

func (*AssumeRoleWithWebIdentityOptions) DeepCopy

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

func (*AssumeRoleWithWebIdentityOptions) DeepCopyInto

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

type DynamicURLConfig

type DynamicURLConfig struct {
	// Protocol is the HTTP protocol that will be used in the URL. Currently,
	// only http and https are supported.
	// +kubebuilder:validation:Enum=http;https
	Protocol string `json:"protocol"`

	// Host is the address of the main host that the resolver will use to
	// prepend protocol, service and region configurations.
	// For example, the final URL for EC2 in us-east-1 looks like https://ec2.us-east-1.amazonaws.com
	// You would need to use "amazonaws.com" as Host and "https" as protocol
	// to have the resolver construct it.
	Host string `json:"host"`
}

DynamicURLConfig lets users configure endpoint resolving functionality.

func (*DynamicURLConfig) DeepCopy

func (in *DynamicURLConfig) DeepCopy() *DynamicURLConfig

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

func (*DynamicURLConfig) DeepCopyInto

func (in *DynamicURLConfig) DeepCopyInto(out *DynamicURLConfig)

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

type EndpointConfig

type EndpointConfig struct {
	// URL lets you configure the endpoint URL to be used in SDK calls.
	URL URLConfig `json:"url"`
	// Specifies the list of services you want endpoint to be used for
	Services []string `json:"services,omitempty"`

	// Specifies if the endpoint's hostname can be modified by the SDK's API
	// client.
	//
	// If the hostname is mutable the SDK API clients may modify any part of
	// the hostname based on the requirements of the API, (e.g. adding, or
	// removing content in the hostname). Such as, Amazon S3 API client
	// prefixing "bucketname" to the hostname, or changing the
	// hostname service name component from "s3." to "s3-accesspoint.dualstack."
	// for the dualstack endpoint of an S3 Accesspoint resource.
	//
	// Care should be taken when providing a custom endpoint for an API. If the
	// endpoint hostname is mutable, and the client cannot modify the endpoint
	// correctly, the operation call will most likely fail, or have undefined
	// behavior.
	//
	// If hostname is immutable, the SDK API clients will not modify the
	// hostname of the URL. This may cause the API client not to function
	// correctly if the API requires the operation specific hostname values
	// to be used by the client.
	//
	// This flag does not modify the API client's behavior if this endpoint
	// will be used instead of Endpoint Discovery, or if the endpoint will be
	// used to perform Endpoint Discovery. That behavior is configured via the
	// API Client's Options.
	// Note that this is effective only for resources that use AWS SDK v2.
	// +optional
	HostnameImmutable *bool `json:"hostnameImmutable,omitempty"`

	// The AWS partition the endpoint belongs to.
	// +optional
	PartitionID *string `json:"partitionId,omitempty"`

	// The service name that should be used for signing the requests to the
	// endpoint.
	// +optional
	SigningName *string `json:"signingName,omitempty"`

	// The region that should be used for signing the request to the endpoint.
	// For IAM, which doesn't have any region, us-east-1 is used to sign the
	// requests, which is the only signing region of IAM.
	// +optional
	SigningRegion *string `json:"signingRegion,omitempty"`

	// The signing method that should be used for signing the requests to the
	// endpoint.
	// +optional
	SigningMethod *string `json:"signingMethod,omitempty"`

	// The source of the Endpoint. By default, this will be ServiceMetadata.
	// When providing a custom endpoint, you should set the source as Custom.
	// If source is not provided when providing a custom endpoint, the SDK may not
	// perform required host mutations correctly. Source should be used along with
	// HostnameImmutable property as per the usage requirement.
	// Note that this is effective only for resources that use AWS SDK v2.
	// +optional
	// +kubebuilder:validation:Enum=ServiceMetadata;Custom
	Source *string `json:"source,omitempty"`
}

EndpointConfig is used to configure the AWS client for a custom endpoint.

func (*EndpointConfig) DeepCopy

func (in *EndpointConfig) DeepCopy() *EndpointConfig

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

func (*EndpointConfig) DeepCopyInto

func (in *EndpointConfig) DeepCopyInto(out *EndpointConfig)

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

type FunctionConfig

type FunctionConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec FunctionConfigSpec `json:"spec"`
}

FunctionConfig configures the function for interacting with AWS. +kubebuilder:resource:scope=Cluster,categories={crossplane,function,aws} +kubebuilder:storageversion

func (*FunctionConfig) DeepCopy

func (in *FunctionConfig) DeepCopy() *FunctionConfig

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

func (*FunctionConfig) DeepCopyInto

func (in *FunctionConfig) DeepCopyInto(out *FunctionConfig)

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

func (*FunctionConfig) DeepCopyObject

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

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

type FunctionConfigList

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

FunctionConfigList contains a list of FunctionConfigs.

func (*FunctionConfigList) DeepCopy

func (in *FunctionConfigList) DeepCopy() *FunctionConfigList

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

func (*FunctionConfigList) DeepCopyInto

func (in *FunctionConfigList) DeepCopyInto(out *FunctionConfigList)

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

func (*FunctionConfigList) DeepCopyObject

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

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

type FunctionConfigSpec

type FunctionConfigSpec struct {
	// ForAWS is the AWS specific FunctionConfig specification.
	ForAWS *AWSFunctionConfig `json:"forAWS,omitempty"`
}

FunctionConfigSpec provides CSP specific configurations for the Function.

func (*FunctionConfigSpec) DeepCopy

func (in *FunctionConfigSpec) DeepCopy() *FunctionConfigSpec

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

func (*FunctionConfigSpec) DeepCopyInto

func (in *FunctionConfigSpec) DeepCopyInto(out *FunctionConfigSpec)

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

type FunctionCredentials

type FunctionCredentials struct {
	// Source of the provider credentials.
	// +kubebuilder:validation:Enum=None;Secret;IRSA;WebIdentity;PodIdentity;Upbound
	Source xpv1.CredentialsSource `json:"source"`

	// WebIdentity defines the options for assuming an IAM role with a Web Identity.
	WebIdentity *AssumeRoleWithWebIdentityOptions `json:"webIdentity,omitempty"`

	// Upbound defines the options for authenticating using Upbound as an identity provider.
	Upbound *Upbound `json:"upbound,omitempty"`

	xpv1.CommonCredentialSelectors `json:",inline"`
}

FunctionCredentials required to authenticate.

func (*FunctionCredentials) DeepCopy

func (in *FunctionCredentials) DeepCopy() *FunctionCredentials

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

func (*FunctionCredentials) DeepCopyInto

func (in *FunctionCredentials) DeepCopyInto(out *FunctionCredentials)

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

type Tag

type Tag struct {
	// Name of the tag.
	// Key is a required field
	Key *string `json:"key"`

	// Value of the tag.
	// Value is a required field
	Value *string `json:"value"`
}

Tag is session tag that can be used to assume an IAM Role

func (*Tag) DeepCopy

func (in *Tag) DeepCopy() *Tag

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

func (*Tag) DeepCopyInto

func (in *Tag) DeepCopyInto(out *Tag)

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

type URLConfig

type URLConfig struct {
	// You can provide a static URL that will be used regardless of the service
	// and region by choosing Static type. Alternatively, you can provide
	// configuration for dynamically resolving the URL with the config you provide
	// once you set the type as Dynamic.
	// +kubebuilder:validation:Enum=Static;Dynamic;Auto
	Type string `json:"type"`

	// Static is the full URL you'd like the AWS SDK to use.
	// Recommended for using tools like localstack where a single host is exposed
	// for all services and regions.
	// +optional
	Static *string `json:"static,omitempty"`

	// Dynamic lets you configure the behavior of endpoint URL resolver.
	// +optional
	Dynamic *DynamicURLConfig `json:"dynamic,omitempty"`
}

URLConfig lets users configure the URL of the AWS SDK calls.

func (*URLConfig) DeepCopy

func (in *URLConfig) DeepCopy() *URLConfig

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

func (*URLConfig) DeepCopyInto

func (in *URLConfig) DeepCopyInto(out *URLConfig)

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

type Upbound

type Upbound struct {
	// WebIdentity defines the options for assuming an IAM role with a Web
	// Identity.
	WebIdentity *AssumeRoleWithWebIdentityOptions `json:"webIdentity,omitempty"`
}

Upbound defines the options for authenticating using Upbound as an identity provider.

func (*Upbound) DeepCopy

func (in *Upbound) DeepCopy() *Upbound

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

func (*Upbound) DeepCopyInto

func (in *Upbound) DeepCopyInto(out *Upbound)

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

type WebIdentityTokenConfig

type WebIdentityTokenConfig struct {
	// Source is the source of the web identity token.
	// +kubebuilder:validation:Enum=Secret;Filesystem
	Source xpv1.CredentialsSource `json:"source"`
	// A SecretRef is a reference to a secret key that contains the credentials
	// that must be used to obtain the web identity token.
	// +optional
	SecretRef *xpv1.SecretKeySelector `json:"secretRef,omitempty"`
	// Fs is a reference to a filesystem location that contains credentials that
	// must be used to obtain the web identity token.
	// +optional
	Fs *xpv1.FsSelector `json:"fs,omitempty"`
}

WebIdentityTokenConfig is for configuring the token to be used for Web Identity authentication

TODO: can be later expanded to use by inlining v1.CommonCredentialSelectors, Env configuration is intentionally left out to not cause ambiguity with the deprecated direct configuration with environment variables.

func (*WebIdentityTokenConfig) DeepCopy

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

func (*WebIdentityTokenConfig) DeepCopyInto

func (in *WebIdentityTokenConfig) DeepCopyInto(out *WebIdentityTokenConfig)

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