To receive notifications about scheduled maintenance, please subscribe to the mailing-list gitlab-operations@sympa.ethz.ch. You can subscribe to the mailing-list at https://sympa.ethz.ch

Commit c32b5482 authored by Andrea Raguso's avatar Andrea Raguso
Browse files

update

parent 4704d6bc
......@@ -29,42 +29,50 @@ type ResourceType int32
const (
ResourceType_RESOURCE_TYPE_UNSPECIFIED ResourceType = 0
// Global Mail Configuration:
ResourceType_GLOBAL_MAIL_CONFIG ResourceType = 1
ResourceType_MAIL_SERVICE ResourceType = 2
ResourceType_MAIL_DISTRIBUTION_LIST ResourceType = 3
ResourceType_MAIL_SHARED_MAILBOX ResourceType = 4
ResourceType_MAIL_GLOBAL ResourceType = 1 // the global configuration for a single organization
ResourceType_MAIL_SERVICE ResourceType = 2 // the specific mail service config
ResourceType_MAIL_DISTRIBUTION_LIST ResourceType = 3 // mail distribution list, e.g. vorstand@vis.ethz.ch
ResourceType_MAIL_SHARED_MAILBOX ResourceType = 4 // shared mailbox, e.g. praesidium@tanzquotient.org
ResourceType_MAIL_CONTACT ResourceType = 5 // contact in the eth system, e.g. vorstand@vesuv.ethz.ch
ResourceType_ETH_IAM_GROUP ResourceType = 6 // group in the eth iam system (can be synced to ad / ldap)
ResourceType_SYMPA_MAILING_LIST ResourceType = 7 // mailing list in the sympa system
// Google Drive
ResourceType_GSUITE_SHARED_DRIVE ResourceType = 5
ResourceType_GSUITE_SHARED_DRIVE ResourceType = 8 // shared drive in the gsuite
// Confluence
ResourceType_CONFLUENCE_SPACE ResourceType = 6
ResourceType_GITLAB_GROUP ResourceType = 7
ResourceType_GROUP_TAG ResourceType = 8
ResourceType_CONFLUENCE_SPACE ResourceType = 9 // space in confluence
ResourceType_GITLAB_GROUP ResourceType = 10 // Group in ETH Gitlab, e.g. 0403-isg
ResourceType_GROUP_TAG ResourceType = 11 // Special tag group in the VSETH group system
)
// Enum value maps for ResourceType.
var (
ResourceType_name = map[int32]string{
0: "RESOURCE_TYPE_UNSPECIFIED",
1: "GLOBAL_MAIL_CONFIG",
2: "MAIL_SERVICE",
3: "MAIL_DISTRIBUTION_LIST",
4: "MAIL_SHARED_MAILBOX",
5: "GSUITE_SHARED_DRIVE",
6: "CONFLUENCE_SPACE",
7: "GITLAB_GROUP",
8: "GROUP_TAG",
0: "RESOURCE_TYPE_UNSPECIFIED",
1: "MAIL_GLOBAL",
2: "MAIL_SERVICE",
3: "MAIL_DISTRIBUTION_LIST",
4: "MAIL_SHARED_MAILBOX",
5: "MAIL_CONTACT",
6: "ETH_IAM_GROUP",
7: "SYMPA_MAILING_LIST",
8: "GSUITE_SHARED_DRIVE",
9: "CONFLUENCE_SPACE",
10: "GITLAB_GROUP",
11: "GROUP_TAG",
}
ResourceType_value = map[string]int32{
"RESOURCE_TYPE_UNSPECIFIED": 0,
"GLOBAL_MAIL_CONFIG": 1,
"MAIL_GLOBAL": 1,
"MAIL_SERVICE": 2,
"MAIL_DISTRIBUTION_LIST": 3,
"MAIL_SHARED_MAILBOX": 4,
"GSUITE_SHARED_DRIVE": 5,
"CONFLUENCE_SPACE": 6,
"GITLAB_GROUP": 7,
"GROUP_TAG": 8,
"MAIL_CONTACT": 5,
"ETH_IAM_GROUP": 6,
"SYMPA_MAILING_LIST": 7,
"GSUITE_SHARED_DRIVE": 8,
"CONFLUENCE_SPACE": 9,
"GITLAB_GROUP": 10,
"GROUP_TAG": 11,
}
)
......@@ -95,35 +103,33 @@ func (ResourceType) EnumDescriptor() ([]byte, []int) {
return file_sip_resources_resources_proto_rawDescGZIP(), []int{0}
}
// ResourceState: The state of the resource int he system
// ResourceState tracks the state of the resource, can be used to implement
// approval for creation and deletion of resources
type ResourceState int32
const (
ResourceState_RESOURCE_STATE_UNSPECIFIED ResourceState = 0
ResourceState_SYNC_PENDING ResourceState = 3
ResourceState_SYNCED ResourceState = 4
ResourceState_DELETION_PENDING ResourceState = 5
ResourceState_DELETED ResourceState = 6
ResourceState_ERROR ResourceState = 7
ResourceState_CREATION_REQUESTED ResourceState = 1
ResourceState_CREATED ResourceState = 2 // the resource has been created
ResourceState_DELETION_REQUESTED ResourceState = 3
ResourceState_DELETED ResourceState = 4 // the resource has been deleted
)
// Enum value maps for ResourceState.
var (
ResourceState_name = map[int32]string{
0: "RESOURCE_STATE_UNSPECIFIED",
3: "SYNC_PENDING",
4: "SYNCED",
5: "DELETION_PENDING",
6: "DELETED",
7: "ERROR",
1: "CREATION_REQUESTED",
2: "CREATED",
3: "DELETION_REQUESTED",
4: "DELETED",
}
ResourceState_value = map[string]int32{
"RESOURCE_STATE_UNSPECIFIED": 0,
"SYNC_PENDING": 3,
"SYNCED": 4,
"DELETION_PENDING": 5,
"DELETED": 6,
"ERROR": 7,
"CREATION_REQUESTED": 1,
"CREATED": 2,
"DELETION_REQUESTED": 3,
"DELETED": 4,
}
)
......@@ -155,52 +161,52 @@ func (ResourceState) EnumDescriptor() ([]byte, []int) {
}
// principals
type ResourcePermission_ResourcePrincipal int32
type ResourcePermission_PrincipalType int32
const (
ResourcePermission_RESOURCE_PRINCIPAL_UNSPECIFIED ResourcePermission_ResourcePrincipal = 0
ResourcePermission_USER ResourcePermission_ResourcePrincipal = 1
ResourcePermission_GROUP ResourcePermission_ResourcePrincipal = 2
ResourcePermission_RESOURCE_PRINCIPAL_UNSPECIFIED ResourcePermission_PrincipalType = 0
ResourcePermission_USER ResourcePermission_PrincipalType = 1
ResourcePermission_GROUP ResourcePermission_PrincipalType = 2
)
// Enum value maps for ResourcePermission_ResourcePrincipal.
// Enum value maps for ResourcePermission_PrincipalType.
var (
ResourcePermission_ResourcePrincipal_name = map[int32]string{
ResourcePermission_PrincipalType_name = map[int32]string{
0: "RESOURCE_PRINCIPAL_UNSPECIFIED",
1: "USER",
2: "GROUP",
}
ResourcePermission_ResourcePrincipal_value = map[string]int32{
ResourcePermission_PrincipalType_value = map[string]int32{
"RESOURCE_PRINCIPAL_UNSPECIFIED": 0,
"USER": 1,
"GROUP": 2,
}
)
func (x ResourcePermission_ResourcePrincipal) Enum() *ResourcePermission_ResourcePrincipal {
p := new(ResourcePermission_ResourcePrincipal)
func (x ResourcePermission_PrincipalType) Enum() *ResourcePermission_PrincipalType {
p := new(ResourcePermission_PrincipalType)
*p = x
return p
}
func (x ResourcePermission_ResourcePrincipal) String() string {
func (x ResourcePermission_PrincipalType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ResourcePermission_ResourcePrincipal) Descriptor() protoreflect.EnumDescriptor {
func (ResourcePermission_PrincipalType) Descriptor() protoreflect.EnumDescriptor {
return file_sip_resources_resources_proto_enumTypes[2].Descriptor()
}
func (ResourcePermission_ResourcePrincipal) Type() protoreflect.EnumType {
func (ResourcePermission_PrincipalType) Type() protoreflect.EnumType {
return &file_sip_resources_resources_proto_enumTypes[2]
}
func (x ResourcePermission_ResourcePrincipal) Number() protoreflect.EnumNumber {
func (x ResourcePermission_PrincipalType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ResourcePermission_ResourcePrincipal.Descriptor instead.
func (ResourcePermission_ResourcePrincipal) EnumDescriptor() ([]byte, []int) {
// Deprecated: Use ResourcePermission_PrincipalType.Descriptor instead.
func (ResourcePermission_PrincipalType) EnumDescriptor() ([]byte, []int) {
return file_sip_resources_resources_proto_rawDescGZIP(), []int{2, 0}
}
......@@ -329,6 +335,92 @@ func (Resource_Filter_SortBy) EnumDescriptor() ([]byte, []int) {
return file_sip_resources_resources_proto_rawDescGZIP(), []int{8, 0, 0}
}
type SympaMailingListResource_ListType int32
const (
SympaMailingListResource_LIST_TYPE_UNSPECIFIED SympaMailingListResource_ListType = 0
)
// Enum value maps for SympaMailingListResource_ListType.
var (
SympaMailingListResource_ListType_name = map[int32]string{
0: "LIST_TYPE_UNSPECIFIED",
}
SympaMailingListResource_ListType_value = map[string]int32{
"LIST_TYPE_UNSPECIFIED": 0,
}
)
func (x SympaMailingListResource_ListType) Enum() *SympaMailingListResource_ListType {
p := new(SympaMailingListResource_ListType)
*p = x
return p
}
func (x SympaMailingListResource_ListType) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SympaMailingListResource_ListType) Descriptor() protoreflect.EnumDescriptor {
return file_sip_resources_resources_proto_enumTypes[5].Descriptor()
}
func (SympaMailingListResource_ListType) Type() protoreflect.EnumType {
return &file_sip_resources_resources_proto_enumTypes[5]
}
func (x SympaMailingListResource_ListType) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SympaMailingListResource_ListType.Descriptor instead.
func (SympaMailingListResource_ListType) EnumDescriptor() ([]byte, []int) {
return file_sip_resources_resources_proto_rawDescGZIP(), []int{20, 0}
}
type SympaMailingListResource_SendSetup int32
const (
SympaMailingListResource_SEND_SETUP_UNSPECIFIED SympaMailingListResource_SendSetup = 0
)
// Enum value maps for SympaMailingListResource_SendSetup.
var (
SympaMailingListResource_SendSetup_name = map[int32]string{
0: "SEND_SETUP_UNSPECIFIED",
}
SympaMailingListResource_SendSetup_value = map[string]int32{
"SEND_SETUP_UNSPECIFIED": 0,
}
)
func (x SympaMailingListResource_SendSetup) Enum() *SympaMailingListResource_SendSetup {
p := new(SympaMailingListResource_SendSetup)
*p = x
return p
}
func (x SympaMailingListResource_SendSetup) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (SympaMailingListResource_SendSetup) Descriptor() protoreflect.EnumDescriptor {
return file_sip_resources_resources_proto_enumTypes[6].Descriptor()
}
func (SympaMailingListResource_SendSetup) Type() protoreflect.EnumType {
return &file_sip_resources_resources_proto_enumTypes[6]
}
func (x SympaMailingListResource_SendSetup) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use SympaMailingListResource_SendSetup.Descriptor instead.
func (SympaMailingListResource_SendSetup) EnumDescriptor() ([]byte, []int) {
return file_sip_resources_resources_proto_rawDescGZIP(), []int{20, 1}
}
// The ResourceTypeMessage represents general information about the resource in the system.
// EXAMPLE: Resource Type "Shared Drive"
//{
......@@ -344,7 +436,6 @@ type ResourceTypeInfo struct {
unknownFields protoimpl.UnknownFields
// name of the resource
// for example `resourceTypes/$resource_type`
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// the type of the resource
ResourceType ResourceType `protobuf:"varint,2,opt,name=resource_type,json=resourceType,proto3,enum=sip.resources.ResourceType" json:"resource_type,omitempty"`
......@@ -500,7 +591,7 @@ type ResourcePermission struct {
// for users: the Keycloak `sub` (unique identifier) such as `users/8784036e-780f-4545-8b04-02f673fb3093`
PrincipalName string `protobuf:"bytes,2,opt,name=principal_name,json=principalName,proto3" json:"principal_name,omitempty"`
// the type of the principal (can also be read from the name)
PrincipalType ResourcePermission_ResourcePrincipal `protobuf:"varint,3,opt,name=principal_type,json=principalType,proto3,enum=sip.resources.ResourcePermission_ResourcePrincipal" json:"principal_type,omitempty"`
PrincipalType ResourcePermission_PrincipalType `protobuf:"varint,3,opt,name=principal_type,json=principalType,proto3,enum=sip.resources.ResourcePermission_PrincipalType" json:"principal_type,omitempty"`
// the resource type of the permission belongs to
ResourceType ResourceType `protobuf:"varint,4,opt,name=resource_type,json=resourceType,proto3,enum=sip.resources.ResourceType" json:"resource_type,omitempty"`
// the role this principal has
......@@ -557,7 +648,7 @@ func (x *ResourcePermission) GetPrincipalName() string {
return ""
}
func (x *ResourcePermission) GetPrincipalType() ResourcePermission_ResourcePrincipal {
func (x *ResourcePermission) GetPrincipalType() ResourcePermission_PrincipalType {
if x != nil {
return x.PrincipalType
}
......@@ -728,8 +819,8 @@ type CreateResourcePermissionRequest struct {
unknownFields protoimpl.UnknownFields
// the name of the resource to add the permissions to
ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
Permissions []*ResourcePermission `protobuf:"bytes,2,rep,name=permissions,proto3" json:"permissions,omitempty"`
ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
Permission *ResourcePermission `protobuf:"bytes,2,opt,name=permission,proto3" json:"permission,omitempty"`
}
func (x *CreateResourcePermissionRequest) Reset() {
......@@ -771,9 +862,9 @@ func (x *CreateResourcePermissionRequest) GetResourceName() string {
return ""
}
func (x *CreateResourcePermissionRequest) GetPermissions() []*ResourcePermission {
func (x *CreateResourcePermissionRequest) GetPermission() *ResourcePermission {
if x != nil {
return x.Permissions
return x.Permission
}
return nil
}
......@@ -783,7 +874,7 @@ type CreateResourcePermissionResponse struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Permissions []*ResourcePermission `protobuf:"bytes,1,rep,name=permissions,proto3" json:"permissions,omitempty"`
Permission *ResourcePermission `protobuf:"bytes,1,opt,name=permission,proto3" json:"permission,omitempty"`
}
func (x *CreateResourcePermissionResponse) Reset() {
......@@ -818,9 +909,9 @@ func (*CreateResourcePermissionResponse) Descriptor() ([]byte, []int) {
return file_sip_resources_resources_proto_rawDescGZIP(), []int{6}
}
func (x *CreateResourcePermissionResponse) GetPermissions() []*ResourcePermission {
func (x *CreateResourcePermissionResponse) GetPermission() *ResourcePermission {
if x != nil {
return x.Permissions
return x.Permission
}
return nil
}
......@@ -830,8 +921,8 @@ type DeleteResourcePermissionRequest struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
ResourcePermissionNames []string `protobuf:"bytes,2,rep,name=resource_permission_names,json=resourcePermissionNames,proto3" json:"resource_permission_names,omitempty"`
ResourceName string `protobuf:"bytes,1,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
ResourcePermissionName string `protobuf:"bytes,2,opt,name=resource_permission_name,json=resourcePermissionName,proto3" json:"resource_permission_name,omitempty"`
}
func (x *DeleteResourcePermissionRequest) Reset() {
......@@ -873,11 +964,11 @@ func (x *DeleteResourcePermissionRequest) GetResourceName() string {
return ""
}
func (x *DeleteResourcePermissionRequest) GetResourcePermissionNames() []string {
func (x *DeleteResourcePermissionRequest) GetResourcePermissionName() string {
if x != nil {
return x.ResourcePermissionNames
return x.ResourcePermissionName
}
return nil
return ""
}
//
......@@ -904,20 +995,25 @@ type Resource struct {
DisplayName string `protobuf:"bytes,6,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
// human readable description about how the usage / purpose of the resource
Description string `protobuf:"bytes,7,opt,name=description,proto3" json:"description,omitempty"`
// state in target system
// state of the resource
ResourceState ResourceState `protobuf:"varint,8,opt,name=resource_state,json=resourceState,proto3,enum=sip.resources.ResourceState" json:"resource_state,omitempty"`
// the permissions that are defined on this resource
Permissions []*ResourcePermission `protobuf:"bytes,9,rep,name=permissions,proto3" json:"permissions,omitempty"`
// repeated TargetSystemRepresentation target_system_resource = 10;
// more detailed information about each resource. Will be defined based on the type of the resource.
// this element should have the same order as the ResourceType enum
//
// Types that are assignable to ResourceDetails:
// *Resource_MailGlobalConfiguration
// Types that are assignable to Details:
// *Resource_MailGlobal
// *Resource_MailService
// *Resource_MailDistributionList
// *Resource_MailSharedMailbox
// *Resource_SharedDriveResource
// *Resource_ConfluenceResource
ResourceDetails isResource_ResourceDetails `protobuf_oneof:"resource_details"`
// *Resource_MailContact
// *Resource_EthIamGroup
// *Resource_GsuiteSharedDrive
// *Resource_ConfluenceSpace
// *Resource_GitlabGroup
// *Resource_GroupTag
Details isResource_Details `protobuf_oneof:"details"`
}
func (x *Resource) Reset() {
......@@ -1015,81 +1111,146 @@ func (x *Resource) GetPermissions() []*ResourcePermission {
return nil
}
func (m *Resource) GetResourceDetails() isResource_ResourceDetails {
func (m *Resource) GetDetails() isResource_Details {
if m != nil {
return m.ResourceDetails
return m.Details
}
return nil
}
func (x *Resource) GetMailGlobalConfiguration() *MailServiceResource {
if x, ok := x.GetResourceDetails().(*Resource_MailGlobalConfiguration); ok {
return x.MailGlobalConfiguration
func (x *Resource) GetMailGlobal() *MailServiceResource {
if x, ok := x.GetDetails().(*Resource_MailGlobal); ok {
return x.MailGlobal
}
return nil
}
func (x *Resource) GetMailService() *MailServiceResource {
if x, ok := x.GetDetails().(*Resource_MailService); ok {
return x.MailService
}
return nil
}
func (x *Resource) GetMailDistributionList() *MailDistributionListResource {
if x, ok := x.GetResourceDetails().(*Resource_MailDistributionList); ok {
if x, ok := x.GetDetails().(*Resource_MailDistributionList); ok {
return x.MailDistributionList
}
return nil
}
func (x *Resource) GetMailSharedMailbox() *MailSharedMailboxResource {
if x, ok := x.GetResourceDetails().(*Resource_MailSharedMailbox); ok {
if x, ok := x.GetDetails().(*Resource_MailSharedMailbox); ok {
return x.MailSharedMailbox
}
return nil
}
func (x *Resource) GetSharedDriveResource() *SharedDriveResource {
if x, ok := x.GetResourceDetails().(*Resource_SharedDriveResource); ok {
return x.SharedDriveResource
func (x *Resource) GetMailContact() *MailContactResource {
if x, ok := x.GetDetails().(*Resource_MailContact); ok {
return x.MailContact
}
return nil
}
func (x *Resource) GetEthIamGroup() *EthIamGroupResource {
if x, ok := x.GetDetails().(*Resource_EthIamGroup); ok {
return x.EthIamGroup
}
return nil
}
func (x *Resource) GetGsuiteSharedDrive() *GSuiteSharedDriveResource {
if x, ok := x.GetDetails().(*Resource_GsuiteSharedDrive); ok {
return x.GsuiteSharedDrive
}
return nil
}
func (x *Resource) GetConfluenceResource() *ConfluenceResource {
if x, ok := x.GetResourceDetails().(*Resource_ConfluenceResource); ok {
return x.ConfluenceResource
func (x *Resource) GetConfluenceSpace() *ConfluenceSpaceResource {
if x, ok := x.GetDetails().(*Resource_ConfluenceSpace); ok {
return x.ConfluenceSpace
}
return nil
}
type isResource_ResourceDetails interface {
isResource_ResourceDetails()
func (x *Resource) GetGitlabGroup() *GitlabGroupResource {
if x, ok := x.GetDetails().(*Resource_GitlabGroup); ok {
return x.GitlabGroup
}
return nil
}
func (x *Resource) GetGroupTag() *GroupTagResource {
if x, ok := x.GetDetails().(*Resource_GroupTag); ok {
return x.GroupTag
}
return nil
}
type Resource_MailGlobalConfiguration struct {
MailGlobalConfiguration *MailServiceResource `protobuf:"bytes,11,opt,name=mail_global_configuration,json=mailGlobalConfiguration,proto3,oneof"`
type isResource_Details interface {
isResource_Details()
}
type Resource_MailGlobal struct {
MailGlobal *MailServiceResource `protobuf:"bytes,21,opt,name=mail_global,json=mailGlobal,proto3,oneof"`
}
type Resource_MailService struct {
MailService *MailServiceResource `protobuf:"bytes,22,opt,name=mail_service,json=mailService,proto3,oneof"`
}
type Resource_MailDistributionList struct {
MailDistributionList *MailDistributionListResource `protobuf:"bytes,12,opt,name=mail_distribution_list,json=mailDistributionList,proto3,oneof"`
MailDistributionList *MailDistributionListResource `protobuf:"bytes,23,opt,name=mail_distribution_list,json=mailDistributionList,proto3,oneof"`
}
type Resource_MailSharedMailbox struct {
MailSharedMailbox *MailSharedMailboxResource `protobuf:"bytes,13,opt,name=mail_shared_mailbox,json=mailSharedMailbox,proto3,oneof"`
MailSharedMailbox *MailSharedMailboxResource `protobuf:"bytes,24,opt,name=mail_shared_mailbox,json=mailSharedMailbox,proto3,oneof"`
}
type Resource_MailContact struct {
MailContact *MailContactResource `protobuf:"bytes,25,opt,name=mail_contact,json=mailContact,proto3,oneof"`
}
type Resource_SharedDriveResource struct {
SharedDriveResource *SharedDriveResource `protobuf:"bytes,14,opt,name=shared_drive_resource,json=sharedDriveResource,proto3,oneof"`
type Resource_EthIamGroup struct {
EthIamGroup *EthIamGroupResource `protobuf:"bytes,26,opt,name=eth_iam_group,json=ethIamGroup,proto3,oneof"`
}
type Resource_ConfluenceResource struct {
ConfluenceResource *ConfluenceResource `protobuf:"bytes,15,opt,name=confluence_resource,json=confluenceResource,proto3,oneof"`
type Resource_GsuiteSharedDrive struct {
GsuiteSharedDrive *GSuiteSharedDriveResource `protobuf:"bytes,27,opt,name=gsuite_shared_drive,json=gsuiteSharedDrive,proto3,oneof"`
}
func (*Resource_MailGlobalConfiguration) isResource_ResourceDetails() {}
type Resource_ConfluenceSpace struct {
ConfluenceSpace *ConfluenceSpaceResource `protobuf:"bytes,28,opt,name=confluence_space,json=confluenceSpace,proto3,oneof"`
}
type Resource_GitlabGroup struct {
GitlabGroup *GitlabGroupResource `protobuf:"bytes,29,opt,name=gitlab_group,json=gitlabGroup,proto3,oneof"`
}
type Resource_GroupTag struct {
GroupTag *GroupTagResource `protobuf:"bytes,30,opt,name=group_tag,json=groupTag,proto3,oneof"`
}
func (*Resource_MailGlobal) isResource_Details() {}
func (*Resource_MailService) isResource_Details() {}
func (*Resource_MailDistributionList) isResource_ResourceDetails() {}
func (*Resource_MailDistributionList) isResource_Details() {}
func (*Resource_MailSharedMailbox) isResource_ResourceDetails() {}
func (*Resource_MailSharedMailbox) isResource_Details() {}
func (*Resource_SharedDriveResource) isResource_ResourceDetails() {}
func (*Resource_MailContact) isResource_Details() {}
func (*Resource_ConfluenceResource) isResource_ResourceDetails() {}
func (*Resource_EthIamGroup) isResource_Details() {}
func (*Resource_GsuiteSharedDrive) isResource_Details() {}
func (*Resource_ConfluenceSpace) isResource_Details() {}
func (*Resource_GitlabGroup) isResource_Details() {}
func (*Resource_GroupTag) isResource_Details() {}
type ListResourcesRequest struct {
state protoimpl.MessageState
......@@ -1435,6 +1596,8 @@ type MailServiceResource struct {
SharedMailboxQuota int32 `protobuf:"varint,3,opt,name=shared_mailbox_quota,json=sharedMailboxQuota,proto3" json:"shared_mailbox_quota,omitempty"`
// the domains defined on this service.
Domains []*MailServiceResource_MailDomainMessage `protobuf:"bytes,4,rep,name=domains,proto3" json:"domains,omitempty"`
// is added as a suffix to all mail resources
DisplayNameSuffix string `protobuf:"bytes,5,opt,name=display_name_suffix,json=displayNameSuffix,proto3" json:"display_name_suffix,omitempty"`
}
func (x *MailServiceResource) Reset() {
......@@ -1497,13 +1660,20 @@ func (x *MailServiceResource) GetDomains() []*MailServiceResource_MailDomainMess
return nil
}
func (x *MailServiceResource) GetDisplayNameSuffix() string {
if x != nil {
return x.DisplayNameSuffix
}
return ""
}
// MailDistributionListMessage contains specific information for distribution ("verteiler") lists.
type MailDistributionListResource struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PrimaryEmail string `protobuf:"bytes,1,opt,name=primary_email,json=primaryEmail,proto3" json:"primary_email,omitempty"`
Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"`
EmailAliases []string `protobuf:"bytes,2,rep,name=email_aliases,json=emailAliases,proto3" json:"email_aliases,omitempty"`
DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
OrgPrefix string `protobuf:"bytes,4,opt,name=org_prefix,json=orgPrefix,proto3" json:"org_prefix,omitempty"`
......@@ -1541,9 +1711,9 @@ func (*MailDistributionListResource) Descriptor() ([]byte, []int) {
return file_sip_resources_resources_proto_rawDescGZIP(), []int{16}
}
func (x *MailDistributionListResource) GetPrimaryEmail()