222 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			222 lines
		
	
	
		
			9.9 KiB
		
	
	
	
		
			Ruby
		
	
	
	
# 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
 | 
						|
      
 | 
						|
        # Permission to contact owner of the group via web UI. Possbile values are:
 | 
						|
        # 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
 | 
						|
      
 | 
						|
        # Permissions to invite members. Possbile values are: ALL_MEMBERS_CAN_INVITE
 | 
						|
        # ALL_MANAGERS_CAN_INVITE
 | 
						|
        # 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
 | 
						|
        # ALL_MEMBERS_CAN_LEAVE
 | 
						|
        # 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
 | 
						|
      
 | 
						|
        # Permissions to view group. Possbile values are: ANYONE_CAN_VIEW
 | 
						|
        # 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
 | 
						|
      
 | 
						|
        # Permissions to view membership. Possbile values are: ALL_IN_DOMAIN_CAN_VIEW
 | 
						|
        # 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)
 | 
						|
          @allow_external_members = args[:allow_external_members] unless args[:allow_external_members].nil?
 | 
						|
          @allow_google_communication = args[:allow_google_communication] unless args[:allow_google_communication].nil?
 | 
						|
          @allow_web_posting = args[:allow_web_posting] unless args[:allow_web_posting].nil?
 | 
						|
          @archive_only = args[:archive_only] unless args[:archive_only].nil?
 | 
						|
          @custom_reply_to = args[:custom_reply_to] unless args[:custom_reply_to].nil?
 | 
						|
          @default_message_deny_notification_text = args[:default_message_deny_notification_text] unless args[:default_message_deny_notification_text].nil?
 | 
						|
          @description = args[:description] unless args[:description].nil?
 | 
						|
          @email = args[:email] unless args[:email].nil?
 | 
						|
          @include_in_global_address_list = args[:include_in_global_address_list] unless args[:include_in_global_address_list].nil?
 | 
						|
          @is_archived = args[:is_archived] unless args[:is_archived].nil?
 | 
						|
          @kind = args[:kind] unless args[:kind].nil?
 | 
						|
          @max_message_bytes = args[:max_message_bytes] unless args[:max_message_bytes].nil?
 | 
						|
          @members_can_post_as_the_group = args[:members_can_post_as_the_group] unless args[:members_can_post_as_the_group].nil?
 | 
						|
          @message_display_font = args[:message_display_font] unless args[:message_display_font].nil?
 | 
						|
          @message_moderation_level = args[:message_moderation_level] unless args[:message_moderation_level].nil?
 | 
						|
          @name = args[:name] unless args[:name].nil?
 | 
						|
          @primary_language = args[:primary_language] unless args[:primary_language].nil?
 | 
						|
          @reply_to = args[:reply_to] unless args[:reply_to].nil?
 | 
						|
          @send_message_deny_notification = args[:send_message_deny_notification] unless args[:send_message_deny_notification].nil?
 | 
						|
          @show_in_group_directory = args[:show_in_group_directory] unless args[:show_in_group_directory].nil?
 | 
						|
          @spam_moderation_level = args[:spam_moderation_level] unless args[:spam_moderation_level].nil?
 | 
						|
          @who_can_contact_owner = args[:who_can_contact_owner] unless args[:who_can_contact_owner].nil?
 | 
						|
          @who_can_invite = args[:who_can_invite] unless args[:who_can_invite].nil?
 | 
						|
          @who_can_join = args[:who_can_join] unless args[:who_can_join].nil?
 | 
						|
          @who_can_leave_group = args[:who_can_leave_group] unless args[:who_can_leave_group].nil?
 | 
						|
          @who_can_post_message = args[:who_can_post_message] unless args[:who_can_post_message].nil?
 | 
						|
          @who_can_view_group = args[:who_can_view_group] unless args[:who_can_view_group].nil?
 | 
						|
          @who_can_view_membership = args[:who_can_view_membership] unless args[:who_can_view_membership].nil?
 | 
						|
        end
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |