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
- Variables
- type AWSFunctionConfig
- type AssumeRoleOptions
- type AssumeRoleWithWebIdentityOptions
- type DynamicURLConfig
- type EndpointConfig
- type FunctionConfig
- type FunctionConfigList
- type FunctionConfigSpec
- type FunctionCredentials
- type Tag
- type URLConfig
- type Upbound
- type WebIdentityTokenConfig
Constants ¶
const ( Group = "function-claude-status-transformer.fn.crossplane.io" Version = "v1alpha1" )
Package type metadata.
Variables ¶
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 ¶
func (in *AssumeRoleWithWebIdentityOptions) DeepCopy() *AssumeRoleWithWebIdentityOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AssumeRoleWithWebIdentityOptions.
func (*AssumeRoleWithWebIdentityOptions) DeepCopyInto ¶
func (in *AssumeRoleWithWebIdentityOptions) DeepCopyInto(out *AssumeRoleWithWebIdentityOptions)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tag.
func (*Tag) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new URLConfig.
func (*URLConfig) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Upbound.
func (*Upbound) DeepCopyInto ¶
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 ¶
func (in *WebIdentityTokenConfig) DeepCopy() *WebIdentityTokenConfig
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.