v1alpha1

package
v1.129.2 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2025 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Overview

+kcc:proto=google.cloud.iap.v1

+kubebuilder:object:generate=true +groupName=iap.cnrm.cloud.google.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "iap.cnrm.cloud.google.com", Version: "v1alpha1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var IAPSettingsGVK = GroupVersion.WithKind("IAPSettings")

Functions

func ValidateIAPSettingsID

func ValidateIAPSettingsID(id string) error

ValidateIAPSettingsID validates the IAPSettings resource ID.

Types

type AccessDeniedPageSettings

type AccessDeniedPageSettings struct {
	// The URI to be redirected to when access is denied.
	// +kcc:proto:field=google.cloud.iap.v1.AccessDeniedPageSettings.access_denied_page_uri
	AccessDeniedPageURI *string `json:"accessDeniedPageURI,omitempty"`

	// Whether to generate a troubleshooting URL on access denied events to this
	//  application.
	// +kcc:proto:field=google.cloud.iap.v1.AccessDeniedPageSettings.generate_troubleshooting_uri
	GenerateTroubleshootingURI *bool `json:"generateTroubleshootingURI,omitempty"`

	// Whether to generate remediation token on access denied events to this
	//  application.
	// +kcc:proto:field=google.cloud.iap.v1.AccessDeniedPageSettings.remediation_token_generation_enabled
	RemediationTokenGenerationEnabled *bool `json:"remediationTokenGenerationEnabled,omitempty"`
}

+kcc:proto=google.cloud.iap.v1.AccessDeniedPageSettings

func (*AccessDeniedPageSettings) DeepCopy

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

func (*AccessDeniedPageSettings) DeepCopyInto

func (in *AccessDeniedPageSettings) DeepCopyInto(out *AccessDeniedPageSettings)

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

type AccessSettings

type AccessSettings struct {
	// GCIP claims and endpoint configurations for 3p identity providers.
	// +kcc:proto:field=google.cloud.iap.v1.AccessSettings.gcip_settings
	GcipSettings *GcipSettings `json:"gcipSettings,omitempty"`

	// Configuration to allow cross-origin requests via IAP.
	// +kcc:proto:field=google.cloud.iap.v1.AccessSettings.cors_settings
	CorsSettings *CorsSettings `json:"corsSettings,omitempty"`

	// Settings to configure IAP's OAuth behavior.
	// +kcc:proto:field=google.cloud.iap.v1.AccessSettings.oauth_settings
	OauthSettings *OAuthSettings `json:"oauthSettings,omitempty"`

	// Settings to configure reauthentication policies in IAP.
	// +kcc:proto:field=google.cloud.iap.v1.AccessSettings.reauth_settings
	ReauthSettings *ReauthSettings `json:"reauthSettings,omitempty"`

	// Settings to configure and enable allowed domains.
	// +kcc:proto:field=google.cloud.iap.v1.AccessSettings.allowed_domains_settings
	AllowedDomainsSettings *AllowedDomainsSettings `json:"allowedDomainsSettings,omitempty"`
}

+kcc:proto=google.cloud.iap.v1.AccessSettings

func (*AccessSettings) DeepCopy

func (in *AccessSettings) DeepCopy() *AccessSettings

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

func (*AccessSettings) DeepCopyInto

func (in *AccessSettings) DeepCopyInto(out *AccessSettings)

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

type AllowedDomainsSettings

type AllowedDomainsSettings struct {
	// Configuration for customers to opt in for the feature.
	// +kcc:proto:field=google.cloud.iap.v1.AllowedDomainsSettings.enable
	Enable *bool `json:"enable,omitempty"`

	// List of trusted domains.
	// +kcc:proto:field=google.cloud.iap.v1.AllowedDomainsSettings.domains
	Domains []string `json:"domains,omitempty"`
}

+kcc:proto=google.cloud.iap.v1.AllowedDomainsSettings

func (*AllowedDomainsSettings) DeepCopy

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

func (*AllowedDomainsSettings) DeepCopyInto

func (in *AllowedDomainsSettings) DeepCopyInto(out *AllowedDomainsSettings)

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

type ApplicationSettings

type ApplicationSettings struct {
	// Settings to configure IAP's behavior for a service mesh.
	// +kcc:proto:field=google.cloud.iap.v1.ApplicationSettings.csm_settings
	CsmSettings *CsmSettings `json:"csmSettings,omitempty"`

	// Customization for Access Denied page.
	// +kcc:proto:field=google.cloud.iap.v1.ApplicationSettings.access_denied_page_settings
	AccessDeniedPageSettings *AccessDeniedPageSettings `json:"accessDeniedPageSettings,omitempty"`

	// The Domain value to set for cookies generated by IAP. This value is not
	//  validated by the API, but will be ignored at runtime if invalid.
	// +kcc:proto:field=google.cloud.iap.v1.ApplicationSettings.cookie_domain
	CookieDomain *string `json:"cookieDomain,omitempty"`

	// Settings to configure attribute propagation.
	// +kcc:proto:field=google.cloud.iap.v1.ApplicationSettings.attribute_propagation_settings
	AttributePropagationSettings *AttributePropagationSettings `json:"attributePropagationSettings,omitempty"`
}

+kcc:proto=google.cloud.iap.v1.ApplicationSettings

func (*ApplicationSettings) DeepCopy

func (in *ApplicationSettings) DeepCopy() *ApplicationSettings

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

func (*ApplicationSettings) DeepCopyInto

func (in *ApplicationSettings) DeepCopyInto(out *ApplicationSettings)

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

type AttributePropagationSettings

type AttributePropagationSettings struct {
	// Raw string CEL expression. Must return a list of attributes. A maximum of
	//  45 attributes can be selected. Expressions can select different attribute
	//  types from `attributes`: `attributes.saml_attributes`,
	//  `attributes.iap_attributes`. The following functions are supported:
	//
	//   - filter `<list>.filter(<iter_var>, <predicate>)`: Returns a subset of
	//   `<list>` where `<predicate>` is true for every item.
	//
	//   - in `<var> in <list>`: Returns true if `<list>` contains `<var>`.
	//
	//   - selectByName `<list>.selectByName(<string>)`: Returns the attribute
	//   in
	//   `<list>` with the given `<string>` name, otherwise returns empty.
	//
	//   - emitAs `<attribute>.emitAs(<string>)`: Sets the `<attribute>` name
	//   field to the given `<string>` for propagation in selected output
	//   credentials.
	//
	//   - strict `<attribute>.strict()`: Ignores the `x-goog-iap-attr-` prefix
	//   for the provided `<attribute>` when propagating with the `HEADER` output
	//   credential, such as request headers.
	//
	//   - append `<target_list>.append(<attribute>)` OR
	//   `<target_list>.append(<list>)`: Appends the provided `<attribute>` or
	//   `<list>` to the end of `<target_list>`.
	//
	//  Example expression: `attributes.saml_attributes.filter(x, x.name in
	//  ['test']).append(attributes.iap_attributes.selectByName('exact').emitAs('custom').strict())`
	// +kcc:proto:field=google.cloud.iap.v1.AttributePropagationSettings.expression
	Expression *string `json:"expression,omitempty"`

	// Which output credentials attributes selected by the CEL expression should
	//  be propagated in. All attributes will be fully duplicated in each selected
	//  output credential.
	// +kcc:proto:field=google.cloud.iap.v1.AttributePropagationSettings.output_credentials
	OutputCredentials []string `json:"outputCredentials,omitempty"`

	// Whether the provided attribute propagation settings should be evaluated on
	//  user requests. If set to true, attributes returned from the expression will
	//  be propagated in the set output credentials.
	// +kcc:proto:field=google.cloud.iap.v1.AttributePropagationSettings.enable
	Enable *bool `json:"enable,omitempty"`
}

+kcc:proto=google.cloud.iap.v1.AttributePropagationSettings

func (*AttributePropagationSettings) DeepCopy

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

func (*AttributePropagationSettings) DeepCopyInto

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

type CorsSettings

type CorsSettings struct {
	// Configuration to allow HTTP OPTIONS calls to skip authorization. If
	//  undefined, IAP will not apply any special logic to OPTIONS requests.
	// +kcc:proto:field=google.cloud.iap.v1.CorsSettings.allow_http_options
	AllowHTTPOptions *bool `json:"allowHTTPOptions,omitempty"`
}

+kcc:proto=google.cloud.iap.v1.CorsSettings

func (*CorsSettings) DeepCopy

func (in *CorsSettings) DeepCopy() *CorsSettings

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

func (*CorsSettings) DeepCopyInto

func (in *CorsSettings) DeepCopyInto(out *CorsSettings)

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

type CsmSettings

type CsmSettings struct {
	// Audience claim set in the generated RCToken. This value is not validated by
	//  IAP.
	// +kcc:proto:field=google.cloud.iap.v1.CsmSettings.rctoken_aud
	RctokenAud *string `json:"rctokenAud,omitempty"`
}

+kcc:proto=google.cloud.iap.v1.CsmSettings

func (*CsmSettings) DeepCopy

func (in *CsmSettings) DeepCopy() *CsmSettings

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

func (*CsmSettings) DeepCopyInto

func (in *CsmSettings) DeepCopyInto(out *CsmSettings)

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

type GcipSettings

type GcipSettings struct {
	// GCIP tenant ids that are linked to the IAP resource.
	//  tenant_ids could be a string beginning with a number character to indicate
	//  authenticating with GCIP tenant flow, or in the format of _<ProjectNumber>
	//  to indicate authenticating with GCIP agent flow.
	//  If agent flow is used, tenant_ids should only contain one single element,
	//  while for tenant flow, tenant_ids can contain multiple elements.
	// +kcc:proto:field=google.cloud.iap.v1.GcipSettings.tenant_ids
	TenantIds []string `json:"tenantIds,omitempty"`

	// Login page URI associated with the GCIP tenants.
	//  Typically, all resources within the same project share the same login page,
	//  though it could be overridden at the sub resource level.
	// +kcc:proto:field=google.cloud.iap.v1.GcipSettings.login_page_uri
	LoginPageURI *string `json:"loginPageURI,omitempty"`
}

+kcc:proto=google.cloud.iap.v1.GcipSettings

func (*GcipSettings) DeepCopy

func (in *GcipSettings) DeepCopy() *GcipSettings

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

func (*GcipSettings) DeepCopyInto

func (in *GcipSettings) DeepCopyInto(out *GcipSettings)

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

type IAPSettings

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

	// +required
	Spec   IAPSettingsSpec   `json:"spec,omitempty"`
	Status IAPSettingsStatus `json:"status,omitempty"`
}

IAPSettings is the Schema for the IAPSettings API +k8s:openapi-gen=true

func (*IAPSettings) DeepCopy

func (in *IAPSettings) DeepCopy() *IAPSettings

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

func (*IAPSettings) DeepCopyInto

func (in *IAPSettings) DeepCopyInto(out *IAPSettings)

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

func (*IAPSettings) DeepCopyObject

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

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

type IAPSettingsIdentity

type IAPSettingsIdentity struct {
	// contains filtered or unexported fields
}

IAPSettingsIdentity defines the resource reference to IAPSettings. The id could have the following format:

organizations/{organization_id}
folders/{folder_id}
projects/{projects_id}
projects/{projects_id}/iap_web
projects/{projects_id}/iap_web/compute
projects/{projects_id}/iap_web/compute-{region}
projects/{projects_id}/iap_web/compute/services/{service_id}
projects/{projects_id}/iap_web/compute-{region}/services/{service_id}
projects/{projects_id}/iap_web/appengine-{app_id}
projects/{projects_id}/iap_web/appengine-{app_id}/services/{service_id}
projects/{projects_id}/iap_web/appengine-{app_id}/services/{service_id}/versions/{version_id}

func NewIAPSettingsIdentity

func NewIAPSettingsIdentity(ctx context.Context, reader client.Reader, obj *IAPSettings) (*IAPSettingsIdentity, error)

New builds a IAPSettingsIdentity from the Config Connector IAPSettings object.

func (*IAPSettingsIdentity) DeepCopy

func (in *IAPSettingsIdentity) DeepCopy() *IAPSettingsIdentity

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

func (*IAPSettingsIdentity) DeepCopyInto

func (in *IAPSettingsIdentity) DeepCopyInto(out *IAPSettingsIdentity)

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

func (*IAPSettingsIdentity) ID

func (i *IAPSettingsIdentity) ID() string

func (*IAPSettingsIdentity) String

func (i *IAPSettingsIdentity) String() string

type IAPSettingsList

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

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object IAPSettingsList contains a list of IAPSettings

func (*IAPSettingsList) DeepCopy

func (in *IAPSettingsList) DeepCopy() *IAPSettingsList

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

func (*IAPSettingsList) DeepCopyInto

func (in *IAPSettingsList) DeepCopyInto(out *IAPSettingsList)

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

func (*IAPSettingsList) DeepCopyObject

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

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

type IAPSettingsRef

type IAPSettingsRef struct {
	// A reference to an externally managed IAPSettings resource.
	External string `json:"external,omitempty"`

	// The name of a IAPSettings resource.
	Name string `json:"name,omitempty"`

	// The namespace of a IAPSettings resource.
	Namespace string `json:"namespace,omitempty"`
}

IAPSettingsRef defines the resource reference to IAPSettings, which "External" field holds the GCP identifier for the KRM object.

func (*IAPSettingsRef) DeepCopy

func (in *IAPSettingsRef) DeepCopy() *IAPSettingsRef

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

func (*IAPSettingsRef) DeepCopyInto

func (in *IAPSettingsRef) DeepCopyInto(out *IAPSettingsRef)

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

func (*IAPSettingsRef) NormalizedExternal

func (r *IAPSettingsRef) NormalizedExternal(ctx context.Context, reader client.Reader, otherNamespace string) (string, error)

NormalizedExternal provision the "External" value for other resource that depends on IAPSettings. If the "External" is given in the other resource's spec.IAPSettingsRef, the given value will be used. Otherwise, the "Name" and "Namespace" will be used to query the actual IAPSettings object from the cluster.

type IAPSettingsSpec

type IAPSettingsSpec struct {
	// The IAPSettings name.
	ResourceID *string `json:"resourceID,omitempty"`

	// Required. The resource name of the IAP protected resource.
	// The name could have the following format:
	//	 organizations/{organization_id}
	//	 folders/{folder_id}
	//	 projects/{projects_id}
	//	 projects/{projects_id}/iap_web
	//	 projects/{projects_id}/iap_web/compute
	//	 projects/{projects_id}/iap_web/compute-{region}
	//	 projects/{projects_id}/iap_web/compute/service/{service_id}
	//	 projects/{projects_id}/iap_web/compute-{region}/service/{service_id}
	//	 projects/{projects_id}/iap_web/appengine-{app_id}
	//	 projects/{projects_id}/iap_web/appengine-{app_id}/service/{service_id}
	//	 projects/{projects_id}/iap_web/appengine-{app_id}/service/{service_id}/version/{version_id}
	// +kcc:proto:field=google.cloud.iap.v1.IapSettings.name
	// +required
	Name *string `json:"name,omitempty"`

	// Top level wrapper for all access related setting in IAP
	// +kcc:proto:field=google.cloud.iap.v1.IapSettings.access_settings
	AccessSettings *AccessSettings `json:"accessSettings,omitempty"`

	// Top level wrapper for all application related settings in IAP
	// +kcc:proto:field=google.cloud.iap.v1.IapSettings.application_settings
	ApplicationSettings *ApplicationSettings `json:"applicationSettings,omitempty"`
}

IAPSettingsSpec defines the desired state of IAPSettings +kcc:proto=google.cloud.iap.v1.IapSettings

func (*IAPSettingsSpec) DeepCopy

func (in *IAPSettingsSpec) DeepCopy() *IAPSettingsSpec

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

func (*IAPSettingsSpec) DeepCopyInto

func (in *IAPSettingsSpec) DeepCopyInto(out *IAPSettingsSpec)

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

type IAPSettingsStatus

type IAPSettingsStatus struct {
	/* Conditions represent the latest available observations of the
	   object's current state. */
	Conditions []v1alpha1.Condition `json:"conditions,omitempty"`

	// ObservedGeneration is the generation of the resource that was most recently observed by the Config Connector controller. If this is equal to metadata.generation, then that means that the current reported status reflects the most recent desired state of the resource.
	ObservedGeneration *int64 `json:"observedGeneration,omitempty"`

	// A unique specifier for the IAPSettings resource in GCP.
	ExternalRef *string `json:"externalRef,omitempty"`
}

IAPSettingsStatus defines the config connector machine state of IAPSettings

func (*IAPSettingsStatus) DeepCopy

func (in *IAPSettingsStatus) DeepCopy() *IAPSettingsStatus

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

func (*IAPSettingsStatus) DeepCopyInto

func (in *IAPSettingsStatus) DeepCopyInto(out *IAPSettingsStatus)

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

type OAuthSettings

type OAuthSettings struct {
	// Domain hint to send as hd=? parameter in OAuth request flow. Enables
	//  redirect to primary IDP by skipping Google's login screen.
	//  https://developers.google.com/identity/protocols/OpenIDConnect#hd-param
	//  Note: IAP does not verify that the id token's hd claim matches this value
	//  since access behavior is managed by IAM policies.
	// +kcc:proto:field=google.cloud.iap.v1.OAuthSettings.login_hint
	LoginHint *string `json:"loginHint,omitempty"`

	// List of OAuth client IDs allowed to programmatically authenticate with IAP.
	// +kcc:proto:field=google.cloud.iap.v1.OAuthSettings.programmatic_clients
	ProgrammaticClients []string `json:"programmaticClients,omitempty"`
}

+kcc:proto=google.cloud.iap.v1.OAuthSettings

func (*OAuthSettings) DeepCopy

func (in *OAuthSettings) DeepCopy() *OAuthSettings

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

func (*OAuthSettings) DeepCopyInto

func (in *OAuthSettings) DeepCopyInto(out *OAuthSettings)

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

type ReauthSettings

type ReauthSettings struct {
	// Reauth method requested.
	// +kcc:proto:field=google.cloud.iap.v1.ReauthSettings.method
	Method *string `json:"method,omitempty"`

	// Reauth session lifetime, how long before a user has to reauthenticate
	//  again.
	// +kcc:proto:field=google.cloud.iap.v1.ReauthSettings.max_age
	MaxAge *string `json:"maxAge,omitempty"`

	// How IAP determines the effective policy in cases of hierarchial policies.
	//  Policies are merged from higher in the hierarchy to lower in the hierarchy.
	// +kcc:proto:field=google.cloud.iap.v1.ReauthSettings.policy_type
	PolicyType *string `json:"policyType,omitempty"`
}

+kcc:proto=google.cloud.iap.v1.ReauthSettings

func (*ReauthSettings) DeepCopy

func (in *ReauthSettings) DeepCopy() *ReauthSettings

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

func (*ReauthSettings) DeepCopyInto

func (in *ReauthSettings) DeepCopyInto(out *ReauthSettings)

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