2015-06-23 23:05:46 +00:00
|
|
|
# Copyright 2015 Google Inc.
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
|
|
|
|
require 'date'
|
|
|
|
require 'google/apis/core/base_service'
|
|
|
|
require 'google/apis/core/json_representation'
|
|
|
|
require 'google/apis/core/hashable'
|
|
|
|
require 'google/apis/errors'
|
|
|
|
|
|
|
|
module Google
|
|
|
|
module Apis
|
|
|
|
module GroupssettingsV1
|
|
|
|
|
|
|
|
# JSON template for Group resource
|
|
|
|
class Groups
|
|
|
|
include Google::Apis::Core::Hashable
|
|
|
|
|
|
|
|
# Are external members allowed to join the group.
|
|
|
|
# Corresponds to the JSON property `allowExternalMembers`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :allow_external_members
|
|
|
|
|
|
|
|
# Is google allowed to contact admins.
|
|
|
|
# Corresponds to the JSON property `allowGoogleCommunication`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :allow_google_communication
|
|
|
|
|
|
|
|
# If posting from web is allowed.
|
|
|
|
# Corresponds to the JSON property `allowWebPosting`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :allow_web_posting
|
|
|
|
|
|
|
|
# If the group is archive only
|
|
|
|
# Corresponds to the JSON property `archiveOnly`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :archive_only
|
|
|
|
|
|
|
|
# Default email to which reply to any message should go.
|
|
|
|
# Corresponds to the JSON property `customReplyTo`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :custom_reply_to
|
|
|
|
|
|
|
|
# Default message deny notification message
|
|
|
|
# Corresponds to the JSON property `defaultMessageDenyNotificationText`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :default_message_deny_notification_text
|
|
|
|
|
|
|
|
# Description of the group
|
|
|
|
# Corresponds to the JSON property `description`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :description
|
|
|
|
|
|
|
|
# Email id of the group
|
|
|
|
# Corresponds to the JSON property `email`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :email
|
|
|
|
|
|
|
|
# If this groups should be included in global address list or not.
|
|
|
|
# Corresponds to the JSON property `includeInGlobalAddressList`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :include_in_global_address_list
|
|
|
|
|
|
|
|
# If the contents of the group are archived.
|
|
|
|
# Corresponds to the JSON property `isArchived`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :is_archived
|
|
|
|
|
|
|
|
# The type of the resource.
|
|
|
|
# Corresponds to the JSON property `kind`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :kind
|
|
|
|
|
|
|
|
# Maximum message size allowed.
|
|
|
|
# Corresponds to the JSON property `maxMessageBytes`
|
|
|
|
# @return [Fixnum]
|
|
|
|
attr_accessor :max_message_bytes
|
|
|
|
|
|
|
|
# Can members post using the group email address.
|
|
|
|
# Corresponds to the JSON property `membersCanPostAsTheGroup`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :members_can_post_as_the_group
|
|
|
|
|
|
|
|
# Default message display font. Possible values are: DEFAULT_FONT
|
|
|
|
# FIXED_WIDTH_FONT
|
|
|
|
# Corresponds to the JSON property `messageDisplayFont`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :message_display_font
|
|
|
|
|
|
|
|
# Moderation level for messages. Possible values are: MODERATE_ALL_MESSAGES
|
|
|
|
# MODERATE_NON_MEMBERS MODERATE_NEW_MEMBERS MODERATE_NONE
|
|
|
|
# Corresponds to the JSON property `messageModerationLevel`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :message_moderation_level
|
|
|
|
|
|
|
|
# Name of the Group
|
|
|
|
# Corresponds to the JSON property `name`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :name
|
|
|
|
|
|
|
|
# Primary language for the group.
|
|
|
|
# Corresponds to the JSON property `primaryLanguage`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :primary_language
|
|
|
|
|
|
|
|
# Whome should the default reply to a message go to. Possible values are:
|
|
|
|
# REPLY_TO_CUSTOM REPLY_TO_SENDER REPLY_TO_LIST REPLY_TO_OWNER REPLY_TO_IGNORE
|
|
|
|
# REPLY_TO_MANAGERS
|
|
|
|
# Corresponds to the JSON property `replyTo`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :reply_to
|
|
|
|
|
|
|
|
# Should the member be notified if his message is denied by owner.
|
|
|
|
# Corresponds to the JSON property `sendMessageDenyNotification`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :send_message_deny_notification
|
|
|
|
|
|
|
|
# Is the group listed in groups directory
|
|
|
|
# Corresponds to the JSON property `showInGroupDirectory`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :show_in_group_directory
|
|
|
|
|
|
|
|
# Moderation level for messages detected as spam. Possible values are: ALLOW
|
|
|
|
# MODERATE SILENTLY_MODERATE REJECT
|
|
|
|
# Corresponds to the JSON property `spamModerationLevel`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :spam_moderation_level
|
|
|
|
|
2016-04-14 18:15:27 +00:00
|
|
|
# Permissions to add members. Possible values are: ALL_MANAGERS_CAN_ADD
|
|
|
|
# ALL_MEMBERS_CAN_ADD NONE_CAN_ADD
|
|
|
|
# Corresponds to the JSON property `whoCanAdd`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :who_can_add
|
|
|
|
|
|
|
|
# Permission to contact owner of the group via web UI. Possible values are:
|
2015-06-23 23:05:46 +00:00
|
|
|
# ANYONE_CAN_CONTACT ALL_IN_DOMAIN_CAN_CONTACT ALL_MEMBERS_CAN_CONTACT
|
|
|
|
# ALL_MANAGERS_CAN_CONTACT
|
|
|
|
# Corresponds to the JSON property `whoCanContactOwner`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :who_can_contact_owner
|
|
|
|
|
2016-04-14 18:15:27 +00:00
|
|
|
# Permissions to invite members. Possible values are: ALL_MEMBERS_CAN_INVITE
|
|
|
|
# ALL_MANAGERS_CAN_INVITE NONE_CAN_INVITE
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `whoCanInvite`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :who_can_invite
|
|
|
|
|
|
|
|
# Permissions to join the group. Possible values are: ANYONE_CAN_JOIN
|
|
|
|
# ALL_IN_DOMAIN_CAN_JOIN INVITED_CAN_JOIN CAN_REQUEST_TO_JOIN
|
|
|
|
# Corresponds to the JSON property `whoCanJoin`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :who_can_join
|
|
|
|
|
|
|
|
# Permission to leave the group. Possible values are: ALL_MANAGERS_CAN_LEAVE
|
2016-04-14 18:15:27 +00:00
|
|
|
# ALL_MEMBERS_CAN_LEAVE NONE_CAN_LEAVE
|
2015-06-23 23:05:46 +00:00
|
|
|
# Corresponds to the JSON property `whoCanLeaveGroup`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :who_can_leave_group
|
|
|
|
|
|
|
|
# Permissions to post messages to the group. Possible values are: NONE_CAN_POST
|
|
|
|
# ALL_MANAGERS_CAN_POST ALL_MEMBERS_CAN_POST ALL_IN_DOMAIN_CAN_POST
|
|
|
|
# ANYONE_CAN_POST
|
|
|
|
# Corresponds to the JSON property `whoCanPostMessage`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :who_can_post_message
|
|
|
|
|
2016-04-14 18:15:27 +00:00
|
|
|
# Permissions to view group. Possible values are: ANYONE_CAN_VIEW
|
2015-06-23 23:05:46 +00:00
|
|
|
# ALL_IN_DOMAIN_CAN_VIEW ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
|
|
|
|
# Corresponds to the JSON property `whoCanViewGroup`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :who_can_view_group
|
|
|
|
|
2016-04-14 18:15:27 +00:00
|
|
|
# Permissions to view membership. Possible values are: ALL_IN_DOMAIN_CAN_VIEW
|
2015-06-23 23:05:46 +00:00
|
|
|
# ALL_MEMBERS_CAN_VIEW ALL_MANAGERS_CAN_VIEW
|
|
|
|
# Corresponds to the JSON property `whoCanViewMembership`
|
|
|
|
# @return [String]
|
|
|
|
attr_accessor :who_can_view_membership
|
|
|
|
|
|
|
|
def initialize(**args)
|
|
|
|
update!(**args)
|
|
|
|
end
|
|
|
|
|
|
|
|
# Update properties of this object
|
|
|
|
def update!(**args)
|
2016-01-29 22:32:46 +00:00
|
|
|
@allow_external_members = args[:allow_external_members] if args.key?(:allow_external_members)
|
|
|
|
@allow_google_communication = args[:allow_google_communication] if args.key?(:allow_google_communication)
|
|
|
|
@allow_web_posting = args[:allow_web_posting] if args.key?(:allow_web_posting)
|
|
|
|
@archive_only = args[:archive_only] if args.key?(:archive_only)
|
|
|
|
@custom_reply_to = args[:custom_reply_to] if args.key?(:custom_reply_to)
|
|
|
|
@default_message_deny_notification_text = args[:default_message_deny_notification_text] if args.key?(:default_message_deny_notification_text)
|
|
|
|
@description = args[:description] if args.key?(:description)
|
|
|
|
@email = args[:email] if args.key?(:email)
|
|
|
|
@include_in_global_address_list = args[:include_in_global_address_list] if args.key?(:include_in_global_address_list)
|
|
|
|
@is_archived = args[:is_archived] if args.key?(:is_archived)
|
|
|
|
@kind = args[:kind] if args.key?(:kind)
|
|
|
|
@max_message_bytes = args[:max_message_bytes] if args.key?(:max_message_bytes)
|
|
|
|
@members_can_post_as_the_group = args[:members_can_post_as_the_group] if args.key?(:members_can_post_as_the_group)
|
|
|
|
@message_display_font = args[:message_display_font] if args.key?(:message_display_font)
|
|
|
|
@message_moderation_level = args[:message_moderation_level] if args.key?(:message_moderation_level)
|
|
|
|
@name = args[:name] if args.key?(:name)
|
|
|
|
@primary_language = args[:primary_language] if args.key?(:primary_language)
|
|
|
|
@reply_to = args[:reply_to] if args.key?(:reply_to)
|
|
|
|
@send_message_deny_notification = args[:send_message_deny_notification] if args.key?(:send_message_deny_notification)
|
|
|
|
@show_in_group_directory = args[:show_in_group_directory] if args.key?(:show_in_group_directory)
|
|
|
|
@spam_moderation_level = args[:spam_moderation_level] if args.key?(:spam_moderation_level)
|
2016-04-14 18:15:27 +00:00
|
|
|
@who_can_add = args[:who_can_add] if args.key?(:who_can_add)
|
2016-01-29 22:32:46 +00:00
|
|
|
@who_can_contact_owner = args[:who_can_contact_owner] if args.key?(:who_can_contact_owner)
|
|
|
|
@who_can_invite = args[:who_can_invite] if args.key?(:who_can_invite)
|
|
|
|
@who_can_join = args[:who_can_join] if args.key?(:who_can_join)
|
|
|
|
@who_can_leave_group = args[:who_can_leave_group] if args.key?(:who_can_leave_group)
|
|
|
|
@who_can_post_message = args[:who_can_post_message] if args.key?(:who_can_post_message)
|
|
|
|
@who_can_view_group = args[:who_can_view_group] if args.key?(:who_can_view_group)
|
|
|
|
@who_can_view_membership = args[:who_can_view_membership] if args.key?(:who_can_view_membership)
|
2015-06-23 23:05:46 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|