v1

package
v2.14.0 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2025 License: MIT Imports: 9 Imported by: 0

Documentation

Overview

Package v1 contains hand-crafted API Schema definitions for the entra v1 API group +groupName=entra.azure.com

Package v1 contains API Schema definitions for entra data plane APIs +kubebuilder:object:generate=true All object properties are optional by default, this will be overridden when needed: +kubebuilder:validation:Optional +groupName=entra.azure.com

Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "entra.azure.com", Version: "v1"}

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type CreationMode

type CreationMode string

CreationMode specifies how ASO will try to create the Entra resource. +kubebuilder:validation:Enum=AdoptOrCreate;AlwaysCreate

const (
	// AlwaysCreate means that ASO will always attempt to create the resource,
	// without first checking to see whether it already exists.
	AlwaysCreate CreationMode = "AlwaysCreate"

	// AdoptOrCreate means that ASO will try to adopt an existing resource if it exists,
	// and can be uniquely identified.
	// If multiple matches are found, the resource condition will show an error.
	// If it does not exist, ASO will create a new resource.
	AdoptOrCreate CreationMode = "AdoptOrCreate"
)

func (CreationMode) AllowsAdoption

func (cm CreationMode) AllowsAdoption() bool

AllowsAdoption checks if the creation mode allows ASO to adopt an existing resource.

func (CreationMode) AllowsCreation

func (cm CreationMode) AllowsCreation() bool

AllowsCreation checks if the creation mode allows ASO to create a new resource. All current modes do, but this could change in the future.

type SecurityGroup

type SecurityGroup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SecurityGroupSpec   `json:"spec,omitempty"`
	Status            SecurityGroupStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +kubebuilder:storageversion SecurityGroup is an Entra Security Group.

func (*SecurityGroup) DeepCopy

func (in *SecurityGroup) DeepCopy() *SecurityGroup

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

func (*SecurityGroup) DeepCopyInto

func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)

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

func (*SecurityGroup) DeepCopyObject

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

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

func (*SecurityGroup) GetConditions

func (group *SecurityGroup) GetConditions() conditions.Conditions

GetConditions returns the conditions of the resource

func (*SecurityGroup) Hub

func (user *SecurityGroup) Hub()

Hub marks that this userSpec is the hub type for conversion

func (*SecurityGroup) SetConditions

func (group *SecurityGroup) SetConditions(conditions conditions.Conditions)

SetConditions sets the conditions on the resource status

type SecurityGroupList

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

+kubebuilder:object:root=true

func (*SecurityGroupList) DeepCopy

func (in *SecurityGroupList) DeepCopy() *SecurityGroupList

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

func (*SecurityGroupList) DeepCopyInto

func (in *SecurityGroupList) DeepCopyInto(out *SecurityGroupList)

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

func (*SecurityGroupList) DeepCopyObject

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

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

type SecurityGroupMembershipType

type SecurityGroupMembershipType string

+kubebuilder:validation:Enum={"assigned","enabled","assignedm365","enabledm365"} +kubebuilder:default=AdoptOrCreate

const (
	// SecurityGroupMembershipTypeAssigned indicates that the group is a security group with assigned members.
	SecurityGroupMembershipTypeAssigned SecurityGroupMembershipType = "assigned"
	// SecurityGroupMembershipTypeDynamic indicates that the group is a security group with dynamic membership.
	SecurityGroupMembershipTypeDynamic SecurityGroupMembershipType = "dynamic"
	// SecurityGroupMembershipTypeAssigned indicates that the group is a Microsoft 365 security group with assigned members.
	SecurityGroupMembershipTypeAssignedM365 SecurityGroupMembershipType = "assignedm365"
	// SecurityGroupMembershipTypeDynamic indicates that the group is a Microsoft 365 security group with dynamic membership.
	SecurityGroupMembershipTypeDynamicM365 SecurityGroupMembershipType = "dynamicm365"
)

type SecurityGroupOperatorConfigMaps

type SecurityGroupOperatorConfigMaps struct {
	// EntraID: The Entra ID of the group.
	EntraID *genruntime.ConfigMapDestination `json:"entraID,omitempty"`
}

func (*SecurityGroupOperatorConfigMaps) DeepCopy

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

func (*SecurityGroupOperatorConfigMaps) DeepCopyInto

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

type SecurityGroupOperatorSpec

type SecurityGroupOperatorSpec struct {
	// CreationMode: Specifies how ASO will try to create the resource.
	// Specify "AlwaysCreate" to always create a new security group when first reconciled.
	// Or specify "AdoptOrCreate" to first try to adopt an existing security group with the same display name.
	// If multiple security groups with the same display name are found, the resource condition will show an error.
	// If not specified, defaults to "AdoptOrCreate".
	CreationMode *CreationMode `json:"creationMode,omitempty"`

	// ConfigMaps specifies any config maps that should be created by the operator.
	ConfigMaps *SecurityGroupOperatorConfigMaps `json:"configmaps,omitempty"`
}

func (*SecurityGroupOperatorSpec) AdoptionAllowed

func (spec *SecurityGroupOperatorSpec) AdoptionAllowed() bool

AllowsAdoption checks if the creation mode allows ASO to adopt an existing security group.

func (*SecurityGroupOperatorSpec) CreationAllowed

func (spec *SecurityGroupOperatorSpec) CreationAllowed() bool

CreationAllowed checks if the creation mode allows ASO to create a new security group.

func (*SecurityGroupOperatorSpec) DeepCopy

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

func (*SecurityGroupOperatorSpec) DeepCopyInto

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

type SecurityGroupSpec

type SecurityGroupSpec struct {
	// DisplayName: The display name of the group.
	// +kubebuilder:validation:Required
	DisplayName *string `json:"displayName,omitempty"`

	// MailNickname: The email address of the group, specified either as a mail nickname (`mygroup`)
	// or as a full email address (`mygroup@mydomain.com`).
	// +kubebuilder:validation:Required
	MailNickname *string `json:"mailNickname,omitempty"`

	// Description: The description of the group.
	Description *string `json:"description,omitempty"`

	// MembershipType: The membership type of the group.
	MembershipType *SecurityGroupMembershipType `json:"membershipType,omitempty"`

	// OperatorSpec: The operator specific configuration for the resource.
	OperatorSpec *SecurityGroupOperatorSpec `json:"operatorSpec,omitempty"`

	// IsAssignableToRole: Indicates whether the group can be assigned to a role.
	IsAssignableToRole *bool `json:"isAssignableToRole,omitempty"`
}

func (*SecurityGroupSpec) AssignToGroup

func (spec *SecurityGroupSpec) AssignToGroup(model models.Groupable)

AssignToGroup configures the provided instance with the details of the group

func (*SecurityGroupSpec) DeepCopy

func (in *SecurityGroupSpec) DeepCopy() *SecurityGroupSpec

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

func (*SecurityGroupSpec) DeepCopyInto

func (in *SecurityGroupSpec) DeepCopyInto(out *SecurityGroupSpec)

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

func (*SecurityGroupSpec) OriginalVersion

func (spec *SecurityGroupSpec) OriginalVersion() string

OriginalVersion returns the original API version used to create the resource.

type SecurityGroupStatus

type SecurityGroupStatus struct {
	// EntraID: The GUID identifing the resource in Entra
	EntraID *string `json:"entraID,omitempty"`

	// DisplayName: The display name of the group.
	DisplayName *string `json:"displayName,omitempty"`

	// Conditions: The observed state of the resource
	Conditions []conditions.Condition `json:"conditions,omitempty"`

	// +kubebuilder:validation:Required
	// MailNickname: The email address of the group.
	MailNickname *string `json:"groupEmailAddress,omitempty"`

	// Description: The description of the group.
	Description *string `json:"description,omitempty"`
}

func (*SecurityGroupStatus) AssignFromGroup

func (status *SecurityGroupStatus) AssignFromGroup(model models.Groupable)

func (*SecurityGroupStatus) DeepCopy

func (in *SecurityGroupStatus) DeepCopy() *SecurityGroupStatus

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

func (*SecurityGroupStatus) DeepCopyInto

func (in *SecurityGroupStatus) DeepCopyInto(out *SecurityGroupStatus)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL