v1beta1

package
v1.15.2 Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: Apache-2.0 Imports: 7 Imported by: 2

Documentation

Overview

Package v1beta1 contains the core resources of the aws jet provider. +kubebuilder:object:generate=true +groupName=aws.upbound.io +versionName=v1beta1

Index

Constants

View Source
const (
	Group   = "aws.upbound.io"
	Version = "v1beta1"
)

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}
)
View Source
var (
	ProviderConfigKind             = reflect.TypeOf(ProviderConfig{}).Name()
	ProviderConfigGroupKind        = schema.GroupKind{Group: Group, Kind: ProviderConfigKind}.String()
	ProviderConfigKindAPIVersion   = ProviderConfigKind + "." + SchemeGroupVersion.String()
	ProviderConfigGroupVersionKind = SchemeGroupVersion.WithKind(ProviderConfigKind)
)

ProviderConfig type metadata.

View Source
var (
	ProviderConfigUsageKind             = reflect.TypeOf(ProviderConfigUsage{}).Name()
	ProviderConfigUsageGroupKind        = schema.GroupKind{Group: Group, Kind: ProviderConfigUsageKind}.String()
	ProviderConfigUsageKindAPIVersion   = ProviderConfigUsageKind + "." + SchemeGroupVersion.String()
	ProviderConfigUsageGroupVersionKind = SchemeGroupVersion.WithKind(ProviderConfigUsageKind)

	ProviderConfigUsageListKind             = reflect.TypeOf(ProviderConfigUsageList{}).Name()
	ProviderConfigUsageListGroupKind        = schema.GroupKind{Group: Group, Kind: ProviderConfigUsageListKind}.String()
	ProviderConfigUsageListKindAPIVersion   = ProviderConfigUsageListKind + "." + SchemeGroupVersion.String()
	ProviderConfigUsageListGroupVersionKind = SchemeGroupVersion.WithKind(ProviderConfigUsageListKind)
)

ProviderConfigUsage type metadata.

Functions

This section is empty.

Types

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 ProviderConfig

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

	Spec   ProviderConfigSpec   `json:"spec"`
	Status ProviderConfigStatus `json:"status,omitempty"`
}

A ProviderConfig configures the AWS provider. +kubebuilder:subresource:status +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="SOURCE",type="string",JSONPath=".spec.source",priority=1 +kubebuilder:resource:scope=Cluster +kubebuilder:resource:scope=Cluster,categories={crossplane,providerconfig,aws} +kubebuilder:storageversion

func (*ProviderConfig) DeepCopy

func (in *ProviderConfig) DeepCopy() *ProviderConfig

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

func (*ProviderConfig) DeepCopyInto

func (in *ProviderConfig) DeepCopyInto(out *ProviderConfig)

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

func (*ProviderConfig) DeepCopyObject

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

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

func (*ProviderConfig) GetCondition

func (p *ProviderConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this ProviderConfig.

func (*ProviderConfig) GetUsers

func (p *ProviderConfig) GetUsers() int64

GetUsers of this ProviderConfig.

func (*ProviderConfig) SetConditions

func (p *ProviderConfig) SetConditions(c ...xpv1.Condition)

SetConditions of this ProviderConfig.

func (*ProviderConfig) SetUsers

func (p *ProviderConfig) SetUsers(i int64)

SetUsers of this ProviderConfig.

type ProviderConfigList

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

ProviderConfigList contains a list of ProviderConfig.

func (*ProviderConfigList) DeepCopy

func (in *ProviderConfigList) DeepCopy() *ProviderConfigList

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

func (*ProviderConfigList) DeepCopyInto

func (in *ProviderConfigList) DeepCopyInto(out *ProviderConfigList)

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

func (*ProviderConfigList) DeepCopyObject

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

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

type ProviderConfigSpec

type ProviderConfigSpec struct {
	// Credentials required to authenticate to this provider.
	Credentials ProviderCredentials `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 provider.
	// +optional
	Endpoint *EndpointConfig `json:"endpoint,omitempty"`
	// Whether to skip credentials validation via the STS API.
	// This can be useful for testing and for AWS API implementations that do not have STS available.
	// +optional
	SkipCredsValidation bool `json:"skip_credentials_validation,omitempty"`
	// Whether to skip validation of provided region name.
	// Useful for AWS-like implementations that use their own region names or to bypass the validation for
	// regions that aren't publicly available yet.
	// +optional
	SkipRegionValidation bool `json:"skip_region_validation,omitempty"`
	// Whether to enable the request to use path-style addressing, i.e., https://s3.amazonaws.com/BUCKET/KEY.
	// +optional
	S3UsePathStyle bool `json:"s3_use_path_style,omitempty"`
	// Whether to skip the AWS Metadata API check
	// Useful for AWS API implementations that do not have a metadata API endpoint.
	// +optional
	SkipMetadataApiCheck bool `json:"skip_metadata_api_check,omitempty"`
	// Whether to skip requesting the account ID.
	// Useful for AWS API implementations that do not have the IAM, STS API, or metadata API
	// +optional
	SkipReqAccountId bool `json:"skip_requesting_account_id,omitempty"`
}

A ProviderConfigSpec defines the desired state of a ProviderConfig.

func (*ProviderConfigSpec) DeepCopy

func (in *ProviderConfigSpec) DeepCopy() *ProviderConfigSpec

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

func (*ProviderConfigSpec) DeepCopyInto

func (in *ProviderConfigSpec) DeepCopyInto(out *ProviderConfigSpec)

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

type ProviderConfigStatus

type ProviderConfigStatus struct {
	xpv1.ProviderConfigStatus `json:",inline"`
}

A ProviderConfigStatus reflects the observed state of a ProviderConfig.

func (*ProviderConfigStatus) DeepCopy

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

func (*ProviderConfigStatus) DeepCopyInto

func (in *ProviderConfigStatus) DeepCopyInto(out *ProviderConfigStatus)

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

type ProviderConfigUsage

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

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

A ProviderConfigUsage indicates that a resource is using a ProviderConfig. +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:printcolumn:name="CONFIG-NAME",type="string",JSONPath=".providerConfigRef.name" +kubebuilder:printcolumn:name="RESOURCE-KIND",type="string",JSONPath=".resourceRef.kind" +kubebuilder:printcolumn:name="RESOURCE-NAME",type="string",JSONPath=".resourceRef.name" +kubebuilder:resource:scope=Cluster,categories={crossplane,providerconfig,aws} +kubebuilder:storageversion

func (*ProviderConfigUsage) DeepCopy

func (in *ProviderConfigUsage) DeepCopy() *ProviderConfigUsage

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

func (*ProviderConfigUsage) DeepCopyInto

func (in *ProviderConfigUsage) DeepCopyInto(out *ProviderConfigUsage)

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

func (*ProviderConfigUsage) DeepCopyObject

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

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

func (*ProviderConfigUsage) GetProviderConfigReference

func (p *ProviderConfigUsage) GetProviderConfigReference() xpv1.Reference

GetProviderConfigReference of this ProviderConfigUsage.

func (*ProviderConfigUsage) GetResourceReference

func (p *ProviderConfigUsage) GetResourceReference() xpv1.TypedReference

GetResourceReference of this ProviderConfigUsage.

func (*ProviderConfigUsage) SetProviderConfigReference

func (p *ProviderConfigUsage) SetProviderConfigReference(r xpv1.Reference)

SetProviderConfigReference of this ProviderConfigUsage.

func (*ProviderConfigUsage) SetResourceReference

func (p *ProviderConfigUsage) SetResourceReference(r xpv1.TypedReference)

SetResourceReference of this ProviderConfigUsage.

type ProviderConfigUsageList

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

ProviderConfigUsageList contains a list of ProviderConfigUsage

func (*ProviderConfigUsageList) DeepCopy

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

func (*ProviderConfigUsageList) DeepCopyInto

func (in *ProviderConfigUsageList) DeepCopyInto(out *ProviderConfigUsageList)

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

func (*ProviderConfigUsageList) DeepCopyObject

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

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

func (*ProviderConfigUsageList) GetItems

GetItems of this ProviderConfigUsageList.

type ProviderCredentials

type ProviderCredentials 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"`
}

ProviderCredentials required to authenticate.

func (*ProviderCredentials) DeepCopy

func (in *ProviderCredentials) DeepCopy() *ProviderCredentials

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

func (*ProviderCredentials) DeepCopyInto

func (in *ProviderCredentials) DeepCopyInto(out *ProviderCredentials)

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
	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 added in v0.24.0

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 added in v0.24.0

func (in *Upbound) DeepCopy() *Upbound

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

func (*Upbound) DeepCopyInto added in v0.24.0

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 added in v1.1.0

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 added in v1.1.0

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

func (*WebIdentityTokenConfig) DeepCopyInto added in v1.1.0

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