555 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			555 lines
		
	
	
		
			18 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 VaultV1
 | 
						|
      
 | 
						|
      # Add an account with the permission specified. The role cannot be owner.
 | 
						|
      # If an account already has a role in the matter, it will be
 | 
						|
      # overwritten.
 | 
						|
      class AddMatterPermissionsRequest
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Only relevant if send_emails is true.
 | 
						|
        # True to CC requestor in the email message.
 | 
						|
        # False to not CC requestor.
 | 
						|
        # Corresponds to the JSON property `ccMe`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :cc_me
 | 
						|
        alias_method :cc_me?, :cc_me
 | 
						|
      
 | 
						|
        # Currently each matter only has one owner, and all others are collaborators.
 | 
						|
        # When an account is purged, its corresponding MatterPermission resources
 | 
						|
        # cease to exist.
 | 
						|
        # Corresponds to the JSON property `matterPermission`
 | 
						|
        # @return [Google::Apis::VaultV1::MatterPermission]
 | 
						|
        attr_accessor :matter_permission
 | 
						|
      
 | 
						|
        # True to send notification email to the added account.
 | 
						|
        # False to not send notification email.
 | 
						|
        # Corresponds to the JSON property `sendEmails`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :send_emails
 | 
						|
        alias_method :send_emails?, :send_emails
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @cc_me = args[:cc_me] if args.key?(:cc_me)
 | 
						|
          @matter_permission = args[:matter_permission] if args.key?(:matter_permission)
 | 
						|
          @send_emails = args[:send_emails] if args.key?(:send_emails)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Close a matter by ID.
 | 
						|
      class CloseMatterRequest
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Response to a CloseMatterRequest.
 | 
						|
      class CloseMatterResponse
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Represents a matter.
 | 
						|
        # Corresponds to the JSON property `matter`
 | 
						|
        # @return [Google::Apis::VaultV1::Matter]
 | 
						|
        attr_accessor :matter
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @matter = args[:matter] if args.key?(:matter)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Corpus specific queries.
 | 
						|
      class CorpusQuery
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Query options for drive holds.
 | 
						|
        # Corresponds to the JSON property `driveQuery`
 | 
						|
        # @return [Google::Apis::VaultV1::HeldDriveQuery]
 | 
						|
        attr_accessor :drive_query
 | 
						|
      
 | 
						|
        # Query options for group holds.
 | 
						|
        # Corresponds to the JSON property `groupsQuery`
 | 
						|
        # @return [Google::Apis::VaultV1::HeldGroupsQuery]
 | 
						|
        attr_accessor :groups_query
 | 
						|
      
 | 
						|
        # Query options for mail holds.
 | 
						|
        # Corresponds to the JSON property `mailQuery`
 | 
						|
        # @return [Google::Apis::VaultV1::HeldMailQuery]
 | 
						|
        attr_accessor :mail_query
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @drive_query = args[:drive_query] if args.key?(:drive_query)
 | 
						|
          @groups_query = args[:groups_query] if args.key?(:groups_query)
 | 
						|
          @mail_query = args[:mail_query] if args.key?(:mail_query)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A generic empty message that you can re-use to avoid defining duplicated
 | 
						|
      # empty messages in your APIs. A typical example is to use it as the request
 | 
						|
      # or the response type of an API method. For instance:
 | 
						|
      # service Foo `
 | 
						|
      # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
 | 
						|
      # `
 | 
						|
      # The JSON representation for `Empty` is empty JSON object ````.
 | 
						|
      class Empty
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # An account being held in a particular hold. This structure is immutable.
 | 
						|
      # This can be either a single user or a google group, depending on the corpus.
 | 
						|
      class HeldAccount
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The account's ID as provided by the
 | 
						|
        # <a href="https://developers.google.com/admin-sdk/">Admin SDK</a>.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # When the account was put on hold.
 | 
						|
        # Corresponds to the JSON property `holdTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :hold_time
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @hold_time = args[:hold_time] if args.key?(:hold_time)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Query options for drive holds.
 | 
						|
      class HeldDriveQuery
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # If true, include files in Team Drives in the hold.
 | 
						|
        # Corresponds to the JSON property `includeTeamDriveFiles`
 | 
						|
        # @return [Boolean]
 | 
						|
        attr_accessor :include_team_drive_files
 | 
						|
        alias_method :include_team_drive_files?, :include_team_drive_files
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @include_team_drive_files = args[:include_team_drive_files] if args.key?(:include_team_drive_files)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Query options for group holds.
 | 
						|
      class HeldGroupsQuery
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The end date range for the search query. These timestamps are in GMT and
 | 
						|
        # rounded down to the start of the given date.
 | 
						|
        # Corresponds to the JSON property `endTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :end_time
 | 
						|
      
 | 
						|
        # The start date range for the search query. These timestamps are in GMT and
 | 
						|
        # rounded down to the start of the given date.
 | 
						|
        # Corresponds to the JSON property `startTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :start_time
 | 
						|
      
 | 
						|
        # The search terms for the hold.
 | 
						|
        # Corresponds to the JSON property `terms`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :terms
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @end_time = args[:end_time] if args.key?(:end_time)
 | 
						|
          @start_time = args[:start_time] if args.key?(:start_time)
 | 
						|
          @terms = args[:terms] if args.key?(:terms)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Query options for mail holds.
 | 
						|
      class HeldMailQuery
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The end date range for the search query. These timestamps are in GMT and
 | 
						|
        # rounded down to the start of the given date.
 | 
						|
        # Corresponds to the JSON property `endTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :end_time
 | 
						|
      
 | 
						|
        # The start date range for the search query. These timestamps are in GMT and
 | 
						|
        # rounded down to the start of the given date.
 | 
						|
        # Corresponds to the JSON property `startTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :start_time
 | 
						|
      
 | 
						|
        # The search terms for the hold.
 | 
						|
        # Corresponds to the JSON property `terms`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :terms
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @end_time = args[:end_time] if args.key?(:end_time)
 | 
						|
          @start_time = args[:start_time] if args.key?(:start_time)
 | 
						|
          @terms = args[:terms] if args.key?(:terms)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # A organizational unit being held in a particular hold.
 | 
						|
      # This structure is immutable.
 | 
						|
      class HeldOrgUnit
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # When the org unit was put on hold. This property is immutable.
 | 
						|
        # Corresponds to the JSON property `holdTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :hold_time
 | 
						|
      
 | 
						|
        # The org unit's immutable ID as provided by the admin SDK.
 | 
						|
        # Corresponds to the JSON property `orgUnitId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :org_unit_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @hold_time = args[:hold_time] if args.key?(:hold_time)
 | 
						|
          @org_unit_id = args[:org_unit_id] if args.key?(:org_unit_id)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Represents a hold within Vault. A hold restricts purging of
 | 
						|
      # artifacts based on the combination of the query and accounts restrictions.
 | 
						|
      # A hold can be configured to either apply to an explicitly configured set
 | 
						|
      # of accounts, or can be applied to all members of an organizational unit.
 | 
						|
      class Hold
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # If set, the hold applies to the enumerated accounts and org_unit must be
 | 
						|
        # empty.
 | 
						|
        # Corresponds to the JSON property `accounts`
 | 
						|
        # @return [Array<Google::Apis::VaultV1::HeldAccount>]
 | 
						|
        attr_accessor :accounts
 | 
						|
      
 | 
						|
        # The corpus to be searched.
 | 
						|
        # Corresponds to the JSON property `corpus`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :corpus
 | 
						|
      
 | 
						|
        # The unique immutable ID of the hold. Assigned during creation.
 | 
						|
        # Corresponds to the JSON property `holdId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :hold_id
 | 
						|
      
 | 
						|
        # The name of the hold.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # A organizational unit being held in a particular hold.
 | 
						|
        # This structure is immutable.
 | 
						|
        # Corresponds to the JSON property `orgUnit`
 | 
						|
        # @return [Google::Apis::VaultV1::HeldOrgUnit]
 | 
						|
        attr_accessor :org_unit
 | 
						|
      
 | 
						|
        # Corpus specific queries.
 | 
						|
        # Corresponds to the JSON property `query`
 | 
						|
        # @return [Google::Apis::VaultV1::CorpusQuery]
 | 
						|
        attr_accessor :query
 | 
						|
      
 | 
						|
        # The last time this hold was modified.
 | 
						|
        # Corresponds to the JSON property `updateTime`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :update_time
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @accounts = args[:accounts] if args.key?(:accounts)
 | 
						|
          @corpus = args[:corpus] if args.key?(:corpus)
 | 
						|
          @hold_id = args[:hold_id] if args.key?(:hold_id)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @org_unit = args[:org_unit] if args.key?(:org_unit)
 | 
						|
          @query = args[:query] if args.key?(:query)
 | 
						|
          @update_time = args[:update_time] if args.key?(:update_time)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Returns a list of held accounts for a hold.
 | 
						|
      class ListHeldAccountsResponse
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The held accounts on a hold.
 | 
						|
        # Corresponds to the JSON property `accounts`
 | 
						|
        # @return [Array<Google::Apis::VaultV1::HeldAccount>]
 | 
						|
        attr_accessor :accounts
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @accounts = args[:accounts] if args.key?(:accounts)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # The holds for a matter.
 | 
						|
      class ListHoldsResponse
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The list of holds.
 | 
						|
        # Corresponds to the JSON property `holds`
 | 
						|
        # @return [Array<Google::Apis::VaultV1::Hold>]
 | 
						|
        attr_accessor :holds
 | 
						|
      
 | 
						|
        # Page token to retrieve the next page of results in the list.
 | 
						|
        # If this is empty, then there are no more holds to list.
 | 
						|
        # Corresponds to the JSON property `nextPageToken`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_page_token
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @holds = args[:holds] if args.key?(:holds)
 | 
						|
          @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Provides the list of matters.
 | 
						|
      class ListMattersResponse
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # List of matters.
 | 
						|
        # Corresponds to the JSON property `matters`
 | 
						|
        # @return [Array<Google::Apis::VaultV1::Matter>]
 | 
						|
        attr_accessor :matters
 | 
						|
      
 | 
						|
        # Page token to retrieve the next page of results in the list.
 | 
						|
        # Corresponds to the JSON property `nextPageToken`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :next_page_token
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @matters = args[:matters] if args.key?(:matters)
 | 
						|
          @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Represents a matter.
 | 
						|
      class Matter
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The description of the matter.
 | 
						|
        # Corresponds to the JSON property `description`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :description
 | 
						|
      
 | 
						|
        # The matter ID which is generated by the server.
 | 
						|
        # Should be blank when creating a new matter.
 | 
						|
        # Corresponds to the JSON property `matterId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :matter_id
 | 
						|
      
 | 
						|
        # List of users and access to the matter. Currently there is no programmer
 | 
						|
        # defined limit on the number of permissions a matter can have.
 | 
						|
        # Corresponds to the JSON property `matterPermissions`
 | 
						|
        # @return [Array<Google::Apis::VaultV1::MatterPermission>]
 | 
						|
        attr_accessor :matter_permissions
 | 
						|
      
 | 
						|
        # The name of the matter.
 | 
						|
        # Corresponds to the JSON property `name`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :name
 | 
						|
      
 | 
						|
        # The state of the matter.
 | 
						|
        # Corresponds to the JSON property `state`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :state
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @description = args[:description] if args.key?(:description)
 | 
						|
          @matter_id = args[:matter_id] if args.key?(:matter_id)
 | 
						|
          @matter_permissions = args[:matter_permissions] if args.key?(:matter_permissions)
 | 
						|
          @name = args[:name] if args.key?(:name)
 | 
						|
          @state = args[:state] if args.key?(:state)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Currently each matter only has one owner, and all others are collaborators.
 | 
						|
      # When an account is purged, its corresponding MatterPermission resources
 | 
						|
      # cease to exist.
 | 
						|
      class MatterPermission
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The account id, as provided by <a href="https://developers.google.com/admin-
 | 
						|
        # sdk/">Admin SDK</a>.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        # The user's role in this matter.
 | 
						|
        # Corresponds to the JSON property `role`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :role
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
          @role = args[:role] if args.key?(:role)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Remove an account as a matter collaborator.
 | 
						|
      class RemoveMatterPermissionsRequest
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # The account ID.
 | 
						|
        # Corresponds to the JSON property `accountId`
 | 
						|
        # @return [String]
 | 
						|
        attr_accessor :account_id
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @account_id = args[:account_id] if args.key?(:account_id)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Reopen a matter by ID.
 | 
						|
      class ReopenMatterRequest
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Response to a ReopenMatterRequest.
 | 
						|
      class ReopenMatterResponse
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        # Represents a matter.
 | 
						|
        # Corresponds to the JSON property `matter`
 | 
						|
        # @return [Google::Apis::VaultV1::Matter]
 | 
						|
        attr_accessor :matter
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
          @matter = args[:matter] if args.key?(:matter)
 | 
						|
        end
 | 
						|
      end
 | 
						|
      
 | 
						|
      # Undelete a matter by ID.
 | 
						|
      class UndeleteMatterRequest
 | 
						|
        include Google::Apis::Core::Hashable
 | 
						|
      
 | 
						|
        def initialize(**args)
 | 
						|
           update!(**args)
 | 
						|
        end
 | 
						|
      
 | 
						|
        # Update properties of this object
 | 
						|
        def update!(**args)
 | 
						|
        end
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |