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
- Variables
- type AssumeRoleOptions
- type AssumeRoleWithWebIdentityOptions
- type DynamicURLConfig
- type EndpointConfig
- type ProviderConfig
- func (in *ProviderConfig) DeepCopy() *ProviderConfig
- func (in *ProviderConfig) DeepCopyInto(out *ProviderConfig)
- func (in *ProviderConfig) DeepCopyObject() runtime.Object
- func (p *ProviderConfig) GetCondition(ct xpv1.ConditionType) xpv1.Condition
- func (p *ProviderConfig) GetUsers() int64
- func (p *ProviderConfig) SetConditions(c ...xpv1.Condition)
- func (p *ProviderConfig) SetUsers(i int64)
- type ProviderConfigList
- type ProviderConfigSpec
- type ProviderConfigStatus
- type ProviderConfigUsage
- func (in *ProviderConfigUsage) DeepCopy() *ProviderConfigUsage
- func (in *ProviderConfigUsage) DeepCopyInto(out *ProviderConfigUsage)
- func (in *ProviderConfigUsage) DeepCopyObject() runtime.Object
- func (p *ProviderConfigUsage) GetProviderConfigReference() xpv1.Reference
- func (p *ProviderConfigUsage) GetResourceReference() xpv1.TypedReference
- func (p *ProviderConfigUsage) SetProviderConfigReference(r xpv1.Reference)
- func (p *ProviderConfigUsage) SetResourceReference(r xpv1.TypedReference)
- type ProviderConfigUsageList
- type ProviderCredentials
- type Tag
- type URLConfig
- type Upbound
- type WebIdentityTokenConfig
Constants ¶
const ( Group = "aws.upbound.io" Version = "v1beta1" )
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} )
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.
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 ¶
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 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 ¶
func (in *ProviderConfigStatus) DeepCopy() *ProviderConfigStatus
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 ¶
func (in *ProviderConfigUsageList) DeepCopy() *ProviderConfigUsageList
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 ¶
func (p *ProviderConfigUsageList) GetItems() []resource.ProviderConfigUsage
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 ¶
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 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 ¶ 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Upbound.
func (*Upbound) DeepCopyInto ¶ added in v0.24.0
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
func (in *WebIdentityTokenConfig) DeepCopy() *WebIdentityTokenConfig
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.