v1alpha1

package
v0.0.0-...-18fe569 Latest Latest
Warning

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

Go to latest
Published: Sep 27, 2023 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=groups.googleworkspace.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "groups.googleworkspace.upbound.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

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 (
	Settings_Kind             = "Settings"
	Settings_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Settings_Kind}.String()
	Settings_KindAPIVersion   = Settings_Kind + "." + CRDGroupVersion.String()
	Settings_GroupVersionKind = CRDGroupVersion.WithKind(Settings_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type Settings

type Settings struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              SettingsSpec   `json:"spec"`
	Status            SettingsStatus `json:"status,omitempty"`
}

Settings is the Schema for the Settingss API. <no value> +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].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:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,googleworkspace}

func (*Settings) DeepCopy

func (in *Settings) DeepCopy() *Settings

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

func (*Settings) DeepCopyInto

func (in *Settings) DeepCopyInto(out *Settings)

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

func (*Settings) DeepCopyObject

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

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

func (*Settings) GetCondition

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

GetCondition of this Settings.

func (*Settings) GetConnectionDetailsMapping

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

GetConnectionDetailsMapping for this Settings

func (*Settings) GetDeletionPolicy

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

GetDeletionPolicy of this Settings.

func (*Settings) GetID

func (tr *Settings) GetID() string

GetID returns ID of underlying Terraform resource of this Settings

func (*Settings) GetManagementPolicy

func (mg *Settings) GetManagementPolicy() xpv1.ManagementPolicy

GetManagementPolicy of this Settings.

func (*Settings) GetObservation

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

GetObservation of this Settings

func (*Settings) GetParameters

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

GetParameters of this Settings

func (*Settings) GetProviderConfigReference

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

GetProviderConfigReference of this Settings.

func (*Settings) GetProviderReference

func (mg *Settings) GetProviderReference() *xpv1.Reference

GetProviderReference of this Settings. Deprecated: Use GetProviderConfigReference.

func (*Settings) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Settings.

func (*Settings) GetTerraformResourceType

func (mg *Settings) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Settings

func (*Settings) GetTerraformSchemaVersion

func (tr *Settings) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Settings) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Settings.

func (*Settings) LateInitialize

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

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

func (*Settings) ResolveReferences

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

ResolveReferences of this Settings.

func (*Settings) SetConditions

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

SetConditions of this Settings.

func (*Settings) SetDeletionPolicy

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

SetDeletionPolicy of this Settings.

func (*Settings) SetManagementPolicy

func (mg *Settings) SetManagementPolicy(r xpv1.ManagementPolicy)

SetManagementPolicy of this Settings.

func (*Settings) SetObservation

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

SetObservation for this Settings

func (*Settings) SetParameters

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

SetParameters for this Settings

func (*Settings) SetProviderConfigReference

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

SetProviderConfigReference of this Settings.

func (*Settings) SetProviderReference

func (mg *Settings) SetProviderReference(r *xpv1.Reference)

SetProviderReference of this Settings. Deprecated: Use SetProviderConfigReference.

func (*Settings) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Settings.

func (*Settings) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Settings.

type SettingsList

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

SettingsList contains a list of Settingss

func (*SettingsList) DeepCopy

func (in *SettingsList) DeepCopy() *SettingsList

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

func (*SettingsList) DeepCopyInto

func (in *SettingsList) DeepCopyInto(out *SettingsList)

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

func (*SettingsList) DeepCopyObject

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

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

func (*SettingsList) GetItems

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

GetItems of this SettingsList.

type SettingsObservation

type SettingsObservation struct {

	// Defaults to `false`. Identifies whether members external to your organization can join the group. If true, Google Workspace users external to your organization can become members of this group. If false, users not belonging to the organization are not allowed to become members of this group.
	AllowExternalMembers *bool `json:"allowExternalMembers,omitempty" tf:"allow_external_members,omitempty"`

	// Defaults to `true`. Allows posting from web. If true, allows any member to post to the group forum. If false, Members only use Gmail to communicate with the group.
	AllowWebPosting *bool `json:"allowWebPosting,omitempty" tf:"allow_web_posting,omitempty"`

	// Defaults to `false`. Allows the group to be archived only. If true, Group is archived and the group is inactive. New messages to this group are rejected. The older archived messages are browsable and searchable. If true, the `who_can_post_message` property is set to `NONE_CAN_POST`. If reverted from true to false, `who_can_post_message` is set to `ALL_MANAGERS_CAN_POST`. If false, The group is active and can receive messages. When false, updating `who_can_post_message` to `NONE_CAN_POST`, results in an error.
	ArchiveOnly *bool `json:"archiveOnly,omitempty" tf:"archive_only,omitempty"`

	// Set the content of custom footer text. The maximum number of characters is 1,000.
	CustomFooterText *string `json:"customFooterText,omitempty" tf:"custom_footer_text,omitempty"`

	// An email address used when replying to a message if the `reply_to` property is set to `REPLY_TO_CUSTOM`. This address is defined by an account administrator. When the group's `reply_to` property is set to `REPLY_TO_CUSTOM`, the `custom_reply_to` property holds a custom email address used when replying to a message, the `custom_reply_to` property must have a text value or an error is returned.
	CustomReplyTo *string `json:"customReplyTo,omitempty" tf:"custom_reply_to,omitempty"`

	// Specifies whether the group has a custom role that's included in one of the settings being merged.
	CustomRolesEnabledForSettingsToBeMerged *bool `json:"customRolesEnabledForSettingsToBeMerged,omitempty" tf:"custom_roles_enabled_for_settings_to_be_merged,omitempty"`

	// When a message is rejected, this is text for the rejection notification sent to the message's author. By default, this property is empty and has no value in the API's response body. The maximum notification text size is 10,000 characters. Requires `send_message_deny_notification` property to be true.
	DefaultMessageDenyNotificationText *string `json:"defaultMessageDenyNotificationText,omitempty" tf:"default_message_deny_notification_text,omitempty"`

	// Description of the group. The maximum group description is no more than 300 characters.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The group's email address.
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// Defaults to `false`. Specifies whether a collaborative inbox will remain turned on for the group.
	EnableCollaborativeInbox *bool `json:"enableCollaborativeInbox,omitempty" tf:"enable_collaborative_inbox,omitempty"`

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

	// Defaults to `false`. Whether to include custom footer.
	IncludeCustomFooter *bool `json:"includeCustomFooter,omitempty" tf:"include_custom_footer,omitempty"`

	// Defaults to `true`. Enables the group to be included in the Global Address List. If true, the group is included in the Global Address List. If false, it is not included in the Global Address List.
	IncludeInGlobalAddressList *bool `json:"includeInGlobalAddressList,omitempty" tf:"include_in_global_address_list,omitempty"`

	// Defaults to `false`. Allows the Group contents to be archived. If true, archive messages sent to the group. If false, Do not keep an archive of messages sent to this group. If false, previously archived messages remain in the archive.
	IsArchived *bool `json:"isArchived,omitempty" tf:"is_archived,omitempty"`

	// Defaults to `false`. Enables members to post messages as the group. If true, group member can post messages using the group's email address instead of their own email address. Message appear to originate from the group itself. Any message moderation settings on individual users or new members do not apply to posts made on behalf of the group. If false, members can not post in behalf of the group's email address.
	MembersCanPostAsTheGroup *bool `json:"membersCanPostAsTheGroup,omitempty" tf:"members_can_post_as_the_group,omitempty"`

	// Defaults to `MODERATE_NONE`. Moderation level of incoming messages. Possible values are:
	// - `MODERATE_ALL_MESSAGES`: All messages are sent to the group owner's email address for approval. If approved, the message is sent to the group.
	// - `MODERATE_NON_MEMBERS`: All messages from non group members are sent to the group owner's email address for approval. If approved, the message is sent to the group.
	// - `MODERATE_NEW_MEMBERS`: All messages from new members are sent to the group owner's email address for approval. If approved, the message is sent to the group.
	// - `MODERATE_NONE`: No moderator approval is required. Messages are delivered directly to the group.
	// Note: When the `who_can_post_message` is set to `ANYONE_CAN_POST`, we recommend the `message_moderation_level` be set to `MODERATE_NON_MEMBERS` to protect the group from possible spam.When `member_can_post_as_the_group` is true, any message moderation settings on individual users or new members will not apply to posts made on behalf of the group.
	MessageModerationLevel *string `json:"messageModerationLevel,omitempty" tf:"message_moderation_level,omitempty"`

	// Name of the group, which has a maximum size of 75 characters.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The primary language for group. For a group's primary language use the language tags from the Google Workspace languages found at Google Workspace Email Settings API Email Language Tags.
	PrimaryLanguage *string `json:"primaryLanguage,omitempty" tf:"primary_language,omitempty"`

	// Defaults to `REPLY_TO_IGNORE`. Specifies who receives the default reply. Possible values are:
	// - `REPLY_TO_CUSTOM`: For replies to messages, use the group's custom email address. When set to `REPLY_TO_CUSTOM`, the `custom_reply_to` property holds the custom email address used when replying to a message, the customReplyTo property must have a value. Otherwise an error is returned.
	// - `REPLY_TO_SENDER`: The reply sent to author of message.
	// - `REPLY_TO_LIST`: This reply message is sent to the group.
	// - `REPLY_TO_OWNER`: The reply is sent to the owner(s) of the group. This does not include the group's managers.
	// - `REPLY_TO_IGNORE`: Group users individually decide where the message reply is sent.
	// - `REPLY_TO_MANAGERS`: This reply message is sent to the group's managers, which includes all managers and the group owner.
	ReplyTo *string `json:"replyTo,omitempty" tf:"reply_to,omitempty"`

	// Defaults to `false`. Allows a member to be notified if the member's message to the group is denied by the group owner. If true, when a message is rejected, send the deny message notification to the message author. The `default_message_deny_notification_text` property is dependent on the `send_message_deny_notification` property being true. If false, when a message is rejected, no notification is sent.
	SendMessageDenyNotification *bool `json:"sendMessageDenyNotification,omitempty" tf:"send_message_deny_notification,omitempty"`

	// Defaults to `MODERATE`. Specifies moderation levels for messages detected as spam. Possible values are:
	// - `ALLOW`: Post the message to the group.
	// - `MODERATE`: Send the message to the moderation queue. This is the default.
	// - `SILENTLY_MODERATE`: Send the message to the moderation queue, but do not send notification to moderators.
	// - `REJECT`: Immediately reject the message.
	SpamModerationLevel *string `json:"spamModerationLevel,omitempty" tf:"spam_moderation_level,omitempty"`

	// Defaults to `NONE`. Specifies who can moderate metadata. Possible values are:
	// - `ALL_MEMBERS`
	// - `OWNERS_AND_MANAGERS`
	// - `MANAGERS_ONLY`
	// - `OWNERS_ONLY`
	// - `NONE`
	WhoCanAssistContent *string `json:"whoCanAssistContent,omitempty" tf:"who_can_assist_content,omitempty"`

	// Defaults to `ANYONE_CAN_CONTACT`. Permission to contact owner of the group via web UI. Possible values are:
	// - `ALL_IN_DOMAIN_CAN_CONTACT`
	// - `ALL_MANAGERS_CAN_CONTACT`
	// - `ALL_MEMBERS_CAN_CONTACT`
	// - `ANYONE_CAN_CONTACT`
	// - `ALL_OWNERS_CAN_CONTACT`
	WhoCanContactOwner *string `json:"whoCanContactOwner,omitempty" tf:"who_can_contact_owner,omitempty"`

	// Defaults to `ALL_IN_DOMAIN_CAN_DISCOVER`. Specifies the set of users for whom this group is discoverable. Possible values are:
	// - `ANYONE_CAN_DISCOVER`
	// - `ALL_IN_DOMAIN_CAN_DISCOVER`
	// - `ALL_MEMBERS_CAN_DISCOVER`
	WhoCanDiscoverGroup *string `json:"whoCanDiscoverGroup,omitempty" tf:"who_can_discover_group,omitempty"`

	// Defaults to `CAN_REQUEST_TO_JOIN`. Permission to join group. Possible values are:
	// - `ANYONE_CAN_JOIN`: Any Internet user, both inside and outside your domain, can join the group.
	// - `ALL_IN_DOMAIN_CAN_JOIN`: Anyone in the account domain can join. This includes accounts with multiple domains.
	// - `INVITED_CAN_JOIN`: Candidates for membership can be invited to join.
	// - `CAN_REQUEST_TO_JOIN`: Non members can request an invitation to join.
	WhoCanJoin *string `json:"whoCanJoin,omitempty" tf:"who_can_join,omitempty"`

	// Defaults to `ALL_MEMBERS_CAN_LEAVE`. Permission to leave the group. Possible values are:
	// - `ALL_MANAGERS_CAN_LEAVE`
	// - `ALL_MEMBERS_CAN_LEAVE`
	// - `NONE_CAN_LEAVE`
	WhoCanLeaveGroup *string `json:"whoCanLeaveGroup,omitempty" tf:"who_can_leave_group,omitempty"`

	// Defaults to `OWNERS_AND_MANAGERS`. Specifies who can moderate content. Possible values are:
	// - `ALL_MEMBERS`
	// - `OWNERS_AND_MANAGERS`
	// - `OWNERS_ONLY`
	// - `NONE`
	WhoCanModerateContent *string `json:"whoCanModerateContent,omitempty" tf:"who_can_moderate_content,omitempty"`

	// Defaults to `OWNERS_AND_MANAGERS`. Specifies who can manage members. Possible values are:
	// - `ALL_MEMBERS`
	// - `OWNERS_AND_MANAGERS`
	// - `OWNERS_ONLY`
	// - `NONE`
	WhoCanModerateMembers *string `json:"whoCanModerateMembers,omitempty" tf:"who_can_moderate_members,omitempty"`

	// Permissions to post messages. Possible values are:
	// - `NONE_CAN_POST`: The group is disabled and archived. No one can post a message to this group. * When archiveOnly is false, updating whoCanPostMessage to NONE_CAN_POST, results in an error. * If archiveOnly is reverted from true to false, whoCanPostMessages is set to ALL_MANAGERS_CAN_POST.
	// - `ALL_MANAGERS_CAN_POST`: Managers, including group owners, can post messages.
	// - `ALL_MEMBERS_CAN_POST`: Any group member can post a message.
	// - `ALL_OWNERS_CAN_POST`: Only group owners can post a message.
	// - `ALL_IN_DOMAIN_CAN_POST`: Anyone in the account can post a message.
	// - `ANYONE_CAN_POST`: Any Internet user who outside your account can access your Google Groups service and post a message.
	// *Note: When `who_can_post_message` is set to `ANYONE_CAN_POST`, we recommend the`message_moderation_level` be set to `MODERATE_NON_MEMBERS` to protect the group from possible spam. Users not belonging to the organization are not allowed to become members of this group.
	WhoCanPostMessage *string `json:"whoCanPostMessage,omitempty" tf:"who_can_post_message,omitempty"`

	// Defaults to `ALL_MEMBERS_CAN_VIEW`. Permissions to view group messages. Possible values are:
	// - `ANYONE_CAN_VIEW`: Any Internet user can view the group's messages.
	// - `ALL_IN_DOMAIN_CAN_VIEW`: Anyone in your account can view this group's messages.
	// - `ALL_MEMBERS_CAN_VIEW`: All group members can view the group's messages.
	// - `ALL_MANAGERS_CAN_VIEW`: Any group manager can view this group's messages.
	// - `ALL_OWNERS_CAN_VIEW`: The group owners can view this group's messages.
	WhoCanViewGroup *string `json:"whoCanViewGroup,omitempty" tf:"who_can_view_group,omitempty"`

	// Defaults to `ALL_MEMBERS_CAN_VIEW`. Permissions to view membership. Possible values are:
	// - `ALL_IN_DOMAIN_CAN_VIEW`: Anyone in the account can view the group members list. If a group already has external members, those members can still send email to this group.
	// - `ALL_MEMBERS_CAN_VIEW`: The group members can view the group members list.
	// - `ALL_MANAGERS_CAN_VIEW`: The group managers can view group members list.
	// - `ALL_OWNERS_CAN_VIEW`: The group owners can view group members list.
	WhoCanViewMembership *string `json:"whoCanViewMembership,omitempty" tf:"who_can_view_membership,omitempty"`
}

func (*SettingsObservation) DeepCopy

func (in *SettingsObservation) DeepCopy() *SettingsObservation

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

func (*SettingsObservation) DeepCopyInto

func (in *SettingsObservation) DeepCopyInto(out *SettingsObservation)

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

type SettingsParameters

type SettingsParameters struct {

	// Defaults to `false`. Identifies whether members external to your organization can join the group. If true, Google Workspace users external to your organization can become members of this group. If false, users not belonging to the organization are not allowed to become members of this group.
	// +kubebuilder:validation:Optional
	AllowExternalMembers *bool `json:"allowExternalMembers,omitempty" tf:"allow_external_members,omitempty"`

	// Defaults to `true`. Allows posting from web. If true, allows any member to post to the group forum. If false, Members only use Gmail to communicate with the group.
	// +kubebuilder:validation:Optional
	AllowWebPosting *bool `json:"allowWebPosting,omitempty" tf:"allow_web_posting,omitempty"`

	// Defaults to `false`. Allows the group to be archived only. If true, Group is archived and the group is inactive. New messages to this group are rejected. The older archived messages are browsable and searchable. If true, the `who_can_post_message` property is set to `NONE_CAN_POST`. If reverted from true to false, `who_can_post_message` is set to `ALL_MANAGERS_CAN_POST`. If false, The group is active and can receive messages. When false, updating `who_can_post_message` to `NONE_CAN_POST`, results in an error.
	// +kubebuilder:validation:Optional
	ArchiveOnly *bool `json:"archiveOnly,omitempty" tf:"archive_only,omitempty"`

	// Set the content of custom footer text. The maximum number of characters is 1,000.
	// +kubebuilder:validation:Optional
	CustomFooterText *string `json:"customFooterText,omitempty" tf:"custom_footer_text,omitempty"`

	// An email address used when replying to a message if the `reply_to` property is set to `REPLY_TO_CUSTOM`. This address is defined by an account administrator. When the group's `reply_to` property is set to `REPLY_TO_CUSTOM`, the `custom_reply_to` property holds a custom email address used when replying to a message, the `custom_reply_to` property must have a text value or an error is returned.
	// +kubebuilder:validation:Optional
	CustomReplyTo *string `json:"customReplyTo,omitempty" tf:"custom_reply_to,omitempty"`

	// When a message is rejected, this is text for the rejection notification sent to the message's author. By default, this property is empty and has no value in the API's response body. The maximum notification text size is 10,000 characters. Requires `send_message_deny_notification` property to be true.
	// +kubebuilder:validation:Optional
	DefaultMessageDenyNotificationText *string `json:"defaultMessageDenyNotificationText,omitempty" tf:"default_message_deny_notification_text,omitempty"`

	// The group's email address.
	// +crossplane:generate:reference:type=github.com/alanraison/provider-googleworkspace/apis/directory/v1alpha1.Group
	// +crossplane:generate:reference:refFieldName=GroupRef
	// +crossplane:generate:reference:selectorFieldName=GroupSelector
	// +kubebuilder:validation:Optional
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// Defaults to `false`. Specifies whether a collaborative inbox will remain turned on for the group.
	// +kubebuilder:validation:Optional
	EnableCollaborativeInbox *bool `json:"enableCollaborativeInbox,omitempty" tf:"enable_collaborative_inbox,omitempty"`

	// Reference to a Group in directory to populate email.
	// +kubebuilder:validation:Optional
	GroupRef *v1.Reference `json:"groupRef,omitempty" tf:"-"`

	// Selector for a Group in directory to populate email.
	// +kubebuilder:validation:Optional
	GroupSelector *v1.Selector `json:"groupSelector,omitempty" tf:"-"`

	// Defaults to `false`. Whether to include custom footer.
	// +kubebuilder:validation:Optional
	IncludeCustomFooter *bool `json:"includeCustomFooter,omitempty" tf:"include_custom_footer,omitempty"`

	// Defaults to `true`. Enables the group to be included in the Global Address List. If true, the group is included in the Global Address List. If false, it is not included in the Global Address List.
	// +kubebuilder:validation:Optional
	IncludeInGlobalAddressList *bool `json:"includeInGlobalAddressList,omitempty" tf:"include_in_global_address_list,omitempty"`

	// Defaults to `false`. Allows the Group contents to be archived. If true, archive messages sent to the group. If false, Do not keep an archive of messages sent to this group. If false, previously archived messages remain in the archive.
	// +kubebuilder:validation:Optional
	IsArchived *bool `json:"isArchived,omitempty" tf:"is_archived,omitempty"`

	// Defaults to `false`. Enables members to post messages as the group. If true, group member can post messages using the group's email address instead of their own email address. Message appear to originate from the group itself. Any message moderation settings on individual users or new members do not apply to posts made on behalf of the group. If false, members can not post in behalf of the group's email address.
	// +kubebuilder:validation:Optional
	MembersCanPostAsTheGroup *bool `json:"membersCanPostAsTheGroup,omitempty" tf:"members_can_post_as_the_group,omitempty"`

	// Defaults to `MODERATE_NONE`. Moderation level of incoming messages. Possible values are:
	// - `MODERATE_ALL_MESSAGES`: All messages are sent to the group owner's email address for approval. If approved, the message is sent to the group.
	// - `MODERATE_NON_MEMBERS`: All messages from non group members are sent to the group owner's email address for approval. If approved, the message is sent to the group.
	// - `MODERATE_NEW_MEMBERS`: All messages from new members are sent to the group owner's email address for approval. If approved, the message is sent to the group.
	// - `MODERATE_NONE`: No moderator approval is required. Messages are delivered directly to the group.
	// Note: When the `who_can_post_message` is set to `ANYONE_CAN_POST`, we recommend the `message_moderation_level` be set to `MODERATE_NON_MEMBERS` to protect the group from possible spam.When `member_can_post_as_the_group` is true, any message moderation settings on individual users or new members will not apply to posts made on behalf of the group.
	// +kubebuilder:validation:Optional
	MessageModerationLevel *string `json:"messageModerationLevel,omitempty" tf:"message_moderation_level,omitempty"`

	// The primary language for group. For a group's primary language use the language tags from the Google Workspace languages found at Google Workspace Email Settings API Email Language Tags.
	// +kubebuilder:validation:Optional
	PrimaryLanguage *string `json:"primaryLanguage,omitempty" tf:"primary_language,omitempty"`

	// Defaults to `REPLY_TO_IGNORE`. Specifies who receives the default reply. Possible values are:
	// - `REPLY_TO_CUSTOM`: For replies to messages, use the group's custom email address. When set to `REPLY_TO_CUSTOM`, the `custom_reply_to` property holds the custom email address used when replying to a message, the customReplyTo property must have a value. Otherwise an error is returned.
	// - `REPLY_TO_SENDER`: The reply sent to author of message.
	// - `REPLY_TO_LIST`: This reply message is sent to the group.
	// - `REPLY_TO_OWNER`: The reply is sent to the owner(s) of the group. This does not include the group's managers.
	// - `REPLY_TO_IGNORE`: Group users individually decide where the message reply is sent.
	// - `REPLY_TO_MANAGERS`: This reply message is sent to the group's managers, which includes all managers and the group owner.
	// +kubebuilder:validation:Optional
	ReplyTo *string `json:"replyTo,omitempty" tf:"reply_to,omitempty"`

	// Defaults to `false`. Allows a member to be notified if the member's message to the group is denied by the group owner. If true, when a message is rejected, send the deny message notification to the message author. The `default_message_deny_notification_text` property is dependent on the `send_message_deny_notification` property being true. If false, when a message is rejected, no notification is sent.
	// +kubebuilder:validation:Optional
	SendMessageDenyNotification *bool `json:"sendMessageDenyNotification,omitempty" tf:"send_message_deny_notification,omitempty"`

	// Defaults to `MODERATE`. Specifies moderation levels for messages detected as spam. Possible values are:
	// - `ALLOW`: Post the message to the group.
	// - `MODERATE`: Send the message to the moderation queue. This is the default.
	// - `SILENTLY_MODERATE`: Send the message to the moderation queue, but do not send notification to moderators.
	// - `REJECT`: Immediately reject the message.
	// +kubebuilder:validation:Optional
	SpamModerationLevel *string `json:"spamModerationLevel,omitempty" tf:"spam_moderation_level,omitempty"`

	// Defaults to `NONE`. Specifies who can moderate metadata. Possible values are:
	// - `ALL_MEMBERS`
	// - `OWNERS_AND_MANAGERS`
	// - `MANAGERS_ONLY`
	// - `OWNERS_ONLY`
	// - `NONE`
	// +kubebuilder:validation:Optional
	WhoCanAssistContent *string `json:"whoCanAssistContent,omitempty" tf:"who_can_assist_content,omitempty"`

	// Defaults to `ANYONE_CAN_CONTACT`. Permission to contact owner of the group via web UI. Possible values are:
	// - `ALL_IN_DOMAIN_CAN_CONTACT`
	// - `ALL_MANAGERS_CAN_CONTACT`
	// - `ALL_MEMBERS_CAN_CONTACT`
	// - `ANYONE_CAN_CONTACT`
	// - `ALL_OWNERS_CAN_CONTACT`
	// +kubebuilder:validation:Optional
	WhoCanContactOwner *string `json:"whoCanContactOwner,omitempty" tf:"who_can_contact_owner,omitempty"`

	// Defaults to `ALL_IN_DOMAIN_CAN_DISCOVER`. Specifies the set of users for whom this group is discoverable. Possible values are:
	// - `ANYONE_CAN_DISCOVER`
	// - `ALL_IN_DOMAIN_CAN_DISCOVER`
	// - `ALL_MEMBERS_CAN_DISCOVER`
	// +kubebuilder:validation:Optional
	WhoCanDiscoverGroup *string `json:"whoCanDiscoverGroup,omitempty" tf:"who_can_discover_group,omitempty"`

	// Defaults to `CAN_REQUEST_TO_JOIN`. Permission to join group. Possible values are:
	// - `ANYONE_CAN_JOIN`: Any Internet user, both inside and outside your domain, can join the group.
	// - `ALL_IN_DOMAIN_CAN_JOIN`: Anyone in the account domain can join. This includes accounts with multiple domains.
	// - `INVITED_CAN_JOIN`: Candidates for membership can be invited to join.
	// - `CAN_REQUEST_TO_JOIN`: Non members can request an invitation to join.
	// +kubebuilder:validation:Optional
	WhoCanJoin *string `json:"whoCanJoin,omitempty" tf:"who_can_join,omitempty"`

	// Defaults to `ALL_MEMBERS_CAN_LEAVE`. Permission to leave the group. Possible values are:
	// - `ALL_MANAGERS_CAN_LEAVE`
	// - `ALL_MEMBERS_CAN_LEAVE`
	// - `NONE_CAN_LEAVE`
	// +kubebuilder:validation:Optional
	WhoCanLeaveGroup *string `json:"whoCanLeaveGroup,omitempty" tf:"who_can_leave_group,omitempty"`

	// Defaults to `OWNERS_AND_MANAGERS`. Specifies who can moderate content. Possible values are:
	// - `ALL_MEMBERS`
	// - `OWNERS_AND_MANAGERS`
	// - `OWNERS_ONLY`
	// - `NONE`
	// +kubebuilder:validation:Optional
	WhoCanModerateContent *string `json:"whoCanModerateContent,omitempty" tf:"who_can_moderate_content,omitempty"`

	// Defaults to `OWNERS_AND_MANAGERS`. Specifies who can manage members. Possible values are:
	// - `ALL_MEMBERS`
	// - `OWNERS_AND_MANAGERS`
	// - `OWNERS_ONLY`
	// - `NONE`
	// +kubebuilder:validation:Optional
	WhoCanModerateMembers *string `json:"whoCanModerateMembers,omitempty" tf:"who_can_moderate_members,omitempty"`

	// Permissions to post messages. Possible values are:
	// - `NONE_CAN_POST`: The group is disabled and archived. No one can post a message to this group. * When archiveOnly is false, updating whoCanPostMessage to NONE_CAN_POST, results in an error. * If archiveOnly is reverted from true to false, whoCanPostMessages is set to ALL_MANAGERS_CAN_POST.
	// - `ALL_MANAGERS_CAN_POST`: Managers, including group owners, can post messages.
	// - `ALL_MEMBERS_CAN_POST`: Any group member can post a message.
	// - `ALL_OWNERS_CAN_POST`: Only group owners can post a message.
	// - `ALL_IN_DOMAIN_CAN_POST`: Anyone in the account can post a message.
	// - `ANYONE_CAN_POST`: Any Internet user who outside your account can access your Google Groups service and post a message.
	// *Note: When `who_can_post_message` is set to `ANYONE_CAN_POST`, we recommend the`message_moderation_level` be set to `MODERATE_NON_MEMBERS` to protect the group from possible spam. Users not belonging to the organization are not allowed to become members of this group.
	// +kubebuilder:validation:Optional
	WhoCanPostMessage *string `json:"whoCanPostMessage,omitempty" tf:"who_can_post_message,omitempty"`

	// Defaults to `ALL_MEMBERS_CAN_VIEW`. Permissions to view group messages. Possible values are:
	// - `ANYONE_CAN_VIEW`: Any Internet user can view the group's messages.
	// - `ALL_IN_DOMAIN_CAN_VIEW`: Anyone in your account can view this group's messages.
	// - `ALL_MEMBERS_CAN_VIEW`: All group members can view the group's messages.
	// - `ALL_MANAGERS_CAN_VIEW`: Any group manager can view this group's messages.
	// - `ALL_OWNERS_CAN_VIEW`: The group owners can view this group's messages.
	// +kubebuilder:validation:Optional
	WhoCanViewGroup *string `json:"whoCanViewGroup,omitempty" tf:"who_can_view_group,omitempty"`

	// Defaults to `ALL_MEMBERS_CAN_VIEW`. Permissions to view membership. Possible values are:
	// - `ALL_IN_DOMAIN_CAN_VIEW`: Anyone in the account can view the group members list. If a group already has external members, those members can still send email to this group.
	// - `ALL_MEMBERS_CAN_VIEW`: The group members can view the group members list.
	// - `ALL_MANAGERS_CAN_VIEW`: The group managers can view group members list.
	// - `ALL_OWNERS_CAN_VIEW`: The group owners can view group members list.
	// +kubebuilder:validation:Optional
	WhoCanViewMembership *string `json:"whoCanViewMembership,omitempty" tf:"who_can_view_membership,omitempty"`
}

func (*SettingsParameters) DeepCopy

func (in *SettingsParameters) DeepCopy() *SettingsParameters

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

func (*SettingsParameters) DeepCopyInto

func (in *SettingsParameters) DeepCopyInto(out *SettingsParameters)

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

type SettingsSpec

type SettingsSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     SettingsParameters `json:"forProvider"`
}

SettingsSpec defines the desired state of Settings

func (*SettingsSpec) DeepCopy

func (in *SettingsSpec) DeepCopy() *SettingsSpec

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

func (*SettingsSpec) DeepCopyInto

func (in *SettingsSpec) DeepCopyInto(out *SettingsSpec)

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

type SettingsStatus

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

SettingsStatus defines the observed state of Settings.

func (*SettingsStatus) DeepCopy

func (in *SettingsStatus) DeepCopy() *SettingsStatus

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

func (*SettingsStatus) DeepCopyInto

func (in *SettingsStatus) DeepCopyInto(out *SettingsStatus)

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