v1beta1

package
v1.9.1 Latest Latest
Warning

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

Go to latest
Published: Dec 17, 2024 License: Apache-2.0 Imports: 16 Imported by: 1

Documentation

Overview

+kubebuilder:object:generate=true +groupName=accesscontextmanager.gcp.upbound.io +versionName=v1beta1

Index

Constants

View Source
const (
	CRDGroup   = "accesscontextmanager.gcp.upbound.io"
	CRDVersion = "v1beta1"
)

Package type metadata.

Variables

View Source
var (
	AccessLevel_Kind             = "AccessLevel"
	AccessLevel_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: AccessLevel_Kind}.String()
	AccessLevel_KindAPIVersion   = AccessLevel_Kind + "." + CRDGroupVersion.String()
	AccessLevel_GroupVersionKind = CRDGroupVersion.WithKind(AccessLevel_Kind)
)

Repository type metadata.

View Source
var (
	AccessLevelCondition_Kind             = "AccessLevelCondition"
	AccessLevelCondition_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: AccessLevelCondition_Kind}.String()
	AccessLevelCondition_KindAPIVersion   = AccessLevelCondition_Kind + "." + CRDGroupVersion.String()
	AccessLevelCondition_GroupVersionKind = CRDGroupVersion.WithKind(AccessLevelCondition_Kind)
)

Repository type metadata.

View Source
var (
	AccessPolicy_Kind             = "AccessPolicy"
	AccessPolicy_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: AccessPolicy_Kind}.String()
	AccessPolicy_KindAPIVersion   = AccessPolicy_Kind + "." + CRDGroupVersion.String()
	AccessPolicy_GroupVersionKind = CRDGroupVersion.WithKind(AccessPolicy_Kind)
)

Repository type metadata.

View Source
var (
	AccessPolicyIAMMember_Kind             = "AccessPolicyIAMMember"
	AccessPolicyIAMMember_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: AccessPolicyIAMMember_Kind}.String()
	AccessPolicyIAMMember_KindAPIVersion   = AccessPolicyIAMMember_Kind + "." + CRDGroupVersion.String()
	AccessPolicyIAMMember_GroupVersionKind = CRDGroupVersion.WithKind(AccessPolicyIAMMember_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	ServicePerimeter_Kind             = "ServicePerimeter"
	ServicePerimeter_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ServicePerimeter_Kind}.String()
	ServicePerimeter_KindAPIVersion   = ServicePerimeter_Kind + "." + CRDGroupVersion.String()
	ServicePerimeter_GroupVersionKind = CRDGroupVersion.WithKind(ServicePerimeter_Kind)
)

Repository type metadata.

View Source
var (
	ServicePerimeterResource_Kind             = "ServicePerimeterResource"
	ServicePerimeterResource_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: ServicePerimeterResource_Kind}.String()
	ServicePerimeterResource_KindAPIVersion   = ServicePerimeterResource_Kind + "." + CRDGroupVersion.String()
	ServicePerimeterResource_GroupVersionKind = CRDGroupVersion.WithKind(ServicePerimeterResource_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AccessLevel

type AccessLevel struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.parent) || (has(self.initProvider) && has(self.initProvider.parent))",message="spec.forProvider.parent is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.title) || (has(self.initProvider) && has(self.initProvider.title))",message="spec.forProvider.title is a required parameter"
	Spec   AccessLevelSpec   `json:"spec"`
	Status AccessLevelStatus `json:"status,omitempty"`
}

AccessLevel is the Schema for the AccessLevels API. An AccessLevel is a label that can be applied to requests to GCP services, along with a list of requirements necessary for the label to be applied. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*AccessLevel) ConvertFrom added in v1.2.0

func (tr *AccessLevel) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts from the hub type to the AccessLevel type.

func (*AccessLevel) ConvertTo added in v1.2.0

func (tr *AccessLevel) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this AccessLevel to the hub type.

func (*AccessLevel) DeepCopy

func (in *AccessLevel) DeepCopy() *AccessLevel

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

func (*AccessLevel) DeepCopyInto

func (in *AccessLevel) DeepCopyInto(out *AccessLevel)

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

func (*AccessLevel) DeepCopyObject

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

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

func (*AccessLevel) GetCondition

func (mg *AccessLevel) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this AccessLevel.

func (*AccessLevel) GetConnectionDetailsMapping

func (tr *AccessLevel) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this AccessLevel

func (*AccessLevel) GetDeletionPolicy

func (mg *AccessLevel) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this AccessLevel.

func (*AccessLevel) GetID

func (tr *AccessLevel) GetID() string

GetID returns ID of underlying Terraform resource of this AccessLevel

func (*AccessLevel) GetInitParameters

func (tr *AccessLevel) GetInitParameters() (map[string]any, error)

GetInitParameters of this AccessLevel

func (*AccessLevel) GetManagementPolicies

func (mg *AccessLevel) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this AccessLevel.

func (*AccessLevel) GetMergedParameters added in v0.40.0

func (tr *AccessLevel) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this AccessLevel

func (*AccessLevel) GetObservation

func (tr *AccessLevel) GetObservation() (map[string]any, error)

GetObservation of this AccessLevel

func (*AccessLevel) GetParameters

func (tr *AccessLevel) GetParameters() (map[string]any, error)

GetParameters of this AccessLevel

func (*AccessLevel) GetProviderConfigReference

func (mg *AccessLevel) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this AccessLevel.

func (*AccessLevel) GetPublishConnectionDetailsTo

func (mg *AccessLevel) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this AccessLevel.

func (*AccessLevel) GetTerraformResourceType

func (mg *AccessLevel) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this AccessLevel

func (*AccessLevel) GetTerraformSchemaVersion

func (tr *AccessLevel) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*AccessLevel) GetWriteConnectionSecretToReference

func (mg *AccessLevel) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this AccessLevel.

func (*AccessLevel) LateInitialize

func (tr *AccessLevel) LateInitialize(attrs []byte) (bool, error)

LateInitialize this AccessLevel using its observed tfState. returns True if there are any spec changes for the resource.

func (*AccessLevel) SetConditions

func (mg *AccessLevel) SetConditions(c ...xpv1.Condition)

SetConditions of this AccessLevel.

func (*AccessLevel) SetDeletionPolicy

func (mg *AccessLevel) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this AccessLevel.

func (*AccessLevel) SetManagementPolicies

func (mg *AccessLevel) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this AccessLevel.

func (*AccessLevel) SetObservation

func (tr *AccessLevel) SetObservation(obs map[string]any) error

SetObservation for this AccessLevel

func (*AccessLevel) SetParameters

func (tr *AccessLevel) SetParameters(params map[string]any) error

SetParameters for this AccessLevel

func (*AccessLevel) SetProviderConfigReference

func (mg *AccessLevel) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this AccessLevel.

func (*AccessLevel) SetPublishConnectionDetailsTo

func (mg *AccessLevel) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this AccessLevel.

func (*AccessLevel) SetWriteConnectionSecretToReference

func (mg *AccessLevel) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this AccessLevel.

type AccessLevelCondition

type AccessLevelCondition struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AccessLevelConditionSpec   `json:"spec"`
	Status            AccessLevelConditionStatus `json:"status,omitempty"`
}

AccessLevelCondition is the Schema for the AccessLevelConditions API. Allows configuring a single access level condition to be appended to an access level's conditions. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*AccessLevelCondition) ConvertFrom added in v1.2.0

func (tr *AccessLevelCondition) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts from the hub type to the AccessLevelCondition type.

func (*AccessLevelCondition) ConvertTo added in v1.2.0

func (tr *AccessLevelCondition) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this AccessLevelCondition to the hub type.

func (*AccessLevelCondition) DeepCopy

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

func (*AccessLevelCondition) DeepCopyInto

func (in *AccessLevelCondition) DeepCopyInto(out *AccessLevelCondition)

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

func (*AccessLevelCondition) DeepCopyObject

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

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

func (*AccessLevelCondition) GetCondition

func (mg *AccessLevelCondition) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this AccessLevelCondition.

func (*AccessLevelCondition) GetConnectionDetailsMapping

func (tr *AccessLevelCondition) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this AccessLevelCondition

func (*AccessLevelCondition) GetDeletionPolicy

func (mg *AccessLevelCondition) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this AccessLevelCondition.

func (*AccessLevelCondition) GetID

func (tr *AccessLevelCondition) GetID() string

GetID returns ID of underlying Terraform resource of this AccessLevelCondition

func (*AccessLevelCondition) GetInitParameters

func (tr *AccessLevelCondition) GetInitParameters() (map[string]any, error)

GetInitParameters of this AccessLevelCondition

func (*AccessLevelCondition) GetManagementPolicies

func (mg *AccessLevelCondition) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this AccessLevelCondition.

func (*AccessLevelCondition) GetMergedParameters added in v0.40.0

func (tr *AccessLevelCondition) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this AccessLevelCondition

func (*AccessLevelCondition) GetObservation

func (tr *AccessLevelCondition) GetObservation() (map[string]any, error)

GetObservation of this AccessLevelCondition

func (*AccessLevelCondition) GetParameters

func (tr *AccessLevelCondition) GetParameters() (map[string]any, error)

GetParameters of this AccessLevelCondition

func (*AccessLevelCondition) GetProviderConfigReference

func (mg *AccessLevelCondition) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this AccessLevelCondition.

func (*AccessLevelCondition) GetPublishConnectionDetailsTo

func (mg *AccessLevelCondition) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this AccessLevelCondition.

func (*AccessLevelCondition) GetTerraformResourceType

func (mg *AccessLevelCondition) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this AccessLevelCondition

func (*AccessLevelCondition) GetTerraformSchemaVersion

func (tr *AccessLevelCondition) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*AccessLevelCondition) GetWriteConnectionSecretToReference

func (mg *AccessLevelCondition) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this AccessLevelCondition.

func (*AccessLevelCondition) LateInitialize

func (tr *AccessLevelCondition) LateInitialize(attrs []byte) (bool, error)

LateInitialize this AccessLevelCondition using its observed tfState. returns True if there are any spec changes for the resource.

func (*AccessLevelCondition) ResolveReferences

func (mg *AccessLevelCondition) ResolveReferences(
	ctx context.Context, c client.Reader) error

func (*AccessLevelCondition) SetConditions

func (mg *AccessLevelCondition) SetConditions(c ...xpv1.Condition)

SetConditions of this AccessLevelCondition.

func (*AccessLevelCondition) SetDeletionPolicy

func (mg *AccessLevelCondition) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this AccessLevelCondition.

func (*AccessLevelCondition) SetManagementPolicies

func (mg *AccessLevelCondition) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this AccessLevelCondition.

func (*AccessLevelCondition) SetObservation

func (tr *AccessLevelCondition) SetObservation(obs map[string]any) error

SetObservation for this AccessLevelCondition

func (*AccessLevelCondition) SetParameters

func (tr *AccessLevelCondition) SetParameters(params map[string]any) error

SetParameters for this AccessLevelCondition

func (*AccessLevelCondition) SetProviderConfigReference

func (mg *AccessLevelCondition) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this AccessLevelCondition.

func (*AccessLevelCondition) SetPublishConnectionDetailsTo

func (mg *AccessLevelCondition) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this AccessLevelCondition.

func (*AccessLevelCondition) SetWriteConnectionSecretToReference

func (mg *AccessLevelCondition) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this AccessLevelCondition.

type AccessLevelConditionDevicePolicyInitParameters

type AccessLevelConditionDevicePolicyInitParameters struct {

	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of: MANAGEMENT_UNSPECIFIED, NONE, BASIC, COMPLETE.
	AllowedDeviceManagementLevels []*string `json:"allowedDeviceManagementLevels,omitempty" tf:"allowed_device_management_levels,omitempty"`

	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of: ENCRYPTION_UNSPECIFIED, ENCRYPTION_UNSUPPORTED, UNENCRYPTED, ENCRYPTED.
	AllowedEncryptionStatuses []*string `json:"allowedEncryptionStatuses,omitempty" tf:"allowed_encryption_statuses,omitempty"`

	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	OsConstraints []DevicePolicyOsConstraintsInitParameters `json:"osConstraints,omitempty" tf:"os_constraints,omitempty"`

	// Whether the device needs to be approved by the customer admin.
	RequireAdminApproval *bool `json:"requireAdminApproval,omitempty" tf:"require_admin_approval,omitempty"`

	// Whether the device needs to be corp owned.
	RequireCorpOwned *bool `json:"requireCorpOwned,omitempty" tf:"require_corp_owned,omitempty"`

	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	RequireScreenLock *bool `json:"requireScreenLock,omitempty" tf:"require_screen_lock,omitempty"`
}

func (*AccessLevelConditionDevicePolicyInitParameters) DeepCopy

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

func (*AccessLevelConditionDevicePolicyInitParameters) DeepCopyInto

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

type AccessLevelConditionDevicePolicyObservation

type AccessLevelConditionDevicePolicyObservation struct {

	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of: MANAGEMENT_UNSPECIFIED, NONE, BASIC, COMPLETE.
	AllowedDeviceManagementLevels []*string `json:"allowedDeviceManagementLevels,omitempty" tf:"allowed_device_management_levels,omitempty"`

	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of: ENCRYPTION_UNSPECIFIED, ENCRYPTION_UNSUPPORTED, UNENCRYPTED, ENCRYPTED.
	AllowedEncryptionStatuses []*string `json:"allowedEncryptionStatuses,omitempty" tf:"allowed_encryption_statuses,omitempty"`

	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	OsConstraints []DevicePolicyOsConstraintsObservation `json:"osConstraints,omitempty" tf:"os_constraints,omitempty"`

	// Whether the device needs to be approved by the customer admin.
	RequireAdminApproval *bool `json:"requireAdminApproval,omitempty" tf:"require_admin_approval,omitempty"`

	// Whether the device needs to be corp owned.
	RequireCorpOwned *bool `json:"requireCorpOwned,omitempty" tf:"require_corp_owned,omitempty"`

	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	RequireScreenLock *bool `json:"requireScreenLock,omitempty" tf:"require_screen_lock,omitempty"`
}

func (*AccessLevelConditionDevicePolicyObservation) DeepCopy

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

func (*AccessLevelConditionDevicePolicyObservation) DeepCopyInto

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

type AccessLevelConditionDevicePolicyParameters

type AccessLevelConditionDevicePolicyParameters struct {

	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of: MANAGEMENT_UNSPECIFIED, NONE, BASIC, COMPLETE.
	// +kubebuilder:validation:Optional
	AllowedDeviceManagementLevels []*string `json:"allowedDeviceManagementLevels,omitempty" tf:"allowed_device_management_levels,omitempty"`

	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of: ENCRYPTION_UNSPECIFIED, ENCRYPTION_UNSUPPORTED, UNENCRYPTED, ENCRYPTED.
	// +kubebuilder:validation:Optional
	AllowedEncryptionStatuses []*string `json:"allowedEncryptionStatuses,omitempty" tf:"allowed_encryption_statuses,omitempty"`

	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	OsConstraints []DevicePolicyOsConstraintsParameters `json:"osConstraints,omitempty" tf:"os_constraints,omitempty"`

	// Whether the device needs to be approved by the customer admin.
	// +kubebuilder:validation:Optional
	RequireAdminApproval *bool `json:"requireAdminApproval,omitempty" tf:"require_admin_approval,omitempty"`

	// Whether the device needs to be corp owned.
	// +kubebuilder:validation:Optional
	RequireCorpOwned *bool `json:"requireCorpOwned,omitempty" tf:"require_corp_owned,omitempty"`

	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	// +kubebuilder:validation:Optional
	RequireScreenLock *bool `json:"requireScreenLock,omitempty" tf:"require_screen_lock,omitempty"`
}

func (*AccessLevelConditionDevicePolicyParameters) DeepCopy

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

func (*AccessLevelConditionDevicePolicyParameters) DeepCopyInto

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

type AccessLevelConditionInitParameters

type AccessLevelConditionInitParameters struct {

	// The name of the Access Level to add this condition to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.AccessLevel
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false)
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`

	// Reference to a AccessLevel in accesscontextmanager to populate accessLevel.
	// +kubebuilder:validation:Optional
	AccessLevelRef *v1.Reference `json:"accessLevelRef,omitempty" tf:"-"`

	// Selector for a AccessLevel in accesscontextmanager to populate accessLevel.
	// +kubebuilder:validation:Optional
	AccessLevelSelector *v1.Selector `json:"accessLevelSelector,omitempty" tf:"-"`

	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy []AccessLevelConditionDevicePolicyInitParameters `json:"devicePolicy,omitempty" tf:"device_policy,omitempty"`

	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IPSubnetworks []*string `json:"ipSubnetworks,omitempty" tf:"ip_subnetworks,omitempty"`

	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: user:{emailid}, serviceAccount:{emailid}
	Members []*string `json:"members,omitempty" tf:"members,omitempty"`

	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate *bool `json:"negate,omitempty" tf:"negate,omitempty"`

	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"`

	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels []*string `json:"requiredAccessLevels,omitempty" tf:"required_access_levels,omitempty"`

	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with ip_subnetworks.
	// Structure is documented below.
	VPCNetworkSources []AccessLevelConditionVPCNetworkSourcesInitParameters `json:"vpcNetworkSources,omitempty" tf:"vpc_network_sources,omitempty"`
}

func (*AccessLevelConditionInitParameters) DeepCopy

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

func (*AccessLevelConditionInitParameters) DeepCopyInto

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

type AccessLevelConditionList

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

AccessLevelConditionList contains a list of AccessLevelConditions

func (*AccessLevelConditionList) DeepCopy

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

func (*AccessLevelConditionList) DeepCopyInto

func (in *AccessLevelConditionList) DeepCopyInto(out *AccessLevelConditionList)

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

func (*AccessLevelConditionList) DeepCopyObject

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

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

func (*AccessLevelConditionList) GetItems

func (l *AccessLevelConditionList) GetItems() []resource.Managed

GetItems of this AccessLevelConditionList.

type AccessLevelConditionObservation

type AccessLevelConditionObservation struct {

	// The name of the Access Level to add this condition to.
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`

	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy []AccessLevelConditionDevicePolicyObservation `json:"devicePolicy,omitempty" tf:"device_policy,omitempty"`

	// an identifier for the resource with format {{access_level}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IPSubnetworks []*string `json:"ipSubnetworks,omitempty" tf:"ip_subnetworks,omitempty"`

	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: user:{emailid}, serviceAccount:{emailid}
	Members []*string `json:"members,omitempty" tf:"members,omitempty"`

	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate *bool `json:"negate,omitempty" tf:"negate,omitempty"`

	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"`

	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels []*string `json:"requiredAccessLevels,omitempty" tf:"required_access_levels,omitempty"`

	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with ip_subnetworks.
	// Structure is documented below.
	VPCNetworkSources []AccessLevelConditionVPCNetworkSourcesObservation `json:"vpcNetworkSources,omitempty" tf:"vpc_network_sources,omitempty"`
}

func (*AccessLevelConditionObservation) DeepCopy

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

func (*AccessLevelConditionObservation) DeepCopyInto

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

type AccessLevelConditionParameters

type AccessLevelConditionParameters struct {

	// The name of the Access Level to add this condition to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.AccessLevel
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false)
	// +kubebuilder:validation:Optional
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`

	// Reference to a AccessLevel in accesscontextmanager to populate accessLevel.
	// +kubebuilder:validation:Optional
	AccessLevelRef *v1.Reference `json:"accessLevelRef,omitempty" tf:"-"`

	// Selector for a AccessLevel in accesscontextmanager to populate accessLevel.
	// +kubebuilder:validation:Optional
	AccessLevelSelector *v1.Selector `json:"accessLevelSelector,omitempty" tf:"-"`

	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DevicePolicy []AccessLevelConditionDevicePolicyParameters `json:"devicePolicy,omitempty" tf:"device_policy,omitempty"`

	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	// +kubebuilder:validation:Optional
	IPSubnetworks []*string `json:"ipSubnetworks,omitempty" tf:"ip_subnetworks,omitempty"`

	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: user:{emailid}, serviceAccount:{emailid}
	// +kubebuilder:validation:Optional
	Members []*string `json:"members,omitempty" tf:"members,omitempty"`

	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	// +kubebuilder:validation:Optional
	Negate *bool `json:"negate,omitempty" tf:"negate,omitempty"`

	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	// +kubebuilder:validation:Optional
	Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"`

	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	// +kubebuilder:validation:Optional
	RequiredAccessLevels []*string `json:"requiredAccessLevels,omitempty" tf:"required_access_levels,omitempty"`

	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with ip_subnetworks.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	VPCNetworkSources []AccessLevelConditionVPCNetworkSourcesParameters `json:"vpcNetworkSources,omitempty" tf:"vpc_network_sources,omitempty"`
}

func (*AccessLevelConditionParameters) DeepCopy

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

func (*AccessLevelConditionParameters) DeepCopyInto

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

type AccessLevelConditionSpec

type AccessLevelConditionSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     AccessLevelConditionParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider AccessLevelConditionInitParameters `json:"initProvider,omitempty"`
}

AccessLevelConditionSpec defines the desired state of AccessLevelCondition

func (*AccessLevelConditionSpec) DeepCopy

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

func (*AccessLevelConditionSpec) DeepCopyInto

func (in *AccessLevelConditionSpec) DeepCopyInto(out *AccessLevelConditionSpec)

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

type AccessLevelConditionStatus

type AccessLevelConditionStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        AccessLevelConditionObservation `json:"atProvider,omitempty"`
}

AccessLevelConditionStatus defines the observed state of AccessLevelCondition.

func (*AccessLevelConditionStatus) DeepCopy

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

func (*AccessLevelConditionStatus) DeepCopyInto

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

type AccessLevelConditionVPCNetworkSourcesInitParameters added in v1.0.0

type AccessLevelConditionVPCNetworkSourcesInitParameters struct {

	// Sub networks within a VPC network.
	// Structure is documented below.
	VPCSubnetwork []VPCNetworkSourcesVPCSubnetworkInitParameters `json:"vpcSubnetwork,omitempty" tf:"vpc_subnetwork,omitempty"`
}

func (*AccessLevelConditionVPCNetworkSourcesInitParameters) DeepCopy added in v1.0.0

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

func (*AccessLevelConditionVPCNetworkSourcesInitParameters) DeepCopyInto added in v1.0.0

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

type AccessLevelConditionVPCNetworkSourcesObservation added in v1.0.0

type AccessLevelConditionVPCNetworkSourcesObservation struct {

	// Sub networks within a VPC network.
	// Structure is documented below.
	VPCSubnetwork []VPCNetworkSourcesVPCSubnetworkObservation `json:"vpcSubnetwork,omitempty" tf:"vpc_subnetwork,omitempty"`
}

func (*AccessLevelConditionVPCNetworkSourcesObservation) DeepCopy added in v1.0.0

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

func (*AccessLevelConditionVPCNetworkSourcesObservation) DeepCopyInto added in v1.0.0

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

type AccessLevelConditionVPCNetworkSourcesParameters added in v1.0.0

type AccessLevelConditionVPCNetworkSourcesParameters struct {

	// Sub networks within a VPC network.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	VPCSubnetwork []VPCNetworkSourcesVPCSubnetworkParameters `json:"vpcSubnetwork,omitempty" tf:"vpc_subnetwork,omitempty"`
}

func (*AccessLevelConditionVPCNetworkSourcesParameters) DeepCopy added in v1.0.0

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

func (*AccessLevelConditionVPCNetworkSourcesParameters) DeepCopyInto added in v1.0.0

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

type AccessLevelInitParameters

type AccessLevelInitParameters struct {

	// A set of predefined conditions for the access level and a combining function.
	// Structure is documented below.
	Basic []BasicInitParameters `json:"basic,omitempty" tf:"basic,omitempty"`

	// Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request.
	// See CEL spec at: https://github.com/google/cel-spec.
	// Structure is documented below.
	Custom []CustomInitParameters `json:"custom,omitempty" tf:"custom,omitempty"`

	// Description of the AccessLevel and its use. Does not affect behavior.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Resource name for the Access Level. The short_name component must begin
	// with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The AccessPolicy this AccessLevel lives in.
	// Format: accessPolicies/{policy_id}
	Parent *string `json:"parent,omitempty" tf:"parent,omitempty"`

	// Human readable title. Must be unique within the Policy.
	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*AccessLevelInitParameters) DeepCopy

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

func (*AccessLevelInitParameters) DeepCopyInto

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

type AccessLevelList

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

AccessLevelList contains a list of AccessLevels

func (*AccessLevelList) DeepCopy

func (in *AccessLevelList) DeepCopy() *AccessLevelList

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

func (*AccessLevelList) DeepCopyInto

func (in *AccessLevelList) DeepCopyInto(out *AccessLevelList)

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

func (*AccessLevelList) DeepCopyObject

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

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

func (*AccessLevelList) GetItems

func (l *AccessLevelList) GetItems() []resource.Managed

GetItems of this AccessLevelList.

type AccessLevelObservation

type AccessLevelObservation struct {

	// A set of predefined conditions for the access level and a combining function.
	// Structure is documented below.
	Basic []BasicObservation `json:"basic,omitempty" tf:"basic,omitempty"`

	// Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request.
	// See CEL spec at: https://github.com/google/cel-spec.
	// Structure is documented below.
	Custom []CustomObservation `json:"custom,omitempty" tf:"custom,omitempty"`

	// Description of the AccessLevel and its use. Does not affect behavior.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// an identifier for the resource with format {{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Resource name for the Access Level. The short_name component must begin
	// with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The AccessPolicy this AccessLevel lives in.
	// Format: accessPolicies/{policy_id}
	Parent *string `json:"parent,omitempty" tf:"parent,omitempty"`

	// Human readable title. Must be unique within the Policy.
	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*AccessLevelObservation) DeepCopy

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

func (*AccessLevelObservation) DeepCopyInto

func (in *AccessLevelObservation) DeepCopyInto(out *AccessLevelObservation)

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

type AccessLevelParameters

type AccessLevelParameters struct {

	// A set of predefined conditions for the access level and a combining function.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Basic []BasicParameters `json:"basic,omitempty" tf:"basic,omitempty"`

	// Custom access level conditions are set using the Cloud Common Expression Language to represent the necessary conditions for the level to apply to a request.
	// See CEL spec at: https://github.com/google/cel-spec.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Custom []CustomParameters `json:"custom,omitempty" tf:"custom,omitempty"`

	// Description of the AccessLevel and its use. Does not affect behavior.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Resource name for the Access Level. The short_name component must begin
	// with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The AccessPolicy this AccessLevel lives in.
	// Format: accessPolicies/{policy_id}
	// +kubebuilder:validation:Optional
	Parent *string `json:"parent,omitempty" tf:"parent,omitempty"`

	// Human readable title. Must be unique within the Policy.
	// +kubebuilder:validation:Optional
	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*AccessLevelParameters) DeepCopy

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

func (*AccessLevelParameters) DeepCopyInto

func (in *AccessLevelParameters) DeepCopyInto(out *AccessLevelParameters)

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

type AccessLevelSpec

type AccessLevelSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     AccessLevelParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider AccessLevelInitParameters `json:"initProvider,omitempty"`
}

AccessLevelSpec defines the desired state of AccessLevel

func (*AccessLevelSpec) DeepCopy

func (in *AccessLevelSpec) DeepCopy() *AccessLevelSpec

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

func (*AccessLevelSpec) DeepCopyInto

func (in *AccessLevelSpec) DeepCopyInto(out *AccessLevelSpec)

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

type AccessLevelStatus

type AccessLevelStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        AccessLevelObservation `json:"atProvider,omitempty"`
}

AccessLevelStatus defines the observed state of AccessLevel.

func (*AccessLevelStatus) DeepCopy

func (in *AccessLevelStatus) DeepCopy() *AccessLevelStatus

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

func (*AccessLevelStatus) DeepCopyInto

func (in *AccessLevelStatus) DeepCopyInto(out *AccessLevelStatus)

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

type AccessPolicy

type AccessPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.parent) || (has(self.initProvider) && has(self.initProvider.parent))",message="spec.forProvider.parent is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.title) || (has(self.initProvider) && has(self.initProvider.title))",message="spec.forProvider.title is a required parameter"
	Spec   AccessPolicySpec   `json:"spec"`
	Status AccessPolicyStatus `json:"status,omitempty"`
}

AccessPolicy is the Schema for the AccessPolicys API. AccessPolicy is a container for AccessLevels (which define the necessary attributes to use GCP services) and ServicePerimeters (which define regions of services able to freely pass data within a perimeter). +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*AccessPolicy) DeepCopy

func (in *AccessPolicy) DeepCopy() *AccessPolicy

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

func (*AccessPolicy) DeepCopyInto

func (in *AccessPolicy) DeepCopyInto(out *AccessPolicy)

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

func (*AccessPolicy) DeepCopyObject

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

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

func (*AccessPolicy) GetCondition

func (mg *AccessPolicy) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this AccessPolicy.

func (*AccessPolicy) GetConnectionDetailsMapping

func (tr *AccessPolicy) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this AccessPolicy

func (*AccessPolicy) GetDeletionPolicy

func (mg *AccessPolicy) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this AccessPolicy.

func (*AccessPolicy) GetID

func (tr *AccessPolicy) GetID() string

GetID returns ID of underlying Terraform resource of this AccessPolicy

func (*AccessPolicy) GetInitParameters

func (tr *AccessPolicy) GetInitParameters() (map[string]any, error)

GetInitParameters of this AccessPolicy

func (*AccessPolicy) GetManagementPolicies

func (mg *AccessPolicy) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this AccessPolicy.

func (*AccessPolicy) GetMergedParameters added in v0.40.0

func (tr *AccessPolicy) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this AccessPolicy

func (*AccessPolicy) GetObservation

func (tr *AccessPolicy) GetObservation() (map[string]any, error)

GetObservation of this AccessPolicy

func (*AccessPolicy) GetParameters

func (tr *AccessPolicy) GetParameters() (map[string]any, error)

GetParameters of this AccessPolicy

func (*AccessPolicy) GetProviderConfigReference

func (mg *AccessPolicy) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this AccessPolicy.

func (*AccessPolicy) GetPublishConnectionDetailsTo

func (mg *AccessPolicy) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this AccessPolicy.

func (*AccessPolicy) GetTerraformResourceType

func (mg *AccessPolicy) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this AccessPolicy

func (*AccessPolicy) GetTerraformSchemaVersion

func (tr *AccessPolicy) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*AccessPolicy) GetWriteConnectionSecretToReference

func (mg *AccessPolicy) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this AccessPolicy.

func (*AccessPolicy) Hub added in v0.41.2

func (tr *AccessPolicy) Hub()

Hub marks this type as a conversion hub.

func (*AccessPolicy) LateInitialize

func (tr *AccessPolicy) LateInitialize(attrs []byte) (bool, error)

LateInitialize this AccessPolicy using its observed tfState. returns True if there are any spec changes for the resource.

func (*AccessPolicy) SetConditions

func (mg *AccessPolicy) SetConditions(c ...xpv1.Condition)

SetConditions of this AccessPolicy.

func (*AccessPolicy) SetDeletionPolicy

func (mg *AccessPolicy) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this AccessPolicy.

func (*AccessPolicy) SetManagementPolicies

func (mg *AccessPolicy) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this AccessPolicy.

func (*AccessPolicy) SetObservation

func (tr *AccessPolicy) SetObservation(obs map[string]any) error

SetObservation for this AccessPolicy

func (*AccessPolicy) SetParameters

func (tr *AccessPolicy) SetParameters(params map[string]any) error

SetParameters for this AccessPolicy

func (*AccessPolicy) SetProviderConfigReference

func (mg *AccessPolicy) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this AccessPolicy.

func (*AccessPolicy) SetPublishConnectionDetailsTo

func (mg *AccessPolicy) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this AccessPolicy.

func (*AccessPolicy) SetWriteConnectionSecretToReference

func (mg *AccessPolicy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this AccessPolicy.

type AccessPolicyIAMMember

type AccessPolicyIAMMember struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.member) || (has(self.initProvider) && has(self.initProvider.member))",message="spec.forProvider.member is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.role) || (has(self.initProvider) && has(self.initProvider.role))",message="spec.forProvider.role is a required parameter"
	Spec   AccessPolicyIAMMemberSpec   `json:"spec"`
	Status AccessPolicyIAMMemberStatus `json:"status,omitempty"`
}

AccessPolicyIAMMember is the Schema for the AccessPolicyIAMMembers API. <no value> +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*AccessPolicyIAMMember) ConvertFrom added in v1.2.0

func (tr *AccessPolicyIAMMember) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts from the hub type to the AccessPolicyIAMMember type.

func (*AccessPolicyIAMMember) ConvertTo added in v1.2.0

func (tr *AccessPolicyIAMMember) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this AccessPolicyIAMMember to the hub type.

func (*AccessPolicyIAMMember) DeepCopy

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

func (*AccessPolicyIAMMember) DeepCopyInto

func (in *AccessPolicyIAMMember) DeepCopyInto(out *AccessPolicyIAMMember)

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

func (*AccessPolicyIAMMember) DeepCopyObject

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

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

func (*AccessPolicyIAMMember) GetCondition

func (mg *AccessPolicyIAMMember) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) GetConnectionDetailsMapping

func (tr *AccessPolicyIAMMember) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this AccessPolicyIAMMember

func (*AccessPolicyIAMMember) GetDeletionPolicy

func (mg *AccessPolicyIAMMember) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) GetID

func (tr *AccessPolicyIAMMember) GetID() string

GetID returns ID of underlying Terraform resource of this AccessPolicyIAMMember

func (*AccessPolicyIAMMember) GetInitParameters

func (tr *AccessPolicyIAMMember) GetInitParameters() (map[string]any, error)

GetInitParameters of this AccessPolicyIAMMember

func (*AccessPolicyIAMMember) GetManagementPolicies

func (mg *AccessPolicyIAMMember) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) GetMergedParameters added in v0.40.0

func (tr *AccessPolicyIAMMember) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this AccessPolicyIAMMember

func (*AccessPolicyIAMMember) GetObservation

func (tr *AccessPolicyIAMMember) GetObservation() (map[string]any, error)

GetObservation of this AccessPolicyIAMMember

func (*AccessPolicyIAMMember) GetParameters

func (tr *AccessPolicyIAMMember) GetParameters() (map[string]any, error)

GetParameters of this AccessPolicyIAMMember

func (*AccessPolicyIAMMember) GetProviderConfigReference

func (mg *AccessPolicyIAMMember) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) GetPublishConnectionDetailsTo

func (mg *AccessPolicyIAMMember) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) GetTerraformResourceType

func (mg *AccessPolicyIAMMember) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this AccessPolicyIAMMember

func (*AccessPolicyIAMMember) GetTerraformSchemaVersion

func (tr *AccessPolicyIAMMember) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*AccessPolicyIAMMember) GetWriteConnectionSecretToReference

func (mg *AccessPolicyIAMMember) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) LateInitialize

func (tr *AccessPolicyIAMMember) LateInitialize(attrs []byte) (bool, error)

LateInitialize this AccessPolicyIAMMember using its observed tfState. returns True if there are any spec changes for the resource.

func (*AccessPolicyIAMMember) SetConditions

func (mg *AccessPolicyIAMMember) SetConditions(c ...xpv1.Condition)

SetConditions of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) SetDeletionPolicy

func (mg *AccessPolicyIAMMember) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) SetManagementPolicies

func (mg *AccessPolicyIAMMember) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) SetObservation

func (tr *AccessPolicyIAMMember) SetObservation(obs map[string]any) error

SetObservation for this AccessPolicyIAMMember

func (*AccessPolicyIAMMember) SetParameters

func (tr *AccessPolicyIAMMember) SetParameters(params map[string]any) error

SetParameters for this AccessPolicyIAMMember

func (*AccessPolicyIAMMember) SetProviderConfigReference

func (mg *AccessPolicyIAMMember) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) SetPublishConnectionDetailsTo

func (mg *AccessPolicyIAMMember) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this AccessPolicyIAMMember.

func (*AccessPolicyIAMMember) SetWriteConnectionSecretToReference

func (mg *AccessPolicyIAMMember) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this AccessPolicyIAMMember.

type AccessPolicyIAMMemberInitParameters

type AccessPolicyIAMMemberInitParameters struct {
	Condition []ConditionInitParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*AccessPolicyIAMMemberInitParameters) DeepCopy

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

func (*AccessPolicyIAMMemberInitParameters) DeepCopyInto

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

type AccessPolicyIAMMemberList

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

AccessPolicyIAMMemberList contains a list of AccessPolicyIAMMembers

func (*AccessPolicyIAMMemberList) DeepCopy

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

func (*AccessPolicyIAMMemberList) DeepCopyInto

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

func (*AccessPolicyIAMMemberList) DeepCopyObject

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

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

func (*AccessPolicyIAMMemberList) GetItems

func (l *AccessPolicyIAMMemberList) GetItems() []resource.Managed

GetItems of this AccessPolicyIAMMemberList.

type AccessPolicyIAMMemberObservation

type AccessPolicyIAMMemberObservation struct {
	Condition []ConditionObservation `json:"condition,omitempty" tf:"condition,omitempty"`

	Etag *string `json:"etag,omitempty" tf:"etag,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*AccessPolicyIAMMemberObservation) DeepCopy

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

func (*AccessPolicyIAMMemberObservation) DeepCopyInto

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

type AccessPolicyIAMMemberParameters

type AccessPolicyIAMMemberParameters struct {

	// +kubebuilder:validation:Optional
	Condition []ConditionParameters `json:"condition,omitempty" tf:"condition,omitempty"`

	// +kubebuilder:validation:Optional
	Member *string `json:"member,omitempty" tf:"member,omitempty"`

	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// +kubebuilder:validation:Optional
	Role *string `json:"role,omitempty" tf:"role,omitempty"`
}

func (*AccessPolicyIAMMemberParameters) DeepCopy

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

func (*AccessPolicyIAMMemberParameters) DeepCopyInto

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

type AccessPolicyIAMMemberSpec

type AccessPolicyIAMMemberSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     AccessPolicyIAMMemberParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider AccessPolicyIAMMemberInitParameters `json:"initProvider,omitempty"`
}

AccessPolicyIAMMemberSpec defines the desired state of AccessPolicyIAMMember

func (*AccessPolicyIAMMemberSpec) DeepCopy

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

func (*AccessPolicyIAMMemberSpec) DeepCopyInto

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

type AccessPolicyIAMMemberStatus

type AccessPolicyIAMMemberStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        AccessPolicyIAMMemberObservation `json:"atProvider,omitempty"`
}

AccessPolicyIAMMemberStatus defines the observed state of AccessPolicyIAMMember.

func (*AccessPolicyIAMMemberStatus) DeepCopy

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

func (*AccessPolicyIAMMemberStatus) DeepCopyInto

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

type AccessPolicyInitParameters

type AccessPolicyInitParameters struct {

	// The parent of this AccessPolicy in the Cloud Resource Hierarchy.
	// Format: 'organizations/{{organization_id}}'
	Parent *string `json:"parent,omitempty" tf:"parent,omitempty"`

	// Folder or project on which this policy is applicable.
	// Format: 'folders/{{folder_id}}' or 'projects/{{project_number}}'
	Scopes []*string `json:"scopes,omitempty" tf:"scopes,omitempty"`

	// Human readable title. Does not affect behavior.
	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*AccessPolicyInitParameters) DeepCopy

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

func (*AccessPolicyInitParameters) DeepCopyInto

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

type AccessPolicyList

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

AccessPolicyList contains a list of AccessPolicys

func (*AccessPolicyList) DeepCopy

func (in *AccessPolicyList) DeepCopy() *AccessPolicyList

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

func (*AccessPolicyList) DeepCopyInto

func (in *AccessPolicyList) DeepCopyInto(out *AccessPolicyList)

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

func (*AccessPolicyList) DeepCopyObject

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

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

func (*AccessPolicyList) GetItems

func (l *AccessPolicyList) GetItems() []resource.Managed

GetItems of this AccessPolicyList.

type AccessPolicyObservation

type AccessPolicyObservation struct {

	// Time the AccessPolicy was created in UTC.
	CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"`

	// an identifier for the resource with format {{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Resource name of the AccessPolicy. Format: '{{policy_id}}'
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The parent of this AccessPolicy in the Cloud Resource Hierarchy.
	// Format: 'organizations/{{organization_id}}'
	Parent *string `json:"parent,omitempty" tf:"parent,omitempty"`

	// Folder or project on which this policy is applicable.
	// Format: 'folders/{{folder_id}}' or 'projects/{{project_number}}'
	Scopes []*string `json:"scopes,omitempty" tf:"scopes,omitempty"`

	// Human readable title. Does not affect behavior.
	Title *string `json:"title,omitempty" tf:"title,omitempty"`

	// Time the AccessPolicy was updated in UTC.
	UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"`
}

func (*AccessPolicyObservation) DeepCopy

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

func (*AccessPolicyObservation) DeepCopyInto

func (in *AccessPolicyObservation) DeepCopyInto(out *AccessPolicyObservation)

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

type AccessPolicyParameters

type AccessPolicyParameters struct {

	// The parent of this AccessPolicy in the Cloud Resource Hierarchy.
	// Format: 'organizations/{{organization_id}}'
	// +kubebuilder:validation:Optional
	Parent *string `json:"parent,omitempty" tf:"parent,omitempty"`

	// Folder or project on which this policy is applicable.
	// Format: 'folders/{{folder_id}}' or 'projects/{{project_number}}'
	// +kubebuilder:validation:Optional
	Scopes []*string `json:"scopes,omitempty" tf:"scopes,omitempty"`

	// Human readable title. Does not affect behavior.
	// +kubebuilder:validation:Optional
	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*AccessPolicyParameters) DeepCopy

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

func (*AccessPolicyParameters) DeepCopyInto

func (in *AccessPolicyParameters) DeepCopyInto(out *AccessPolicyParameters)

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

type AccessPolicySpec

type AccessPolicySpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     AccessPolicyParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider AccessPolicyInitParameters `json:"initProvider,omitempty"`
}

AccessPolicySpec defines the desired state of AccessPolicy

func (*AccessPolicySpec) DeepCopy

func (in *AccessPolicySpec) DeepCopy() *AccessPolicySpec

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

func (*AccessPolicySpec) DeepCopyInto

func (in *AccessPolicySpec) DeepCopyInto(out *AccessPolicySpec)

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

type AccessPolicyStatus

type AccessPolicyStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        AccessPolicyObservation `json:"atProvider,omitempty"`
}

AccessPolicyStatus defines the observed state of AccessPolicy.

func (*AccessPolicyStatus) DeepCopy

func (in *AccessPolicyStatus) DeepCopy() *AccessPolicyStatus

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

func (*AccessPolicyStatus) DeepCopyInto

func (in *AccessPolicyStatus) DeepCopyInto(out *AccessPolicyStatus)

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

type BasicInitParameters

type BasicInitParameters struct {

	// How the conditions list should be combined to determine if a request
	// is granted this AccessLevel. If AND is used, each Condition in
	// conditions must be satisfied for the AccessLevel to be applied. If
	// OR is used, at least one Condition in conditions must be satisfied
	// for the AccessLevel to be applied.
	// Default value is AND.
	// Possible values are: AND, OR.
	CombiningFunction *string `json:"combiningFunction,omitempty" tf:"combining_function,omitempty"`

	// A set of requirements for the AccessLevel to be granted.
	// Structure is documented below.
	Conditions []ConditionsInitParameters `json:"conditions,omitempty" tf:"conditions,omitempty"`
}

func (*BasicInitParameters) DeepCopy

func (in *BasicInitParameters) DeepCopy() *BasicInitParameters

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

func (*BasicInitParameters) DeepCopyInto

func (in *BasicInitParameters) DeepCopyInto(out *BasicInitParameters)

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

type BasicObservation

type BasicObservation struct {

	// How the conditions list should be combined to determine if a request
	// is granted this AccessLevel. If AND is used, each Condition in
	// conditions must be satisfied for the AccessLevel to be applied. If
	// OR is used, at least one Condition in conditions must be satisfied
	// for the AccessLevel to be applied.
	// Default value is AND.
	// Possible values are: AND, OR.
	CombiningFunction *string `json:"combiningFunction,omitempty" tf:"combining_function,omitempty"`

	// A set of requirements for the AccessLevel to be granted.
	// Structure is documented below.
	Conditions []ConditionsObservation `json:"conditions,omitempty" tf:"conditions,omitempty"`
}

func (*BasicObservation) DeepCopy

func (in *BasicObservation) DeepCopy() *BasicObservation

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

func (*BasicObservation) DeepCopyInto

func (in *BasicObservation) DeepCopyInto(out *BasicObservation)

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

type BasicParameters

type BasicParameters struct {

	// How the conditions list should be combined to determine if a request
	// is granted this AccessLevel. If AND is used, each Condition in
	// conditions must be satisfied for the AccessLevel to be applied. If
	// OR is used, at least one Condition in conditions must be satisfied
	// for the AccessLevel to be applied.
	// Default value is AND.
	// Possible values are: AND, OR.
	// +kubebuilder:validation:Optional
	CombiningFunction *string `json:"combiningFunction,omitempty" tf:"combining_function,omitempty"`

	// A set of requirements for the AccessLevel to be granted.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Conditions []ConditionsParameters `json:"conditions" tf:"conditions,omitempty"`
}

func (*BasicParameters) DeepCopy

func (in *BasicParameters) DeepCopy() *BasicParameters

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

func (*BasicParameters) DeepCopyInto

func (in *BasicParameters) DeepCopyInto(out *BasicParameters)

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

type ConditionInitParameters

type ConditionInitParameters struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*ConditionInitParameters) DeepCopy

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

func (*ConditionInitParameters) DeepCopyInto

func (in *ConditionInitParameters) DeepCopyInto(out *ConditionInitParameters)

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

type ConditionObservation

type ConditionObservation struct {
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*ConditionObservation) DeepCopy

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

func (*ConditionObservation) DeepCopyInto

func (in *ConditionObservation) DeepCopyInto(out *ConditionObservation)

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

type ConditionParameters

type ConditionParameters struct {

	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// +kubebuilder:validation:Optional
	Expression *string `json:"expression" tf:"expression,omitempty"`

	// +kubebuilder:validation:Optional
	Title *string `json:"title" tf:"title,omitempty"`
}

func (*ConditionParameters) DeepCopy

func (in *ConditionParameters) DeepCopy() *ConditionParameters

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

func (*ConditionParameters) DeepCopyInto

func (in *ConditionParameters) DeepCopyInto(out *ConditionParameters)

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

type ConditionsInitParameters

type ConditionsInitParameters struct {

	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy []DevicePolicyInitParameters `json:"devicePolicy,omitempty" tf:"device_policy,omitempty"`

	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IPSubnetworks []*string `json:"ipSubnetworks,omitempty" tf:"ip_subnetworks,omitempty"`

	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: user:{emailid}, serviceAccount:{emailid}
	Members []*string `json:"members,omitempty" tf:"members,omitempty"`

	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate *bool `json:"negate,omitempty" tf:"negate,omitempty"`

	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"`

	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels []*string `json:"requiredAccessLevels,omitempty" tf:"required_access_levels,omitempty"`

	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with ip_subnetworks.
	// Structure is documented below.
	VPCNetworkSources []VPCNetworkSourcesInitParameters `json:"vpcNetworkSources,omitempty" tf:"vpc_network_sources,omitempty"`
}

func (*ConditionsInitParameters) DeepCopy

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

func (*ConditionsInitParameters) DeepCopyInto

func (in *ConditionsInitParameters) DeepCopyInto(out *ConditionsInitParameters)

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

type ConditionsObservation

type ConditionsObservation struct {

	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	DevicePolicy []DevicePolicyObservation `json:"devicePolicy,omitempty" tf:"device_policy,omitempty"`

	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	IPSubnetworks []*string `json:"ipSubnetworks,omitempty" tf:"ip_subnetworks,omitempty"`

	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: user:{emailid}, serviceAccount:{emailid}
	Members []*string `json:"members,omitempty" tf:"members,omitempty"`

	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	Negate *bool `json:"negate,omitempty" tf:"negate,omitempty"`

	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"`

	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	RequiredAccessLevels []*string `json:"requiredAccessLevels,omitempty" tf:"required_access_levels,omitempty"`

	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with ip_subnetworks.
	// Structure is documented below.
	VPCNetworkSources []VPCNetworkSourcesObservation `json:"vpcNetworkSources,omitempty" tf:"vpc_network_sources,omitempty"`
}

func (*ConditionsObservation) DeepCopy

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

func (*ConditionsObservation) DeepCopyInto

func (in *ConditionsObservation) DeepCopyInto(out *ConditionsObservation)

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

type ConditionsParameters

type ConditionsParameters struct {

	// Device specific restrictions, all restrictions must hold for
	// the Condition to be true. If not specified, all devices are
	// allowed.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	DevicePolicy []DevicePolicyParameters `json:"devicePolicy,omitempty" tf:"device_policy,omitempty"`

	// A list of CIDR block IP subnetwork specification. May be IPv4
	// or IPv6.
	// Note that for a CIDR IP address block, the specified IP address
	// portion must be properly truncated (i.e. all the host bits must
	// be zero) or the input is considered malformed. For example,
	// "192.0.2.0/24" is accepted but "192.0.2.1/24" is not. Similarly,
	// for IPv6, "2001:db8::/32" is accepted whereas "2001:db8::1/32"
	// is not. The originating IP of a request must be in one of the
	// listed subnets in order for this Condition to be true.
	// If empty, all IP addresses are allowed.
	// +kubebuilder:validation:Optional
	IPSubnetworks []*string `json:"ipSubnetworks,omitempty" tf:"ip_subnetworks,omitempty"`

	// An allowed list of members (users, service accounts).
	// Using groups is not supported yet.
	// The signed-in user originating the request must be a part of one
	// of the provided members. If not specified, a request may come
	// from any user (logged in/not logged in, not present in any
	// groups, etc.).
	// Formats: user:{emailid}, serviceAccount:{emailid}
	// +kubebuilder:validation:Optional
	Members []*string `json:"members,omitempty" tf:"members,omitempty"`

	// Whether to negate the Condition. If true, the Condition becomes
	// a NAND over its non-empty fields, each field must be false for
	// the Condition overall to be satisfied. Defaults to false.
	// +kubebuilder:validation:Optional
	Negate *bool `json:"negate,omitempty" tf:"negate,omitempty"`

	// The request must originate from one of the provided
	// countries/regions.
	// Format: A valid ISO 3166-1 alpha-2 code.
	// +kubebuilder:validation:Optional
	Regions []*string `json:"regions,omitempty" tf:"regions,omitempty"`

	// A list of other access levels defined in the same Policy,
	// referenced by resource name. Referencing an AccessLevel which
	// does not exist is an error. All access levels listed must be
	// granted for the Condition to be true.
	// Format: accessPolicies/{policy_id}/accessLevels/{short_name}
	// +kubebuilder:validation:Optional
	RequiredAccessLevels []*string `json:"requiredAccessLevels,omitempty" tf:"required_access_levels,omitempty"`

	// The request must originate from one of the provided VPC networks in Google Cloud. Cannot specify this field together with ip_subnetworks.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	VPCNetworkSources []VPCNetworkSourcesParameters `json:"vpcNetworkSources,omitempty" tf:"vpc_network_sources,omitempty"`
}

func (*ConditionsParameters) DeepCopy

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

func (*ConditionsParameters) DeepCopyInto

func (in *ConditionsParameters) DeepCopyInto(out *ConditionsParameters)

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

type CustomInitParameters

type CustomInitParameters struct {

	// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
	// This page details the objects and attributes that are used to the build the CEL expressions for
	// custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
	// Structure is documented below.
	Expr []ExprInitParameters `json:"expr,omitempty" tf:"expr,omitempty"`
}

func (*CustomInitParameters) DeepCopy

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

func (*CustomInitParameters) DeepCopyInto

func (in *CustomInitParameters) DeepCopyInto(out *CustomInitParameters)

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

type CustomObservation

type CustomObservation struct {

	// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
	// This page details the objects and attributes that are used to the build the CEL expressions for
	// custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
	// Structure is documented below.
	Expr []ExprObservation `json:"expr,omitempty" tf:"expr,omitempty"`
}

func (*CustomObservation) DeepCopy

func (in *CustomObservation) DeepCopy() *CustomObservation

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

func (*CustomObservation) DeepCopyInto

func (in *CustomObservation) DeepCopyInto(out *CustomObservation)

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

type CustomParameters

type CustomParameters struct {

	// Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
	// This page details the objects and attributes that are used to the build the CEL expressions for
	// custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Expr []ExprParameters `json:"expr" tf:"expr,omitempty"`
}

func (*CustomParameters) DeepCopy

func (in *CustomParameters) DeepCopy() *CustomParameters

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

func (*CustomParameters) DeepCopyInto

func (in *CustomParameters) DeepCopyInto(out *CustomParameters)

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

type DevicePolicyInitParameters

type DevicePolicyInitParameters struct {

	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of: MANAGEMENT_UNSPECIFIED, NONE, BASIC, COMPLETE.
	AllowedDeviceManagementLevels []*string `json:"allowedDeviceManagementLevels,omitempty" tf:"allowed_device_management_levels,omitempty"`

	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of: ENCRYPTION_UNSPECIFIED, ENCRYPTION_UNSUPPORTED, UNENCRYPTED, ENCRYPTED.
	AllowedEncryptionStatuses []*string `json:"allowedEncryptionStatuses,omitempty" tf:"allowed_encryption_statuses,omitempty"`

	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	OsConstraints []OsConstraintsInitParameters `json:"osConstraints,omitempty" tf:"os_constraints,omitempty"`

	// Whether the device needs to be approved by the customer admin.
	RequireAdminApproval *bool `json:"requireAdminApproval,omitempty" tf:"require_admin_approval,omitempty"`

	// Whether the device needs to be corp owned.
	RequireCorpOwned *bool `json:"requireCorpOwned,omitempty" tf:"require_corp_owned,omitempty"`

	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	RequireScreenLock *bool `json:"requireScreenLock,omitempty" tf:"require_screen_lock,omitempty"`
}

func (*DevicePolicyInitParameters) DeepCopy

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

func (*DevicePolicyInitParameters) DeepCopyInto

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

type DevicePolicyObservation

type DevicePolicyObservation struct {

	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of: MANAGEMENT_UNSPECIFIED, NONE, BASIC, COMPLETE.
	AllowedDeviceManagementLevels []*string `json:"allowedDeviceManagementLevels,omitempty" tf:"allowed_device_management_levels,omitempty"`

	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of: ENCRYPTION_UNSPECIFIED, ENCRYPTION_UNSUPPORTED, UNENCRYPTED, ENCRYPTED.
	AllowedEncryptionStatuses []*string `json:"allowedEncryptionStatuses,omitempty" tf:"allowed_encryption_statuses,omitempty"`

	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	OsConstraints []OsConstraintsObservation `json:"osConstraints,omitempty" tf:"os_constraints,omitempty"`

	// Whether the device needs to be approved by the customer admin.
	RequireAdminApproval *bool `json:"requireAdminApproval,omitempty" tf:"require_admin_approval,omitempty"`

	// Whether the device needs to be corp owned.
	RequireCorpOwned *bool `json:"requireCorpOwned,omitempty" tf:"require_corp_owned,omitempty"`

	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	RequireScreenLock *bool `json:"requireScreenLock,omitempty" tf:"require_screen_lock,omitempty"`
}

func (*DevicePolicyObservation) DeepCopy

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

func (*DevicePolicyObservation) DeepCopyInto

func (in *DevicePolicyObservation) DeepCopyInto(out *DevicePolicyObservation)

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

type DevicePolicyOsConstraintsInitParameters

type DevicePolicyOsConstraintsInitParameters struct {

	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	MinimumVersion *string `json:"minimumVersion,omitempty" tf:"minimum_version,omitempty"`

	// The operating system type of the device.
	// Possible values are: OS_UNSPECIFIED, DESKTOP_MAC, DESKTOP_WINDOWS, DESKTOP_LINUX, DESKTOP_CHROME_OS, ANDROID, IOS.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`
}

func (*DevicePolicyOsConstraintsInitParameters) DeepCopy

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

func (*DevicePolicyOsConstraintsInitParameters) DeepCopyInto

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

type DevicePolicyOsConstraintsObservation

type DevicePolicyOsConstraintsObservation struct {

	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	MinimumVersion *string `json:"minimumVersion,omitempty" tf:"minimum_version,omitempty"`

	// The operating system type of the device.
	// Possible values are: OS_UNSPECIFIED, DESKTOP_MAC, DESKTOP_WINDOWS, DESKTOP_LINUX, DESKTOP_CHROME_OS, ANDROID, IOS.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`
}

func (*DevicePolicyOsConstraintsObservation) DeepCopy

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

func (*DevicePolicyOsConstraintsObservation) DeepCopyInto

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

type DevicePolicyOsConstraintsParameters

type DevicePolicyOsConstraintsParameters struct {

	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	// +kubebuilder:validation:Optional
	MinimumVersion *string `json:"minimumVersion,omitempty" tf:"minimum_version,omitempty"`

	// The operating system type of the device.
	// Possible values are: OS_UNSPECIFIED, DESKTOP_MAC, DESKTOP_WINDOWS, DESKTOP_LINUX, DESKTOP_CHROME_OS, ANDROID, IOS.
	// +kubebuilder:validation:Optional
	OsType *string `json:"osType" tf:"os_type,omitempty"`
}

func (*DevicePolicyOsConstraintsParameters) DeepCopy

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

func (*DevicePolicyOsConstraintsParameters) DeepCopyInto

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

type DevicePolicyParameters

type DevicePolicyParameters struct {

	// A list of allowed device management levels.
	// An empty list allows all management levels.
	// Each value may be one of: MANAGEMENT_UNSPECIFIED, NONE, BASIC, COMPLETE.
	// +kubebuilder:validation:Optional
	AllowedDeviceManagementLevels []*string `json:"allowedDeviceManagementLevels,omitempty" tf:"allowed_device_management_levels,omitempty"`

	// A list of allowed encryptions statuses.
	// An empty list allows all statuses.
	// Each value may be one of: ENCRYPTION_UNSPECIFIED, ENCRYPTION_UNSUPPORTED, UNENCRYPTED, ENCRYPTED.
	// +kubebuilder:validation:Optional
	AllowedEncryptionStatuses []*string `json:"allowedEncryptionStatuses,omitempty" tf:"allowed_encryption_statuses,omitempty"`

	// A list of allowed OS versions.
	// An empty list allows all types and all versions.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	OsConstraints []OsConstraintsParameters `json:"osConstraints,omitempty" tf:"os_constraints,omitempty"`

	// Whether the device needs to be approved by the customer admin.
	// +kubebuilder:validation:Optional
	RequireAdminApproval *bool `json:"requireAdminApproval,omitempty" tf:"require_admin_approval,omitempty"`

	// Whether the device needs to be corp owned.
	// +kubebuilder:validation:Optional
	RequireCorpOwned *bool `json:"requireCorpOwned,omitempty" tf:"require_corp_owned,omitempty"`

	// Whether or not screenlock is required for the DevicePolicy
	// to be true. Defaults to false.
	// +kubebuilder:validation:Optional
	RequireScreenLock *bool `json:"requireScreenLock,omitempty" tf:"require_screen_lock,omitempty"`
}

func (*DevicePolicyParameters) DeepCopy

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

func (*DevicePolicyParameters) DeepCopyInto

func (in *DevicePolicyParameters) DeepCopyInto(out *DevicePolicyParameters)

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

type EgressFromInitParameters

type EgressFromInitParameters struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Whether to enforce traffic restrictions based on sources field. If the sources field is non-empty, then this field must be set to SOURCE_RESTRICTION_ENABLED.
	// Possible values are: SOURCE_RESTRICTION_UNSPECIFIED, SOURCE_RESTRICTION_ENABLED, SOURCE_RESTRICTION_DISABLED.
	SourceRestriction *string `json:"sourceRestriction,omitempty" tf:"source_restriction,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	Sources []SourcesInitParameters `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*EgressFromInitParameters) DeepCopy

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

func (*EgressFromInitParameters) DeepCopyInto

func (in *EgressFromInitParameters) DeepCopyInto(out *EgressFromInitParameters)

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

type EgressFromObservation

type EgressFromObservation struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Whether to enforce traffic restrictions based on sources field. If the sources field is non-empty, then this field must be set to SOURCE_RESTRICTION_ENABLED.
	// Possible values are: SOURCE_RESTRICTION_UNSPECIFIED, SOURCE_RESTRICTION_ENABLED, SOURCE_RESTRICTION_DISABLED.
	SourceRestriction *string `json:"sourceRestriction,omitempty" tf:"source_restriction,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	Sources []SourcesObservation `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*EgressFromObservation) DeepCopy

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

func (*EgressFromObservation) DeepCopyInto

func (in *EgressFromObservation) DeepCopyInto(out *EgressFromObservation)

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

type EgressFromParameters

type EgressFromParameters struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +kubebuilder:validation:Optional
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	// +kubebuilder:validation:Optional
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Whether to enforce traffic restrictions based on sources field. If the sources field is non-empty, then this field must be set to SOURCE_RESTRICTION_ENABLED.
	// Possible values are: SOURCE_RESTRICTION_UNSPECIFIED, SOURCE_RESTRICTION_ENABLED, SOURCE_RESTRICTION_DISABLED.
	// +kubebuilder:validation:Optional
	SourceRestriction *string `json:"sourceRestriction,omitempty" tf:"source_restriction,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Sources []SourcesParameters `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*EgressFromParameters) DeepCopy

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

func (*EgressFromParameters) DeepCopyInto

func (in *EgressFromParameters) DeepCopyInto(out *EgressFromParameters)

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

type EgressFromSourcesInitParameters added in v1.0.0

type EgressFromSourcesInitParameters struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`
}

func (*EgressFromSourcesInitParameters) DeepCopy added in v1.0.0

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

func (*EgressFromSourcesInitParameters) DeepCopyInto added in v1.0.0

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

type EgressFromSourcesObservation added in v1.0.0

type EgressFromSourcesObservation struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`
}

func (*EgressFromSourcesObservation) DeepCopy added in v1.0.0

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

func (*EgressFromSourcesObservation) DeepCopyInto added in v1.0.0

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

type EgressFromSourcesParameters added in v1.0.0

type EgressFromSourcesParameters struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	// +kubebuilder:validation:Optional
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`
}

func (*EgressFromSourcesParameters) DeepCopy added in v1.0.0

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

func (*EgressFromSourcesParameters) DeepCopyInto added in v1.0.0

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

type EgressPoliciesEgressFromInitParameters

type EgressPoliciesEgressFromInitParameters struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Whether to enforce traffic restrictions based on sources field. If the sources field is non-empty, then this field must be set to SOURCE_RESTRICTION_ENABLED.
	// Possible values are: SOURCE_RESTRICTION_UNSPECIFIED, SOURCE_RESTRICTION_ENABLED, SOURCE_RESTRICTION_DISABLED.
	SourceRestriction *string `json:"sourceRestriction,omitempty" tf:"source_restriction,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	Sources []EgressFromSourcesInitParameters `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*EgressPoliciesEgressFromInitParameters) DeepCopy

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

func (*EgressPoliciesEgressFromInitParameters) DeepCopyInto

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

type EgressPoliciesEgressFromObservation

type EgressPoliciesEgressFromObservation struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Whether to enforce traffic restrictions based on sources field. If the sources field is non-empty, then this field must be set to SOURCE_RESTRICTION_ENABLED.
	// Possible values are: SOURCE_RESTRICTION_UNSPECIFIED, SOURCE_RESTRICTION_ENABLED, SOURCE_RESTRICTION_DISABLED.
	SourceRestriction *string `json:"sourceRestriction,omitempty" tf:"source_restriction,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	Sources []EgressFromSourcesObservation `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*EgressPoliciesEgressFromObservation) DeepCopy

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

func (*EgressPoliciesEgressFromObservation) DeepCopyInto

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

type EgressPoliciesEgressFromParameters

type EgressPoliciesEgressFromParameters struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +kubebuilder:validation:Optional
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	// +kubebuilder:validation:Optional
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Whether to enforce traffic restrictions based on sources field. If the sources field is non-empty, then this field must be set to SOURCE_RESTRICTION_ENABLED.
	// Possible values are: SOURCE_RESTRICTION_UNSPECIFIED, SOURCE_RESTRICTION_ENABLED, SOURCE_RESTRICTION_DISABLED.
	// +kubebuilder:validation:Optional
	SourceRestriction *string `json:"sourceRestriction,omitempty" tf:"source_restriction,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Sources []EgressFromSourcesParameters `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*EgressPoliciesEgressFromParameters) DeepCopy

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

func (*EgressPoliciesEgressFromParameters) DeepCopyInto

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

type EgressPoliciesEgressToInitParameters

type EgressPoliciesEgressToInitParameters struct {

	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	// +listType=set
	ExternalResources []*string `json:"externalResources,omitempty" tf:"external_resources,omitempty"`

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	Operations []EgressToOperationsInitParameters `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*EgressPoliciesEgressToInitParameters) DeepCopy

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

func (*EgressPoliciesEgressToInitParameters) DeepCopyInto

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

type EgressPoliciesEgressToObservation

type EgressPoliciesEgressToObservation struct {

	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	// +listType=set
	ExternalResources []*string `json:"externalResources,omitempty" tf:"external_resources,omitempty"`

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	Operations []EgressToOperationsObservation `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*EgressPoliciesEgressToObservation) DeepCopy

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

func (*EgressPoliciesEgressToObservation) DeepCopyInto

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

type EgressPoliciesEgressToParameters

type EgressPoliciesEgressToParameters struct {

	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	// +kubebuilder:validation:Optional
	// +listType=set
	ExternalResources []*string `json:"externalResources,omitempty" tf:"external_resources,omitempty"`

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Operations []EgressToOperationsParameters `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +kubebuilder:validation:Optional
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*EgressPoliciesEgressToParameters) DeepCopy

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

func (*EgressPoliciesEgressToParameters) DeepCopyInto

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

type EgressPoliciesInitParameters

type EgressPoliciesInitParameters struct {

	// Defines conditions on the source of a request causing this EgressPolicy to apply.
	// Structure is documented below.
	EgressFrom []EgressFromInitParameters `json:"egressFrom,omitempty" tf:"egress_from,omitempty"`

	// Defines the conditions on the ApiOperation and destination resources that
	// cause this EgressPolicy to apply.
	// Structure is documented below.
	EgressTo []EgressToInitParameters `json:"egressTo,omitempty" tf:"egress_to,omitempty"`
}

func (*EgressPoliciesInitParameters) DeepCopy

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

func (*EgressPoliciesInitParameters) DeepCopyInto

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

type EgressPoliciesObservation

type EgressPoliciesObservation struct {

	// Defines conditions on the source of a request causing this EgressPolicy to apply.
	// Structure is documented below.
	EgressFrom []EgressFromObservation `json:"egressFrom,omitempty" tf:"egress_from,omitempty"`

	// Defines the conditions on the ApiOperation and destination resources that
	// cause this EgressPolicy to apply.
	// Structure is documented below.
	EgressTo []EgressToObservation `json:"egressTo,omitempty" tf:"egress_to,omitempty"`
}

func (*EgressPoliciesObservation) DeepCopy

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

func (*EgressPoliciesObservation) DeepCopyInto

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

type EgressPoliciesParameters

type EgressPoliciesParameters struct {

	// Defines conditions on the source of a request causing this EgressPolicy to apply.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	EgressFrom []EgressFromParameters `json:"egressFrom,omitempty" tf:"egress_from,omitempty"`

	// Defines the conditions on the ApiOperation and destination resources that
	// cause this EgressPolicy to apply.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	EgressTo []EgressToParameters `json:"egressTo,omitempty" tf:"egress_to,omitempty"`
}

func (*EgressPoliciesParameters) DeepCopy

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

func (*EgressPoliciesParameters) DeepCopyInto

func (in *EgressPoliciesParameters) DeepCopyInto(out *EgressPoliciesParameters)

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

type EgressToInitParameters

type EgressToInitParameters struct {

	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	// +listType=set
	ExternalResources []*string `json:"externalResources,omitempty" tf:"external_resources,omitempty"`

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	Operations []OperationsInitParameters `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*EgressToInitParameters) DeepCopy

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

func (*EgressToInitParameters) DeepCopyInto

func (in *EgressToInitParameters) DeepCopyInto(out *EgressToInitParameters)

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

type EgressToObservation

type EgressToObservation struct {

	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	// +listType=set
	ExternalResources []*string `json:"externalResources,omitempty" tf:"external_resources,omitempty"`

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	Operations []OperationsObservation `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*EgressToObservation) DeepCopy

func (in *EgressToObservation) DeepCopy() *EgressToObservation

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

func (*EgressToObservation) DeepCopyInto

func (in *EgressToObservation) DeepCopyInto(out *EgressToObservation)

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

type EgressToOperationsInitParameters

type EgressToOperationsInitParameters struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	MethodSelectors []EgressToOperationsMethodSelectorsInitParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*EgressToOperationsInitParameters) DeepCopy

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

func (*EgressToOperationsInitParameters) DeepCopyInto

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

type EgressToOperationsMethodSelectorsInitParameters

type EgressToOperationsMethodSelectorsInitParameters struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*EgressToOperationsMethodSelectorsInitParameters) DeepCopy

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

func (*EgressToOperationsMethodSelectorsInitParameters) DeepCopyInto

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

type EgressToOperationsMethodSelectorsObservation

type EgressToOperationsMethodSelectorsObservation struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*EgressToOperationsMethodSelectorsObservation) DeepCopy

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

func (*EgressToOperationsMethodSelectorsObservation) DeepCopyInto

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

type EgressToOperationsMethodSelectorsParameters

type EgressToOperationsMethodSelectorsParameters struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	// +kubebuilder:validation:Optional
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	// +kubebuilder:validation:Optional
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*EgressToOperationsMethodSelectorsParameters) DeepCopy

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

func (*EgressToOperationsMethodSelectorsParameters) DeepCopyInto

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

type EgressToOperationsObservation

type EgressToOperationsObservation struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	MethodSelectors []EgressToOperationsMethodSelectorsObservation `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*EgressToOperationsObservation) DeepCopy

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

func (*EgressToOperationsObservation) DeepCopyInto

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

type EgressToOperationsParameters

type EgressToOperationsParameters struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MethodSelectors []EgressToOperationsMethodSelectorsParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	// +kubebuilder:validation:Optional
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*EgressToOperationsParameters) DeepCopy

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

func (*EgressToOperationsParameters) DeepCopyInto

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

type EgressToParameters

type EgressToParameters struct {

	// A list of external resources that are allowed to be accessed. A request
	// matches if it contains an external resource in this list (Example:
	// s3://bucket/path). Currently '*' is not allowed.
	// +kubebuilder:validation:Optional
	// +listType=set
	ExternalResources []*string `json:"externalResources,omitempty" tf:"external_resources,omitempty"`

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Operations []OperationsParameters `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +kubebuilder:validation:Optional
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*EgressToParameters) DeepCopy

func (in *EgressToParameters) DeepCopy() *EgressToParameters

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

func (*EgressToParameters) DeepCopyInto

func (in *EgressToParameters) DeepCopyInto(out *EgressToParameters)

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

type ExprInitParameters

type ExprInitParameters struct {

	// Description of the expression
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Textual representation of an expression in Common Expression Language syntax.
	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	// String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Title for the expression, i.e. a short string describing its purpose.
	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*ExprInitParameters) DeepCopy

func (in *ExprInitParameters) DeepCopy() *ExprInitParameters

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

func (*ExprInitParameters) DeepCopyInto

func (in *ExprInitParameters) DeepCopyInto(out *ExprInitParameters)

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

type ExprObservation

type ExprObservation struct {

	// Description of the expression
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Textual representation of an expression in Common Expression Language syntax.
	Expression *string `json:"expression,omitempty" tf:"expression,omitempty"`

	// String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Title for the expression, i.e. a short string describing its purpose.
	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*ExprObservation) DeepCopy

func (in *ExprObservation) DeepCopy() *ExprObservation

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

func (*ExprObservation) DeepCopyInto

func (in *ExprObservation) DeepCopyInto(out *ExprObservation)

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

type ExprParameters

type ExprParameters struct {

	// Description of the expression
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Textual representation of an expression in Common Expression Language syntax.
	// +kubebuilder:validation:Optional
	Expression *string `json:"expression" tf:"expression,omitempty"`

	// String indicating the location of the expression for error reporting, e.g. a file name and a position in the file
	// +kubebuilder:validation:Optional
	Location *string `json:"location,omitempty" tf:"location,omitempty"`

	// Title for the expression, i.e. a short string describing its purpose.
	// +kubebuilder:validation:Optional
	Title *string `json:"title,omitempty" tf:"title,omitempty"`
}

func (*ExprParameters) DeepCopy

func (in *ExprParameters) DeepCopy() *ExprParameters

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

func (*ExprParameters) DeepCopyInto

func (in *ExprParameters) DeepCopyInto(out *ExprParameters)

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

type IngressFromInitParameters

type IngressFromInitParameters struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	Sources []IngressFromSourcesInitParameters `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*IngressFromInitParameters) DeepCopy

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

func (*IngressFromInitParameters) DeepCopyInto

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

type IngressFromObservation

type IngressFromObservation struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	Sources []IngressFromSourcesObservation `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*IngressFromObservation) DeepCopy

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

func (*IngressFromObservation) DeepCopyInto

func (in *IngressFromObservation) DeepCopyInto(out *IngressFromObservation)

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

type IngressFromParameters

type IngressFromParameters struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +kubebuilder:validation:Optional
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	// +kubebuilder:validation:Optional
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Sources []IngressFromSourcesParameters `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*IngressFromParameters) DeepCopy

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

func (*IngressFromParameters) DeepCopyInto

func (in *IngressFromParameters) DeepCopyInto(out *IngressFromParameters)

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

type IngressFromSourcesInitParameters

type IngressFromSourcesInitParameters struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`

	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format projects/{project_number}
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. * is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`
}

func (*IngressFromSourcesInitParameters) DeepCopy

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

func (*IngressFromSourcesInitParameters) DeepCopyInto

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

type IngressFromSourcesObservation

type IngressFromSourcesObservation struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`

	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format projects/{project_number}
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. * is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`
}

func (*IngressFromSourcesObservation) DeepCopy

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

func (*IngressFromSourcesObservation) DeepCopyInto

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

type IngressFromSourcesParameters

type IngressFromSourcesParameters struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	// +kubebuilder:validation:Optional
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`

	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format projects/{project_number}
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. * is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	// +kubebuilder:validation:Optional
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`
}

func (*IngressFromSourcesParameters) DeepCopy

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

func (*IngressFromSourcesParameters) DeepCopyInto

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

type IngressPoliciesIngressFromInitParameters

type IngressPoliciesIngressFromInitParameters struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	Sources []IngressPoliciesIngressFromSourcesInitParameters `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*IngressPoliciesIngressFromInitParameters) DeepCopy

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

func (*IngressPoliciesIngressFromInitParameters) DeepCopyInto

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

type IngressPoliciesIngressFromObservation

type IngressPoliciesIngressFromObservation struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	Sources []IngressPoliciesIngressFromSourcesObservation `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*IngressPoliciesIngressFromObservation) DeepCopy

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

func (*IngressPoliciesIngressFromObservation) DeepCopyInto

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

type IngressPoliciesIngressFromParameters

type IngressPoliciesIngressFromParameters struct {

	// A list of identities that are allowed access through this ingress policy.
	// Should be in the format of email address. The email address should represent
	// individual user or service account only.
	// +kubebuilder:validation:Optional
	// +listType=set
	Identities []*string `json:"identities,omitempty" tf:"identities,omitempty"`

	// Specifies the type of identities that are allowed access from outside the
	// perimeter. If left unspecified, then members of identities field will be
	// allowed access.
	// Possible values are: IDENTITY_TYPE_UNSPECIFIED, ANY_IDENTITY, ANY_USER_ACCOUNT, ANY_SERVICE_ACCOUNT.
	// +kubebuilder:validation:Optional
	IdentityType *string `json:"identityType,omitempty" tf:"identity_type,omitempty"`

	// Sources that this IngressPolicy authorizes access from.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Sources []IngressPoliciesIngressFromSourcesParameters `json:"sources,omitempty" tf:"sources,omitempty"`
}

func (*IngressPoliciesIngressFromParameters) DeepCopy

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

func (*IngressPoliciesIngressFromParameters) DeepCopyInto

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

type IngressPoliciesIngressFromSourcesInitParameters added in v1.0.0

type IngressPoliciesIngressFromSourcesInitParameters struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.AccessLevel
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false)
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`

	// Reference to a AccessLevel in accesscontextmanager to populate accessLevel.
	// +kubebuilder:validation:Optional
	AccessLevelRef *v1.Reference `json:"accessLevelRef,omitempty" tf:"-"`

	// Selector for a AccessLevel in accesscontextmanager to populate accessLevel.
	// +kubebuilder:validation:Optional
	AccessLevelSelector *v1.Selector `json:"accessLevelSelector,omitempty" tf:"-"`

	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format projects/{project_number}
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. * is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`
}

func (*IngressPoliciesIngressFromSourcesInitParameters) DeepCopy added in v1.0.0

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

func (*IngressPoliciesIngressFromSourcesInitParameters) DeepCopyInto added in v1.0.0

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

type IngressPoliciesIngressFromSourcesObservation added in v1.0.0

type IngressPoliciesIngressFromSourcesObservation struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`

	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format projects/{project_number}
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. * is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`
}

func (*IngressPoliciesIngressFromSourcesObservation) DeepCopy added in v1.0.0

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

func (*IngressPoliciesIngressFromSourcesObservation) DeepCopyInto added in v1.0.0

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

type IngressPoliciesIngressFromSourcesParameters added in v1.0.0

type IngressPoliciesIngressFromSourcesParameters struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.AccessLevel
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false)
	// +kubebuilder:validation:Optional
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`

	// Reference to a AccessLevel in accesscontextmanager to populate accessLevel.
	// +kubebuilder:validation:Optional
	AccessLevelRef *v1.Reference `json:"accessLevelRef,omitempty" tf:"-"`

	// Selector for a AccessLevel in accesscontextmanager to populate accessLevel.
	// +kubebuilder:validation:Optional
	AccessLevelSelector *v1.Selector `json:"accessLevelSelector,omitempty" tf:"-"`

	// A Google Cloud resource that is allowed to ingress the perimeter.
	// Requests from these resources will be allowed to access perimeter data.
	// Currently only projects are allowed. Format projects/{project_number}
	// The project may be in any Google Cloud organization, not just the
	// organization that the perimeter is defined in. * is not allowed, the case
	// of allowing all Google Cloud resources only is not supported.
	// +kubebuilder:validation:Optional
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`
}

func (*IngressPoliciesIngressFromSourcesParameters) DeepCopy added in v1.0.0

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

func (*IngressPoliciesIngressFromSourcesParameters) DeepCopyInto added in v1.0.0

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

type IngressPoliciesIngressToInitParameters

type IngressPoliciesIngressToInitParameters struct {

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	Operations []IngressPoliciesIngressToOperationsInitParameters `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*IngressPoliciesIngressToInitParameters) DeepCopy

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

func (*IngressPoliciesIngressToInitParameters) DeepCopyInto

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

type IngressPoliciesIngressToObservation

type IngressPoliciesIngressToObservation struct {

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	Operations []IngressPoliciesIngressToOperationsObservation `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*IngressPoliciesIngressToObservation) DeepCopy

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

func (*IngressPoliciesIngressToObservation) DeepCopyInto

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

type IngressPoliciesIngressToOperationsInitParameters

type IngressPoliciesIngressToOperationsInitParameters struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	MethodSelectors []IngressToOperationsMethodSelectorsInitParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*IngressPoliciesIngressToOperationsInitParameters) DeepCopy

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

func (*IngressPoliciesIngressToOperationsInitParameters) DeepCopyInto

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

type IngressPoliciesIngressToOperationsObservation

type IngressPoliciesIngressToOperationsObservation struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	MethodSelectors []IngressToOperationsMethodSelectorsObservation `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*IngressPoliciesIngressToOperationsObservation) DeepCopy

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

func (*IngressPoliciesIngressToOperationsObservation) DeepCopyInto

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

type IngressPoliciesIngressToOperationsParameters

type IngressPoliciesIngressToOperationsParameters struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MethodSelectors []IngressToOperationsMethodSelectorsParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	// +kubebuilder:validation:Optional
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*IngressPoliciesIngressToOperationsParameters) DeepCopy

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

func (*IngressPoliciesIngressToOperationsParameters) DeepCopyInto

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

type IngressPoliciesIngressToParameters

type IngressPoliciesIngressToParameters struct {

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Operations []IngressPoliciesIngressToOperationsParameters `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +kubebuilder:validation:Optional
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*IngressPoliciesIngressToParameters) DeepCopy

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

func (*IngressPoliciesIngressToParameters) DeepCopyInto

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

type IngressPoliciesInitParameters

type IngressPoliciesInitParameters struct {

	// Defines the conditions on the source of a request causing this IngressPolicy
	// to apply.
	// Structure is documented below.
	IngressFrom []IngressFromInitParameters `json:"ingressFrom,omitempty" tf:"ingress_from,omitempty"`

	// Defines the conditions on the ApiOperation and request destination that cause
	// this IngressPolicy to apply.
	// Structure is documented below.
	IngressTo []IngressToInitParameters `json:"ingressTo,omitempty" tf:"ingress_to,omitempty"`
}

func (*IngressPoliciesInitParameters) DeepCopy

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

func (*IngressPoliciesInitParameters) DeepCopyInto

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

type IngressPoliciesObservation

type IngressPoliciesObservation struct {

	// Defines the conditions on the source of a request causing this IngressPolicy
	// to apply.
	// Structure is documented below.
	IngressFrom []IngressFromObservation `json:"ingressFrom,omitempty" tf:"ingress_from,omitempty"`

	// Defines the conditions on the ApiOperation and request destination that cause
	// this IngressPolicy to apply.
	// Structure is documented below.
	IngressTo []IngressToObservation `json:"ingressTo,omitempty" tf:"ingress_to,omitempty"`
}

func (*IngressPoliciesObservation) DeepCopy

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

func (*IngressPoliciesObservation) DeepCopyInto

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

type IngressPoliciesParameters

type IngressPoliciesParameters struct {

	// Defines the conditions on the source of a request causing this IngressPolicy
	// to apply.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	IngressFrom []IngressFromParameters `json:"ingressFrom,omitempty" tf:"ingress_from,omitempty"`

	// Defines the conditions on the ApiOperation and request destination that cause
	// this IngressPolicy to apply.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	IngressTo []IngressToParameters `json:"ingressTo,omitempty" tf:"ingress_to,omitempty"`
}

func (*IngressPoliciesParameters) DeepCopy

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

func (*IngressPoliciesParameters) DeepCopyInto

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

type IngressToInitParameters

type IngressToInitParameters struct {

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	Operations []IngressToOperationsInitParameters `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*IngressToInitParameters) DeepCopy

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

func (*IngressToInitParameters) DeepCopyInto

func (in *IngressToInitParameters) DeepCopyInto(out *IngressToInitParameters)

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

type IngressToObservation

type IngressToObservation struct {

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	Operations []IngressToOperationsObservation `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*IngressToObservation) DeepCopy

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

func (*IngressToObservation) DeepCopyInto

func (in *IngressToObservation) DeepCopyInto(out *IngressToObservation)

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

type IngressToOperationsInitParameters

type IngressToOperationsInitParameters struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	MethodSelectors []OperationsMethodSelectorsInitParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*IngressToOperationsInitParameters) DeepCopy

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

func (*IngressToOperationsInitParameters) DeepCopyInto

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

type IngressToOperationsMethodSelectorsInitParameters

type IngressToOperationsMethodSelectorsInitParameters struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*IngressToOperationsMethodSelectorsInitParameters) DeepCopy

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

func (*IngressToOperationsMethodSelectorsInitParameters) DeepCopyInto

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

type IngressToOperationsMethodSelectorsObservation

type IngressToOperationsMethodSelectorsObservation struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*IngressToOperationsMethodSelectorsObservation) DeepCopy

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

func (*IngressToOperationsMethodSelectorsObservation) DeepCopyInto

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

type IngressToOperationsMethodSelectorsParameters

type IngressToOperationsMethodSelectorsParameters struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	// +kubebuilder:validation:Optional
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	// +kubebuilder:validation:Optional
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*IngressToOperationsMethodSelectorsParameters) DeepCopy

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

func (*IngressToOperationsMethodSelectorsParameters) DeepCopyInto

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

type IngressToOperationsObservation

type IngressToOperationsObservation struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	MethodSelectors []OperationsMethodSelectorsObservation `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*IngressToOperationsObservation) DeepCopy

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

func (*IngressToOperationsObservation) DeepCopyInto

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

type IngressToOperationsParameters

type IngressToOperationsParameters struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MethodSelectors []OperationsMethodSelectorsParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	// +kubebuilder:validation:Optional
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*IngressToOperationsParameters) DeepCopy

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

func (*IngressToOperationsParameters) DeepCopyInto

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

type IngressToParameters

type IngressToParameters struct {

	// A list of ApiOperations the sources specified in corresponding IngressFrom
	// are allowed to perform in this ServicePerimeter.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Operations []IngressToOperationsParameters `json:"operations,omitempty" tf:"operations,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +kubebuilder:validation:Optional
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`
}

func (*IngressToParameters) DeepCopy

func (in *IngressToParameters) DeepCopy() *IngressToParameters

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

func (*IngressToParameters) DeepCopyInto

func (in *IngressToParameters) DeepCopyInto(out *IngressToParameters)

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

type MethodSelectorsInitParameters

type MethodSelectorsInitParameters struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*MethodSelectorsInitParameters) DeepCopy

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

func (*MethodSelectorsInitParameters) DeepCopyInto

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

type MethodSelectorsObservation

type MethodSelectorsObservation struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*MethodSelectorsObservation) DeepCopy

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

func (*MethodSelectorsObservation) DeepCopyInto

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

type MethodSelectorsParameters

type MethodSelectorsParameters struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	// +kubebuilder:validation:Optional
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	// +kubebuilder:validation:Optional
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*MethodSelectorsParameters) DeepCopy

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

func (*MethodSelectorsParameters) DeepCopyInto

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

type OperationsInitParameters

type OperationsInitParameters struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	MethodSelectors []MethodSelectorsInitParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*OperationsInitParameters) DeepCopy

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

func (*OperationsInitParameters) DeepCopyInto

func (in *OperationsInitParameters) DeepCopyInto(out *OperationsInitParameters)

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

type OperationsMethodSelectorsInitParameters

type OperationsMethodSelectorsInitParameters struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*OperationsMethodSelectorsInitParameters) DeepCopy

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

func (*OperationsMethodSelectorsInitParameters) DeepCopyInto

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

type OperationsMethodSelectorsObservation

type OperationsMethodSelectorsObservation struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*OperationsMethodSelectorsObservation) DeepCopy

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

func (*OperationsMethodSelectorsObservation) DeepCopyInto

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

type OperationsMethodSelectorsParameters

type OperationsMethodSelectorsParameters struct {

	// Value for method should be a valid method name for the corresponding
	// serviceName in ApiOperation. If * used as value for method, then
	// ALL methods and permissions are allowed.
	// +kubebuilder:validation:Optional
	Method *string `json:"method,omitempty" tf:"method,omitempty"`

	// Value for permission should be a valid Cloud IAM permission for the
	// corresponding serviceName in ApiOperation.
	// +kubebuilder:validation:Optional
	Permission *string `json:"permission,omitempty" tf:"permission,omitempty"`
}

func (*OperationsMethodSelectorsParameters) DeepCopy

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

func (*OperationsMethodSelectorsParameters) DeepCopyInto

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

type OperationsObservation

type OperationsObservation struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	MethodSelectors []MethodSelectorsObservation `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*OperationsObservation) DeepCopy

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

func (*OperationsObservation) DeepCopyInto

func (in *OperationsObservation) DeepCopyInto(out *OperationsObservation)

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

type OperationsParameters

type OperationsParameters struct {

	// API methods or permissions to allow. Method or permission must belong to
	// the service specified by serviceName field. A single MethodSelector entry
	// with * specified for the method field will allow all methods AND
	// permissions for the service specified in serviceName.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	MethodSelectors []MethodSelectorsParameters `json:"methodSelectors,omitempty" tf:"method_selectors,omitempty"`

	// The name of the API whose methods or permissions the IngressPolicy or
	// EgressPolicy want to allow. A single ApiOperation with serviceName
	// field set to * will allow all methods AND permissions for all services.
	// +kubebuilder:validation:Optional
	ServiceName *string `json:"serviceName,omitempty" tf:"service_name,omitempty"`
}

func (*OperationsParameters) DeepCopy

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

func (*OperationsParameters) DeepCopyInto

func (in *OperationsParameters) DeepCopyInto(out *OperationsParameters)

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

type OsConstraintsInitParameters

type OsConstraintsInitParameters struct {

	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	MinimumVersion *string `json:"minimumVersion,omitempty" tf:"minimum_version,omitempty"`

	// The operating system type of the device.
	// Possible values are: OS_UNSPECIFIED, DESKTOP_MAC, DESKTOP_WINDOWS, DESKTOP_LINUX, DESKTOP_CHROME_OS, ANDROID, IOS.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// If you specify DESKTOP_CHROME_OS for osType, you can optionally include requireVerifiedChromeOs to require Chrome Verified Access.
	RequireVerifiedChromeOs *bool `json:"requireVerifiedChromeOs,omitempty" tf:"require_verified_chrome_os,omitempty"`
}

func (*OsConstraintsInitParameters) DeepCopy

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

func (*OsConstraintsInitParameters) DeepCopyInto

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

type OsConstraintsObservation

type OsConstraintsObservation struct {

	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	MinimumVersion *string `json:"minimumVersion,omitempty" tf:"minimum_version,omitempty"`

	// The operating system type of the device.
	// Possible values are: OS_UNSPECIFIED, DESKTOP_MAC, DESKTOP_WINDOWS, DESKTOP_LINUX, DESKTOP_CHROME_OS, ANDROID, IOS.
	OsType *string `json:"osType,omitempty" tf:"os_type,omitempty"`

	// If you specify DESKTOP_CHROME_OS for osType, you can optionally include requireVerifiedChromeOs to require Chrome Verified Access.
	RequireVerifiedChromeOs *bool `json:"requireVerifiedChromeOs,omitempty" tf:"require_verified_chrome_os,omitempty"`
}

func (*OsConstraintsObservation) DeepCopy

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

func (*OsConstraintsObservation) DeepCopyInto

func (in *OsConstraintsObservation) DeepCopyInto(out *OsConstraintsObservation)

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

type OsConstraintsParameters

type OsConstraintsParameters struct {

	// The minimum allowed OS version. If not set, any version
	// of this OS satisfies the constraint.
	// Format: "major.minor.patch" such as "10.5.301", "9.2.1".
	// +kubebuilder:validation:Optional
	MinimumVersion *string `json:"minimumVersion,omitempty" tf:"minimum_version,omitempty"`

	// The operating system type of the device.
	// Possible values are: OS_UNSPECIFIED, DESKTOP_MAC, DESKTOP_WINDOWS, DESKTOP_LINUX, DESKTOP_CHROME_OS, ANDROID, IOS.
	// +kubebuilder:validation:Optional
	OsType *string `json:"osType" tf:"os_type,omitempty"`

	// If you specify DESKTOP_CHROME_OS for osType, you can optionally include requireVerifiedChromeOs to require Chrome Verified Access.
	// +kubebuilder:validation:Optional
	RequireVerifiedChromeOs *bool `json:"requireVerifiedChromeOs,omitempty" tf:"require_verified_chrome_os,omitempty"`
}

func (*OsConstraintsParameters) DeepCopy

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

func (*OsConstraintsParameters) DeepCopyInto

func (in *OsConstraintsParameters) DeepCopyInto(out *OsConstraintsParameters)

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

type ServicePerimeter

type ServicePerimeter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.parent) || (has(self.initProvider) && has(self.initProvider.parent))",message="spec.forProvider.parent is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.title) || (has(self.initProvider) && has(self.initProvider.title))",message="spec.forProvider.title is a required parameter"
	Spec   ServicePerimeterSpec   `json:"spec"`
	Status ServicePerimeterStatus `json:"status,omitempty"`
}

ServicePerimeter is the Schema for the ServicePerimeters API. ServicePerimeter describes a set of GCP resources which can freely import and export data amongst themselves, but not export outside of the ServicePerimeter. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*ServicePerimeter) ConvertFrom added in v1.2.0

func (tr *ServicePerimeter) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts from the hub type to the ServicePerimeter type.

func (*ServicePerimeter) ConvertTo added in v1.2.0

func (tr *ServicePerimeter) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this ServicePerimeter to the hub type.

func (*ServicePerimeter) DeepCopy

func (in *ServicePerimeter) DeepCopy() *ServicePerimeter

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

func (*ServicePerimeter) DeepCopyInto

func (in *ServicePerimeter) DeepCopyInto(out *ServicePerimeter)

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

func (*ServicePerimeter) DeepCopyObject

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

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

func (*ServicePerimeter) GetCondition

func (mg *ServicePerimeter) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this ServicePerimeter.

func (*ServicePerimeter) GetConnectionDetailsMapping

func (tr *ServicePerimeter) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this ServicePerimeter

func (*ServicePerimeter) GetDeletionPolicy

func (mg *ServicePerimeter) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this ServicePerimeter.

func (*ServicePerimeter) GetID

func (tr *ServicePerimeter) GetID() string

GetID returns ID of underlying Terraform resource of this ServicePerimeter

func (*ServicePerimeter) GetInitParameters

func (tr *ServicePerimeter) GetInitParameters() (map[string]any, error)

GetInitParameters of this ServicePerimeter

func (*ServicePerimeter) GetManagementPolicies

func (mg *ServicePerimeter) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this ServicePerimeter.

func (*ServicePerimeter) GetMergedParameters added in v0.40.0

func (tr *ServicePerimeter) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this ServicePerimeter

func (*ServicePerimeter) GetObservation

func (tr *ServicePerimeter) GetObservation() (map[string]any, error)

GetObservation of this ServicePerimeter

func (*ServicePerimeter) GetParameters

func (tr *ServicePerimeter) GetParameters() (map[string]any, error)

GetParameters of this ServicePerimeter

func (*ServicePerimeter) GetProviderConfigReference

func (mg *ServicePerimeter) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this ServicePerimeter.

func (*ServicePerimeter) GetPublishConnectionDetailsTo

func (mg *ServicePerimeter) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this ServicePerimeter.

func (*ServicePerimeter) GetTerraformResourceType

func (mg *ServicePerimeter) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ServicePerimeter

func (*ServicePerimeter) GetTerraformSchemaVersion

func (tr *ServicePerimeter) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ServicePerimeter) GetWriteConnectionSecretToReference

func (mg *ServicePerimeter) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this ServicePerimeter.

func (*ServicePerimeter) LateInitialize

func (tr *ServicePerimeter) LateInitialize(attrs []byte) (bool, error)

LateInitialize this ServicePerimeter using its observed tfState. returns True if there are any spec changes for the resource.

func (*ServicePerimeter) ResolveReferences

func (mg *ServicePerimeter) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this ServicePerimeter.

func (*ServicePerimeter) SetConditions

func (mg *ServicePerimeter) SetConditions(c ...xpv1.Condition)

SetConditions of this ServicePerimeter.

func (*ServicePerimeter) SetDeletionPolicy

func (mg *ServicePerimeter) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this ServicePerimeter.

func (*ServicePerimeter) SetManagementPolicies

func (mg *ServicePerimeter) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this ServicePerimeter.

func (*ServicePerimeter) SetObservation

func (tr *ServicePerimeter) SetObservation(obs map[string]any) error

SetObservation for this ServicePerimeter

func (*ServicePerimeter) SetParameters

func (tr *ServicePerimeter) SetParameters(params map[string]any) error

SetParameters for this ServicePerimeter

func (*ServicePerimeter) SetProviderConfigReference

func (mg *ServicePerimeter) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this ServicePerimeter.

func (*ServicePerimeter) SetPublishConnectionDetailsTo

func (mg *ServicePerimeter) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this ServicePerimeter.

func (*ServicePerimeter) SetWriteConnectionSecretToReference

func (mg *ServicePerimeter) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this ServicePerimeter.

type ServicePerimeterInitParameters

type ServicePerimeterInitParameters struct {

	// Description of the ServicePerimeter and its use. Does not affect
	// behavior.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Resource name for the ServicePerimeter. The short_name component must
	// begin with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	Parent *string `json:"parent,omitempty" tf:"parent,omitempty"`

	// Specifies the type of the Perimeter. There are two types: regular and
	// bridge. Regular Service Perimeter contains resources, access levels,
	// and restricted services. Every resource can be in at most
	// ONE regular Service Perimeter.
	// In addition to being in a regular service perimeter, a resource can also
	// be in zero or more perimeter bridges. A perimeter bridge only contains
	// resources. Cross project operations are permitted if all effected
	// resources share some perimeter (whether bridge or regular). Perimeter
	// Bridge does not contain access levels or services: those are governed
	// entirely by the regular perimeter that resource is in.
	// Perimeter Bridges are typically useful when building more complex
	// topologies with many independent perimeters that need to share some data
	// with a common perimeter, but should not be able to share data among
	// themselves.
	// Default value is PERIMETER_TYPE_REGULAR.
	// Possible values are: PERIMETER_TYPE_REGULAR, PERIMETER_TYPE_BRIDGE.
	PerimeterType *string `json:"perimeterType,omitempty" tf:"perimeter_type,omitempty"`

	// Proposed (or dry run) ServicePerimeter configuration.
	// This configuration allows to specify and test ServicePerimeter configuration
	// without enforcing actual access restrictions. Only allowed to be set when
	// the useExplicitDryRunSpec flag is set.
	// Structure is documented below.
	Spec []SpecInitParameters `json:"spec,omitempty" tf:"spec,omitempty"`

	// ServicePerimeter configuration. Specifies sets of resources,
	// restricted services and access levels that determine
	// perimeter content and boundaries.
	// Structure is documented below.
	Status []StatusInitParameters `json:"status,omitempty" tf:"status,omitempty"`

	// Human readable title. Must be unique within the Policy.
	Title *string `json:"title,omitempty" tf:"title,omitempty"`

	// Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
	// for all Service Perimeters, and that spec is identical to the status for those
	// Service Perimeters. When this flag is set, it inhibits the generation of the
	// implicit spec, thereby allowing the user to explicitly provide a
	// configuration ("spec") to use in a dry-run version of the Service Perimeter.
	// This allows the user to test changes to the enforced config ("status") without
	// actually enforcing them. This testing is done through analyzing the differences
	// between currently enforced and suggested restrictions. useExplicitDryRunSpec must
	// bet set to True if any of the fields in the spec are set to non-default values.
	UseExplicitDryRunSpec *bool `json:"useExplicitDryRunSpec,omitempty" tf:"use_explicit_dry_run_spec,omitempty"`
}

func (*ServicePerimeterInitParameters) DeepCopy

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

func (*ServicePerimeterInitParameters) DeepCopyInto

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

type ServicePerimeterList

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

ServicePerimeterList contains a list of ServicePerimeters

func (*ServicePerimeterList) DeepCopy

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

func (*ServicePerimeterList) DeepCopyInto

func (in *ServicePerimeterList) DeepCopyInto(out *ServicePerimeterList)

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

func (*ServicePerimeterList) DeepCopyObject

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

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

func (*ServicePerimeterList) GetItems

func (l *ServicePerimeterList) GetItems() []resource.Managed

GetItems of this ServicePerimeterList.

type ServicePerimeterObservation

type ServicePerimeterObservation struct {

	// Time the AccessPolicy was created in UTC.
	CreateTime *string `json:"createTime,omitempty" tf:"create_time,omitempty"`

	// Description of the ServicePerimeter and its use. Does not affect
	// behavior.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// an identifier for the resource with format {{name}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Resource name for the ServicePerimeter. The short_name component must
	// begin with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	Parent *string `json:"parent,omitempty" tf:"parent,omitempty"`

	// Specifies the type of the Perimeter. There are two types: regular and
	// bridge. Regular Service Perimeter contains resources, access levels,
	// and restricted services. Every resource can be in at most
	// ONE regular Service Perimeter.
	// In addition to being in a regular service perimeter, a resource can also
	// be in zero or more perimeter bridges. A perimeter bridge only contains
	// resources. Cross project operations are permitted if all effected
	// resources share some perimeter (whether bridge or regular). Perimeter
	// Bridge does not contain access levels or services: those are governed
	// entirely by the regular perimeter that resource is in.
	// Perimeter Bridges are typically useful when building more complex
	// topologies with many independent perimeters that need to share some data
	// with a common perimeter, but should not be able to share data among
	// themselves.
	// Default value is PERIMETER_TYPE_REGULAR.
	// Possible values are: PERIMETER_TYPE_REGULAR, PERIMETER_TYPE_BRIDGE.
	PerimeterType *string `json:"perimeterType,omitempty" tf:"perimeter_type,omitempty"`

	// Proposed (or dry run) ServicePerimeter configuration.
	// This configuration allows to specify and test ServicePerimeter configuration
	// without enforcing actual access restrictions. Only allowed to be set when
	// the useExplicitDryRunSpec flag is set.
	// Structure is documented below.
	Spec []SpecObservation `json:"spec,omitempty" tf:"spec,omitempty"`

	// ServicePerimeter configuration. Specifies sets of resources,
	// restricted services and access levels that determine
	// perimeter content and boundaries.
	// Structure is documented below.
	Status []StatusObservation `json:"status,omitempty" tf:"status,omitempty"`

	// Human readable title. Must be unique within the Policy.
	Title *string `json:"title,omitempty" tf:"title,omitempty"`

	// Time the AccessPolicy was updated in UTC.
	UpdateTime *string `json:"updateTime,omitempty" tf:"update_time,omitempty"`

	// Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
	// for all Service Perimeters, and that spec is identical to the status for those
	// Service Perimeters. When this flag is set, it inhibits the generation of the
	// implicit spec, thereby allowing the user to explicitly provide a
	// configuration ("spec") to use in a dry-run version of the Service Perimeter.
	// This allows the user to test changes to the enforced config ("status") without
	// actually enforcing them. This testing is done through analyzing the differences
	// between currently enforced and suggested restrictions. useExplicitDryRunSpec must
	// bet set to True if any of the fields in the spec are set to non-default values.
	UseExplicitDryRunSpec *bool `json:"useExplicitDryRunSpec,omitempty" tf:"use_explicit_dry_run_spec,omitempty"`
}

func (*ServicePerimeterObservation) DeepCopy

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

func (*ServicePerimeterObservation) DeepCopyInto

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

type ServicePerimeterParameters

type ServicePerimeterParameters struct {

	// Description of the ServicePerimeter and its use. Does not affect
	// behavior.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// Resource name for the ServicePerimeter. The short_name component must
	// begin with a letter and only include alphanumeric and '_'.
	// Format: accessPolicies/{policy_id}/servicePerimeters/{short_name}
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The AccessPolicy this ServicePerimeter lives in.
	// Format: accessPolicies/{policy_id}
	// +kubebuilder:validation:Optional
	Parent *string `json:"parent,omitempty" tf:"parent,omitempty"`

	// Specifies the type of the Perimeter. There are two types: regular and
	// bridge. Regular Service Perimeter contains resources, access levels,
	// and restricted services. Every resource can be in at most
	// ONE regular Service Perimeter.
	// In addition to being in a regular service perimeter, a resource can also
	// be in zero or more perimeter bridges. A perimeter bridge only contains
	// resources. Cross project operations are permitted if all effected
	// resources share some perimeter (whether bridge or regular). Perimeter
	// Bridge does not contain access levels or services: those are governed
	// entirely by the regular perimeter that resource is in.
	// Perimeter Bridges are typically useful when building more complex
	// topologies with many independent perimeters that need to share some data
	// with a common perimeter, but should not be able to share data among
	// themselves.
	// Default value is PERIMETER_TYPE_REGULAR.
	// Possible values are: PERIMETER_TYPE_REGULAR, PERIMETER_TYPE_BRIDGE.
	// +kubebuilder:validation:Optional
	PerimeterType *string `json:"perimeterType,omitempty" tf:"perimeter_type,omitempty"`

	// Proposed (or dry run) ServicePerimeter configuration.
	// This configuration allows to specify and test ServicePerimeter configuration
	// without enforcing actual access restrictions. Only allowed to be set when
	// the useExplicitDryRunSpec flag is set.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Spec []SpecParameters `json:"spec,omitempty" tf:"spec,omitempty"`

	// ServicePerimeter configuration. Specifies sets of resources,
	// restricted services and access levels that determine
	// perimeter content and boundaries.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	Status []StatusParameters `json:"status,omitempty" tf:"status,omitempty"`

	// Human readable title. Must be unique within the Policy.
	// +kubebuilder:validation:Optional
	Title *string `json:"title,omitempty" tf:"title,omitempty"`

	// Use explicit dry run spec flag. Ordinarily, a dry-run spec implicitly exists
	// for all Service Perimeters, and that spec is identical to the status for those
	// Service Perimeters. When this flag is set, it inhibits the generation of the
	// implicit spec, thereby allowing the user to explicitly provide a
	// configuration ("spec") to use in a dry-run version of the Service Perimeter.
	// This allows the user to test changes to the enforced config ("status") without
	// actually enforcing them. This testing is done through analyzing the differences
	// between currently enforced and suggested restrictions. useExplicitDryRunSpec must
	// bet set to True if any of the fields in the spec are set to non-default values.
	// +kubebuilder:validation:Optional
	UseExplicitDryRunSpec *bool `json:"useExplicitDryRunSpec,omitempty" tf:"use_explicit_dry_run_spec,omitempty"`
}

func (*ServicePerimeterParameters) DeepCopy

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

func (*ServicePerimeterParameters) DeepCopyInto

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

type ServicePerimeterResource

type ServicePerimeterResource struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.resource) || (has(self.initProvider) && has(self.initProvider.resource))",message="spec.forProvider.resource is a required parameter"
	Spec   ServicePerimeterResourceSpec   `json:"spec"`
	Status ServicePerimeterResourceStatus `json:"status,omitempty"`
}

ServicePerimeterResource is the Schema for the ServicePerimeterResources API. Allows configuring a single GCP resource that should be inside the 'status' block of a service perimeter. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,gcp}

func (*ServicePerimeterResource) DeepCopy

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

func (*ServicePerimeterResource) DeepCopyInto

func (in *ServicePerimeterResource) DeepCopyInto(out *ServicePerimeterResource)

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

func (*ServicePerimeterResource) DeepCopyObject

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

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

func (*ServicePerimeterResource) GetCondition

GetCondition of this ServicePerimeterResource.

func (*ServicePerimeterResource) GetConnectionDetailsMapping

func (tr *ServicePerimeterResource) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this ServicePerimeterResource

func (*ServicePerimeterResource) GetDeletionPolicy

func (mg *ServicePerimeterResource) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this ServicePerimeterResource.

func (*ServicePerimeterResource) GetID

func (tr *ServicePerimeterResource) GetID() string

GetID returns ID of underlying Terraform resource of this ServicePerimeterResource

func (*ServicePerimeterResource) GetInitParameters

func (tr *ServicePerimeterResource) GetInitParameters() (map[string]any, error)

GetInitParameters of this ServicePerimeterResource

func (*ServicePerimeterResource) GetManagementPolicies

func (mg *ServicePerimeterResource) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this ServicePerimeterResource.

func (*ServicePerimeterResource) GetMergedParameters added in v0.40.0

func (tr *ServicePerimeterResource) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this ServicePerimeterResource

func (*ServicePerimeterResource) GetObservation

func (tr *ServicePerimeterResource) GetObservation() (map[string]any, error)

GetObservation of this ServicePerimeterResource

func (*ServicePerimeterResource) GetParameters

func (tr *ServicePerimeterResource) GetParameters() (map[string]any, error)

GetParameters of this ServicePerimeterResource

func (*ServicePerimeterResource) GetProviderConfigReference

func (mg *ServicePerimeterResource) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this ServicePerimeterResource.

func (*ServicePerimeterResource) GetPublishConnectionDetailsTo

func (mg *ServicePerimeterResource) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this ServicePerimeterResource.

func (*ServicePerimeterResource) GetTerraformResourceType

func (mg *ServicePerimeterResource) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this ServicePerimeterResource

func (*ServicePerimeterResource) GetTerraformSchemaVersion

func (tr *ServicePerimeterResource) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*ServicePerimeterResource) GetWriteConnectionSecretToReference

func (mg *ServicePerimeterResource) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this ServicePerimeterResource.

func (*ServicePerimeterResource) Hub added in v0.41.2

func (tr *ServicePerimeterResource) Hub()

Hub marks this type as a conversion hub.

func (*ServicePerimeterResource) LateInitialize

func (tr *ServicePerimeterResource) LateInitialize(attrs []byte) (bool, error)

LateInitialize this ServicePerimeterResource using its observed tfState. returns True if there are any spec changes for the resource.

func (*ServicePerimeterResource) ResolveReferences

func (mg *ServicePerimeterResource) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this ServicePerimeterResource.

func (*ServicePerimeterResource) SetConditions

func (mg *ServicePerimeterResource) SetConditions(c ...xpv1.Condition)

SetConditions of this ServicePerimeterResource.

func (*ServicePerimeterResource) SetDeletionPolicy

func (mg *ServicePerimeterResource) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this ServicePerimeterResource.

func (*ServicePerimeterResource) SetManagementPolicies

func (mg *ServicePerimeterResource) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this ServicePerimeterResource.

func (*ServicePerimeterResource) SetObservation

func (tr *ServicePerimeterResource) SetObservation(obs map[string]any) error

SetObservation for this ServicePerimeterResource

func (*ServicePerimeterResource) SetParameters

func (tr *ServicePerimeterResource) SetParameters(params map[string]any) error

SetParameters for this ServicePerimeterResource

func (*ServicePerimeterResource) SetProviderConfigReference

func (mg *ServicePerimeterResource) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this ServicePerimeterResource.

func (*ServicePerimeterResource) SetPublishConnectionDetailsTo

func (mg *ServicePerimeterResource) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this ServicePerimeterResource.

func (*ServicePerimeterResource) SetWriteConnectionSecretToReference

func (mg *ServicePerimeterResource) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this ServicePerimeterResource.

type ServicePerimeterResourceInitParameters

type ServicePerimeterResourceInitParameters struct {

	// The name of the Service Perimeter to add this resource to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta2.ServicePerimeter
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false)
	PerimeterName *string `json:"perimeterName,omitempty" tf:"perimeter_name,omitempty"`

	// Reference to a ServicePerimeter in accesscontextmanager to populate perimeterName.
	// +kubebuilder:validation:Optional
	PerimeterNameRef *v1.Reference `json:"perimeterNameRef,omitempty" tf:"-"`

	// Selector for a ServicePerimeter in accesscontextmanager to populate perimeterName.
	// +kubebuilder:validation:Optional
	PerimeterNameSelector *v1.Selector `json:"perimeterNameSelector,omitempty" tf:"-"`

	// A GCP resource that is inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`
}

func (*ServicePerimeterResourceInitParameters) DeepCopy

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

func (*ServicePerimeterResourceInitParameters) DeepCopyInto

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

type ServicePerimeterResourceList

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

ServicePerimeterResourceList contains a list of ServicePerimeterResources

func (*ServicePerimeterResourceList) DeepCopy

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

func (*ServicePerimeterResourceList) DeepCopyInto

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

func (*ServicePerimeterResourceList) DeepCopyObject

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

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

func (*ServicePerimeterResourceList) GetItems

GetItems of this ServicePerimeterResourceList.

type ServicePerimeterResourceObservation

type ServicePerimeterResourceObservation struct {

	// an identifier for the resource with format {{perimeter_name}}/{{resource}}
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The name of the Service Perimeter to add this resource to.
	PerimeterName *string `json:"perimeterName,omitempty" tf:"perimeter_name,omitempty"`

	// A GCP resource that is inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`
}

func (*ServicePerimeterResourceObservation) DeepCopy

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

func (*ServicePerimeterResourceObservation) DeepCopyInto

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

type ServicePerimeterResourceParameters

type ServicePerimeterResourceParameters struct {

	// The name of the Service Perimeter to add this resource to.
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta2.ServicePerimeter
	// +crossplane:generate:reference:extractor=github.com/crossplane/upjet/pkg/resource.ExtractParamPath("name",false)
	// +kubebuilder:validation:Optional
	PerimeterName *string `json:"perimeterName,omitempty" tf:"perimeter_name,omitempty"`

	// Reference to a ServicePerimeter in accesscontextmanager to populate perimeterName.
	// +kubebuilder:validation:Optional
	PerimeterNameRef *v1.Reference `json:"perimeterNameRef,omitempty" tf:"-"`

	// Selector for a ServicePerimeter in accesscontextmanager to populate perimeterName.
	// +kubebuilder:validation:Optional
	PerimeterNameSelector *v1.Selector `json:"perimeterNameSelector,omitempty" tf:"-"`

	// A GCP resource that is inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +kubebuilder:validation:Optional
	Resource *string `json:"resource,omitempty" tf:"resource,omitempty"`
}

func (*ServicePerimeterResourceParameters) DeepCopy

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

func (*ServicePerimeterResourceParameters) DeepCopyInto

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

type ServicePerimeterResourceSpec

type ServicePerimeterResourceSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ServicePerimeterResourceParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ServicePerimeterResourceInitParameters `json:"initProvider,omitempty"`
}

ServicePerimeterResourceSpec defines the desired state of ServicePerimeterResource

func (*ServicePerimeterResourceSpec) DeepCopy

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

func (*ServicePerimeterResourceSpec) DeepCopyInto

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

type ServicePerimeterResourceStatus

type ServicePerimeterResourceStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ServicePerimeterResourceObservation `json:"atProvider,omitempty"`
}

ServicePerimeterResourceStatus defines the observed state of ServicePerimeterResource.

func (*ServicePerimeterResourceStatus) DeepCopy

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

func (*ServicePerimeterResourceStatus) DeepCopyInto

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

type ServicePerimeterSpec

type ServicePerimeterSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     ServicePerimeterParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider ServicePerimeterInitParameters `json:"initProvider,omitempty"`
}

ServicePerimeterSpec defines the desired state of ServicePerimeter

func (*ServicePerimeterSpec) DeepCopy

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

func (*ServicePerimeterSpec) DeepCopyInto

func (in *ServicePerimeterSpec) DeepCopyInto(out *ServicePerimeterSpec)

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

type ServicePerimeterStatus

type ServicePerimeterStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        ServicePerimeterObservation `json:"atProvider,omitempty"`
}

ServicePerimeterStatus defines the observed state of ServicePerimeter.

func (*ServicePerimeterStatus) DeepCopy

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

func (*ServicePerimeterStatus) DeepCopyInto

func (in *ServicePerimeterStatus) DeepCopyInto(out *ServicePerimeterStatus)

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

type SourcesInitParameters

type SourcesInitParameters struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`
}

func (*SourcesInitParameters) DeepCopy

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

func (*SourcesInitParameters) DeepCopyInto

func (in *SourcesInitParameters) DeepCopyInto(out *SourcesInitParameters)

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

type SourcesObservation

type SourcesObservation struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`
}

func (*SourcesObservation) DeepCopy

func (in *SourcesObservation) DeepCopy() *SourcesObservation

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

func (*SourcesObservation) DeepCopyInto

func (in *SourcesObservation) DeepCopyInto(out *SourcesObservation)

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

type SourcesParameters

type SourcesParameters struct {

	// An AccessLevel resource name that allow resources within the
	// ServicePerimeters to be accessed from the internet. AccessLevels listed
	// must be in the same policy as this ServicePerimeter. Referencing a nonexistent
	// AccessLevel will cause an error. If no AccessLevel names are listed,
	// resources within the perimeter can only be accessed via Google Cloud calls
	// with request origins within the perimeter.
	// Example accessPolicies/MY_POLICY/accessLevels/MY_LEVEL.
	// If * is specified, then all IngressSources will be allowed.
	// +kubebuilder:validation:Optional
	AccessLevel *string `json:"accessLevel,omitempty" tf:"access_level,omitempty"`
}

func (*SourcesParameters) DeepCopy

func (in *SourcesParameters) DeepCopy() *SourcesParameters

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

func (*SourcesParameters) DeepCopyInto

func (in *SourcesParameters) DeepCopyInto(out *SourcesParameters)

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

type SpecInitParameters

type SpecInitParameters struct {

	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.AccessLevel
	// +listType=set
	AccessLevels []*string `json:"accessLevels,omitempty" tf:"access_levels,omitempty"`

	// References to AccessLevel in accesscontextmanager to populate accessLevels.
	// +kubebuilder:validation:Optional
	AccessLevelsRefs []v1.Reference `json:"accessLevelsRefs,omitempty" tf:"-"`

	// Selector for a list of AccessLevel in accesscontextmanager to populate accessLevels.
	// +kubebuilder:validation:Optional
	AccessLevelsSelector *v1.Selector `json:"accessLevelsSelector,omitempty" tf:"-"`

	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies []EgressPoliciesInitParameters `json:"egressPolicies,omitempty" tf:"egress_policies,omitempty"`

	// List of IngressPolicies to apply to the perimeter. A perimeter may
	// have multiple IngressPolicies, each of which is evaluated
	// separately. Access is granted if any Ingress Policy grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies []IngressPoliciesInitParameters `json:"ingressPolicies,omitempty" tf:"ingress_policies,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`

	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// storage.googleapis.com is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	// +listType=set
	RestrictedServices []*string `json:"restrictedServices,omitempty" tf:"restricted_services,omitempty"`

	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VPCAccessibleServices []VPCAccessibleServicesInitParameters `json:"vpcAccessibleServices,omitempty" tf:"vpc_accessible_services,omitempty"`
}

func (*SpecInitParameters) DeepCopy

func (in *SpecInitParameters) DeepCopy() *SpecInitParameters

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

func (*SpecInitParameters) DeepCopyInto

func (in *SpecInitParameters) DeepCopyInto(out *SpecInitParameters)

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

type SpecObservation

type SpecObservation struct {

	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	// +listType=set
	AccessLevels []*string `json:"accessLevels,omitempty" tf:"access_levels,omitempty"`

	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies []EgressPoliciesObservation `json:"egressPolicies,omitempty" tf:"egress_policies,omitempty"`

	// List of IngressPolicies to apply to the perimeter. A perimeter may
	// have multiple IngressPolicies, each of which is evaluated
	// separately. Access is granted if any Ingress Policy grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies []IngressPoliciesObservation `json:"ingressPolicies,omitempty" tf:"ingress_policies,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`

	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// storage.googleapis.com is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	// +listType=set
	RestrictedServices []*string `json:"restrictedServices,omitempty" tf:"restricted_services,omitempty"`

	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VPCAccessibleServices []VPCAccessibleServicesObservation `json:"vpcAccessibleServices,omitempty" tf:"vpc_accessible_services,omitempty"`
}

func (*SpecObservation) DeepCopy

func (in *SpecObservation) DeepCopy() *SpecObservation

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

func (*SpecObservation) DeepCopyInto

func (in *SpecObservation) DeepCopyInto(out *SpecObservation)

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

type SpecParameters

type SpecParameters struct {

	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.AccessLevel
	// +kubebuilder:validation:Optional
	// +listType=set
	AccessLevels []*string `json:"accessLevels,omitempty" tf:"access_levels,omitempty"`

	// References to AccessLevel in accesscontextmanager to populate accessLevels.
	// +kubebuilder:validation:Optional
	AccessLevelsRefs []v1.Reference `json:"accessLevelsRefs,omitempty" tf:"-"`

	// Selector for a list of AccessLevel in accesscontextmanager to populate accessLevels.
	// +kubebuilder:validation:Optional
	AccessLevelsSelector *v1.Selector `json:"accessLevelsSelector,omitempty" tf:"-"`

	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	EgressPolicies []EgressPoliciesParameters `json:"egressPolicies,omitempty" tf:"egress_policies,omitempty"`

	// List of IngressPolicies to apply to the perimeter. A perimeter may
	// have multiple IngressPolicies, each of which is evaluated
	// separately. Access is granted if any Ingress Policy grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	IngressPolicies []IngressPoliciesParameters `json:"ingressPolicies,omitempty" tf:"ingress_policies,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +kubebuilder:validation:Optional
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`

	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// storage.googleapis.com is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	// +kubebuilder:validation:Optional
	// +listType=set
	RestrictedServices []*string `json:"restrictedServices,omitempty" tf:"restricted_services,omitempty"`

	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	VPCAccessibleServices []VPCAccessibleServicesParameters `json:"vpcAccessibleServices,omitempty" tf:"vpc_accessible_services,omitempty"`
}

func (*SpecParameters) DeepCopy

func (in *SpecParameters) DeepCopy() *SpecParameters

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

func (*SpecParameters) DeepCopyInto

func (in *SpecParameters) DeepCopyInto(out *SpecParameters)

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

type StatusEgressPoliciesInitParameters

type StatusEgressPoliciesInitParameters struct {

	// Defines conditions on the source of a request causing this EgressPolicy to apply.
	// Structure is documented below.
	EgressFrom []EgressPoliciesEgressFromInitParameters `json:"egressFrom,omitempty" tf:"egress_from,omitempty"`

	// Defines the conditions on the ApiOperation and destination resources that
	// cause this EgressPolicy to apply.
	// Structure is documented below.
	EgressTo []EgressPoliciesEgressToInitParameters `json:"egressTo,omitempty" tf:"egress_to,omitempty"`
}

func (*StatusEgressPoliciesInitParameters) DeepCopy

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

func (*StatusEgressPoliciesInitParameters) DeepCopyInto

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

type StatusEgressPoliciesObservation

type StatusEgressPoliciesObservation struct {

	// Defines conditions on the source of a request causing this EgressPolicy to apply.
	// Structure is documented below.
	EgressFrom []EgressPoliciesEgressFromObservation `json:"egressFrom,omitempty" tf:"egress_from,omitempty"`

	// Defines the conditions on the ApiOperation and destination resources that
	// cause this EgressPolicy to apply.
	// Structure is documented below.
	EgressTo []EgressPoliciesEgressToObservation `json:"egressTo,omitempty" tf:"egress_to,omitempty"`
}

func (*StatusEgressPoliciesObservation) DeepCopy

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

func (*StatusEgressPoliciesObservation) DeepCopyInto

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

type StatusEgressPoliciesParameters

type StatusEgressPoliciesParameters struct {

	// Defines conditions on the source of a request causing this EgressPolicy to apply.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	EgressFrom []EgressPoliciesEgressFromParameters `json:"egressFrom,omitempty" tf:"egress_from,omitempty"`

	// Defines the conditions on the ApiOperation and destination resources that
	// cause this EgressPolicy to apply.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	EgressTo []EgressPoliciesEgressToParameters `json:"egressTo,omitempty" tf:"egress_to,omitempty"`
}

func (*StatusEgressPoliciesParameters) DeepCopy

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

func (*StatusEgressPoliciesParameters) DeepCopyInto

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

type StatusIngressPoliciesInitParameters

type StatusIngressPoliciesInitParameters struct {

	// Defines the conditions on the source of a request causing this IngressPolicy
	// to apply.
	// Structure is documented below.
	IngressFrom []IngressPoliciesIngressFromInitParameters `json:"ingressFrom,omitempty" tf:"ingress_from,omitempty"`

	// Defines the conditions on the ApiOperation and request destination that cause
	// this IngressPolicy to apply.
	// Structure is documented below.
	IngressTo []IngressPoliciesIngressToInitParameters `json:"ingressTo,omitempty" tf:"ingress_to,omitempty"`
}

func (*StatusIngressPoliciesInitParameters) DeepCopy

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

func (*StatusIngressPoliciesInitParameters) DeepCopyInto

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

type StatusIngressPoliciesObservation

type StatusIngressPoliciesObservation struct {

	// Defines the conditions on the source of a request causing this IngressPolicy
	// to apply.
	// Structure is documented below.
	IngressFrom []IngressPoliciesIngressFromObservation `json:"ingressFrom,omitempty" tf:"ingress_from,omitempty"`

	// Defines the conditions on the ApiOperation and request destination that cause
	// this IngressPolicy to apply.
	// Structure is documented below.
	IngressTo []IngressPoliciesIngressToObservation `json:"ingressTo,omitempty" tf:"ingress_to,omitempty"`
}

func (*StatusIngressPoliciesObservation) DeepCopy

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

func (*StatusIngressPoliciesObservation) DeepCopyInto

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

type StatusIngressPoliciesParameters

type StatusIngressPoliciesParameters struct {

	// Defines the conditions on the source of a request causing this IngressPolicy
	// to apply.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	IngressFrom []IngressPoliciesIngressFromParameters `json:"ingressFrom,omitempty" tf:"ingress_from,omitempty"`

	// Defines the conditions on the ApiOperation and request destination that cause
	// this IngressPolicy to apply.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	IngressTo []IngressPoliciesIngressToParameters `json:"ingressTo,omitempty" tf:"ingress_to,omitempty"`
}

func (*StatusIngressPoliciesParameters) DeepCopy

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

func (*StatusIngressPoliciesParameters) DeepCopyInto

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

type StatusInitParameters

type StatusInitParameters struct {

	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.AccessLevel
	// +listType=set
	AccessLevels []*string `json:"accessLevels,omitempty" tf:"access_levels,omitempty"`

	// References to AccessLevel in accesscontextmanager to populate accessLevels.
	// +kubebuilder:validation:Optional
	AccessLevelsRefs []v1.Reference `json:"accessLevelsRefs,omitempty" tf:"-"`

	// Selector for a list of AccessLevel in accesscontextmanager to populate accessLevels.
	// +kubebuilder:validation:Optional
	AccessLevelsSelector *v1.Selector `json:"accessLevelsSelector,omitempty" tf:"-"`

	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies []StatusEgressPoliciesInitParameters `json:"egressPolicies,omitempty" tf:"egress_policies,omitempty"`

	// List of IngressPolicies to apply to the perimeter. A perimeter may
	// have multiple IngressPolicies, each of which is evaluated
	// separately. Access is granted if any Ingress Policy grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies []StatusIngressPoliciesInitParameters `json:"ingressPolicies,omitempty" tf:"ingress_policies,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`

	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// storage.googleapis.com is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	// +listType=set
	RestrictedServices []*string `json:"restrictedServices,omitempty" tf:"restricted_services,omitempty"`

	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VPCAccessibleServices []StatusVPCAccessibleServicesInitParameters `json:"vpcAccessibleServices,omitempty" tf:"vpc_accessible_services,omitempty"`
}

func (*StatusInitParameters) DeepCopy

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

func (*StatusInitParameters) DeepCopyInto

func (in *StatusInitParameters) DeepCopyInto(out *StatusInitParameters)

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

type StatusObservation

type StatusObservation struct {

	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	// +listType=set
	AccessLevels []*string `json:"accessLevels,omitempty" tf:"access_levels,omitempty"`

	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	EgressPolicies []StatusEgressPoliciesObservation `json:"egressPolicies,omitempty" tf:"egress_policies,omitempty"`

	// List of IngressPolicies to apply to the perimeter. A perimeter may
	// have multiple IngressPolicies, each of which is evaluated
	// separately. Access is granted if any Ingress Policy grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	IngressPolicies []StatusIngressPoliciesObservation `json:"ingressPolicies,omitempty" tf:"ingress_policies,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`

	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// storage.googleapis.com is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	// +listType=set
	RestrictedServices []*string `json:"restrictedServices,omitempty" tf:"restricted_services,omitempty"`

	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	VPCAccessibleServices []StatusVPCAccessibleServicesObservation `json:"vpcAccessibleServices,omitempty" tf:"vpc_accessible_services,omitempty"`
}

func (*StatusObservation) DeepCopy

func (in *StatusObservation) DeepCopy() *StatusObservation

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

func (*StatusObservation) DeepCopyInto

func (in *StatusObservation) DeepCopyInto(out *StatusObservation)

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

type StatusParameters

type StatusParameters struct {

	// A list of AccessLevel resource names that allow resources within
	// the ServicePerimeter to be accessed from the internet.
	// AccessLevels listed must be in the same policy as this
	// ServicePerimeter. Referencing a nonexistent AccessLevel is a
	// syntax error. If no AccessLevel names are listed, resources within
	// the perimeter can only be accessed via GCP calls with request
	// origins within the perimeter. For Service Perimeter Bridge, must
	// be empty.
	// Format: accessPolicies/{policy_id}/accessLevels/{access_level_name}
	// +crossplane:generate:reference:type=github.com/upbound/provider-gcp/apis/accesscontextmanager/v1beta1.AccessLevel
	// +kubebuilder:validation:Optional
	// +listType=set
	AccessLevels []*string `json:"accessLevels,omitempty" tf:"access_levels,omitempty"`

	// References to AccessLevel in accesscontextmanager to populate accessLevels.
	// +kubebuilder:validation:Optional
	AccessLevelsRefs []v1.Reference `json:"accessLevelsRefs,omitempty" tf:"-"`

	// Selector for a list of AccessLevel in accesscontextmanager to populate accessLevels.
	// +kubebuilder:validation:Optional
	AccessLevelsSelector *v1.Selector `json:"accessLevelsSelector,omitempty" tf:"-"`

	// List of EgressPolicies to apply to the perimeter. A perimeter may
	// have multiple EgressPolicies, each of which is evaluated separately.
	// Access is granted if any EgressPolicy grants it. Must be empty for
	// a perimeter bridge.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	EgressPolicies []StatusEgressPoliciesParameters `json:"egressPolicies,omitempty" tf:"egress_policies,omitempty"`

	// List of IngressPolicies to apply to the perimeter. A perimeter may
	// have multiple IngressPolicies, each of which is evaluated
	// separately. Access is granted if any Ingress Policy grants it.
	// Must be empty for a perimeter bridge.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	IngressPolicies []StatusIngressPoliciesParameters `json:"ingressPolicies,omitempty" tf:"ingress_policies,omitempty"`

	// A list of GCP resources that are inside of the service perimeter.
	// Currently only projects are allowed.
	// Format: projects/{project_number}
	// +kubebuilder:validation:Optional
	// +listType=set
	Resources []*string `json:"resources,omitempty" tf:"resources,omitempty"`

	// GCP services that are subject to the Service Perimeter
	// restrictions. Must contain a list of services. For example, if
	// storage.googleapis.com is specified, access to the storage
	// buckets inside the perimeter must meet the perimeter's access
	// restrictions.
	// +kubebuilder:validation:Optional
	// +listType=set
	RestrictedServices []*string `json:"restrictedServices,omitempty" tf:"restricted_services,omitempty"`

	// Specifies how APIs are allowed to communicate within the Service
	// Perimeter.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	VPCAccessibleServices []StatusVPCAccessibleServicesParameters `json:"vpcAccessibleServices,omitempty" tf:"vpc_accessible_services,omitempty"`
}

func (*StatusParameters) DeepCopy

func (in *StatusParameters) DeepCopy() *StatusParameters

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

func (*StatusParameters) DeepCopyInto

func (in *StatusParameters) DeepCopyInto(out *StatusParameters)

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

type StatusVPCAccessibleServicesInitParameters

type StatusVPCAccessibleServicesInitParameters struct {

	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless enableRestriction is True.
	// +listType=set
	AllowedServices []*string `json:"allowedServices,omitempty" tf:"allowed_services,omitempty"`

	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction *bool `json:"enableRestriction,omitempty" tf:"enable_restriction,omitempty"`
}

func (*StatusVPCAccessibleServicesInitParameters) DeepCopy

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

func (*StatusVPCAccessibleServicesInitParameters) DeepCopyInto

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

type StatusVPCAccessibleServicesObservation

type StatusVPCAccessibleServicesObservation struct {

	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless enableRestriction is True.
	// +listType=set
	AllowedServices []*string `json:"allowedServices,omitempty" tf:"allowed_services,omitempty"`

	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction *bool `json:"enableRestriction,omitempty" tf:"enable_restriction,omitempty"`
}

func (*StatusVPCAccessibleServicesObservation) DeepCopy

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

func (*StatusVPCAccessibleServicesObservation) DeepCopyInto

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

type StatusVPCAccessibleServicesParameters

type StatusVPCAccessibleServicesParameters struct {

	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless enableRestriction is True.
	// +kubebuilder:validation:Optional
	// +listType=set
	AllowedServices []*string `json:"allowedServices,omitempty" tf:"allowed_services,omitempty"`

	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	// +kubebuilder:validation:Optional
	EnableRestriction *bool `json:"enableRestriction,omitempty" tf:"enable_restriction,omitempty"`
}

func (*StatusVPCAccessibleServicesParameters) DeepCopy

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

func (*StatusVPCAccessibleServicesParameters) DeepCopyInto

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

type VPCAccessibleServicesInitParameters

type VPCAccessibleServicesInitParameters struct {

	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless enableRestriction is True.
	// +listType=set
	AllowedServices []*string `json:"allowedServices,omitempty" tf:"allowed_services,omitempty"`

	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction *bool `json:"enableRestriction,omitempty" tf:"enable_restriction,omitempty"`
}

func (*VPCAccessibleServicesInitParameters) DeepCopy

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

func (*VPCAccessibleServicesInitParameters) DeepCopyInto

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

type VPCAccessibleServicesObservation

type VPCAccessibleServicesObservation struct {

	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless enableRestriction is True.
	// +listType=set
	AllowedServices []*string `json:"allowedServices,omitempty" tf:"allowed_services,omitempty"`

	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	EnableRestriction *bool `json:"enableRestriction,omitempty" tf:"enable_restriction,omitempty"`
}

func (*VPCAccessibleServicesObservation) DeepCopy

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

func (*VPCAccessibleServicesObservation) DeepCopyInto

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

type VPCAccessibleServicesParameters

type VPCAccessibleServicesParameters struct {

	// The list of APIs usable within the Service Perimeter.
	// Must be empty unless enableRestriction is True.
	// +kubebuilder:validation:Optional
	// +listType=set
	AllowedServices []*string `json:"allowedServices,omitempty" tf:"allowed_services,omitempty"`

	// Whether to restrict API calls within the Service Perimeter to the
	// list of APIs specified in 'allowedServices'.
	// +kubebuilder:validation:Optional
	EnableRestriction *bool `json:"enableRestriction,omitempty" tf:"enable_restriction,omitempty"`
}

func (*VPCAccessibleServicesParameters) DeepCopy

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

func (*VPCAccessibleServicesParameters) DeepCopyInto

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

type VPCNetworkSourcesInitParameters added in v1.0.0

type VPCNetworkSourcesInitParameters struct {

	// Sub networks within a VPC network.
	// Structure is documented below.
	VPCSubnetwork []VPCSubnetworkInitParameters `json:"vpcSubnetwork,omitempty" tf:"vpc_subnetwork,omitempty"`
}

func (*VPCNetworkSourcesInitParameters) DeepCopy added in v1.0.0

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

func (*VPCNetworkSourcesInitParameters) DeepCopyInto added in v1.0.0

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

type VPCNetworkSourcesObservation added in v1.0.0

type VPCNetworkSourcesObservation struct {

	// Sub networks within a VPC network.
	// Structure is documented below.
	VPCSubnetwork []VPCSubnetworkObservation `json:"vpcSubnetwork,omitempty" tf:"vpc_subnetwork,omitempty"`
}

func (*VPCNetworkSourcesObservation) DeepCopy added in v1.0.0

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

func (*VPCNetworkSourcesObservation) DeepCopyInto added in v1.0.0

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

type VPCNetworkSourcesParameters added in v1.0.0

type VPCNetworkSourcesParameters struct {

	// Sub networks within a VPC network.
	// Structure is documented below.
	// +kubebuilder:validation:Optional
	VPCSubnetwork []VPCSubnetworkParameters `json:"vpcSubnetwork,omitempty" tf:"vpc_subnetwork,omitempty"`
}

func (*VPCNetworkSourcesParameters) DeepCopy added in v1.0.0

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

func (*VPCNetworkSourcesParameters) DeepCopyInto added in v1.0.0

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

type VPCNetworkSourcesVPCSubnetworkInitParameters added in v1.0.0

type VPCNetworkSourcesVPCSubnetworkInitParameters struct {

	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires compute.network.get permission to be granted to caller.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// CIDR block IP subnetwork specification. Must be IPv4.
	VPCIPSubnetworks []*string `json:"vpcIpSubnetworks,omitempty" tf:"vpc_ip_subnetworks,omitempty"`
}

func (*VPCNetworkSourcesVPCSubnetworkInitParameters) DeepCopy added in v1.0.0

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

func (*VPCNetworkSourcesVPCSubnetworkInitParameters) DeepCopyInto added in v1.0.0

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

type VPCNetworkSourcesVPCSubnetworkObservation added in v1.0.0

type VPCNetworkSourcesVPCSubnetworkObservation struct {

	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires compute.network.get permission to be granted to caller.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// CIDR block IP subnetwork specification. Must be IPv4.
	VPCIPSubnetworks []*string `json:"vpcIpSubnetworks,omitempty" tf:"vpc_ip_subnetworks,omitempty"`
}

func (*VPCNetworkSourcesVPCSubnetworkObservation) DeepCopy added in v1.0.0

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

func (*VPCNetworkSourcesVPCSubnetworkObservation) DeepCopyInto added in v1.0.0

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

type VPCNetworkSourcesVPCSubnetworkParameters added in v1.0.0

type VPCNetworkSourcesVPCSubnetworkParameters struct {

	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires compute.network.get permission to be granted to caller.
	// +kubebuilder:validation:Optional
	Network *string `json:"network" tf:"network,omitempty"`

	// CIDR block IP subnetwork specification. Must be IPv4.
	// +kubebuilder:validation:Optional
	VPCIPSubnetworks []*string `json:"vpcIpSubnetworks,omitempty" tf:"vpc_ip_subnetworks,omitempty"`
}

func (*VPCNetworkSourcesVPCSubnetworkParameters) DeepCopy added in v1.0.0

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

func (*VPCNetworkSourcesVPCSubnetworkParameters) DeepCopyInto added in v1.0.0

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

type VPCSubnetworkInitParameters added in v1.0.0

type VPCSubnetworkInitParameters struct {

	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires compute.network.get permission to be granted to caller.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// CIDR block IP subnetwork specification. Must be IPv4.
	VPCIPSubnetworks []*string `json:"vpcIpSubnetworks,omitempty" tf:"vpc_ip_subnetworks,omitempty"`
}

func (*VPCSubnetworkInitParameters) DeepCopy added in v1.0.0

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

func (*VPCSubnetworkInitParameters) DeepCopyInto added in v1.0.0

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

type VPCSubnetworkObservation added in v1.0.0

type VPCSubnetworkObservation struct {

	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires compute.network.get permission to be granted to caller.
	Network *string `json:"network,omitempty" tf:"network,omitempty"`

	// CIDR block IP subnetwork specification. Must be IPv4.
	VPCIPSubnetworks []*string `json:"vpcIpSubnetworks,omitempty" tf:"vpc_ip_subnetworks,omitempty"`
}

func (*VPCSubnetworkObservation) DeepCopy added in v1.0.0

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

func (*VPCSubnetworkObservation) DeepCopyInto added in v1.0.0

func (in *VPCSubnetworkObservation) DeepCopyInto(out *VPCSubnetworkObservation)

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

type VPCSubnetworkParameters added in v1.0.0

type VPCSubnetworkParameters struct {

	// Required. Network name to be allowed by this Access Level. Networks of foreign organizations requires compute.network.get permission to be granted to caller.
	// +kubebuilder:validation:Optional
	Network *string `json:"network" tf:"network,omitempty"`

	// CIDR block IP subnetwork specification. Must be IPv4.
	// +kubebuilder:validation:Optional
	VPCIPSubnetworks []*string `json:"vpcIpSubnetworks,omitempty" tf:"vpc_ip_subnetworks,omitempty"`
}

func (*VPCSubnetworkParameters) DeepCopy added in v1.0.0

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

func (*VPCSubnetworkParameters) DeepCopyInto added in v1.0.0

func (in *VPCSubnetworkParameters) DeepCopyInto(out *VPCSubnetworkParameters)

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