# 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 OsloginV1alpha # 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 # A response message for importing an SSH public key. class ImportSshPublicKeyResponse include Google::Apis::Core::Hashable # Detailed information about import results. # Corresponds to the JSON property `details` # @return [String] attr_accessor :details # The user profile information used for logging in to a virtual machine on # Google Compute Engine. # Corresponds to the JSON property `loginProfile` # @return [Google::Apis::OsloginV1alpha::LoginProfile] attr_accessor :login_profile def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @details = args[:details] if args.key?(:details) @login_profile = args[:login_profile] if args.key?(:login_profile) end end # The user profile information used for logging in to a virtual machine on # Google Compute Engine. class LoginProfile include Google::Apis::Core::Hashable # Required. A unique user ID. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The list of POSIX accounts associated with the user. # Corresponds to the JSON property `posixAccounts` # @return [Array] attr_accessor :posix_accounts # A map from SSH public key fingerprint to the associated key object. # Corresponds to the JSON property `sshPublicKeys` # @return [Hash] attr_accessor :ssh_public_keys def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @posix_accounts = args[:posix_accounts] if args.key?(:posix_accounts) @ssh_public_keys = args[:ssh_public_keys] if args.key?(:ssh_public_keys) end end # The POSIX account information associated with a Google account. class PosixAccount include Google::Apis::Core::Hashable # Output only. A POSIX account identifier. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # The GECOS (user information) entry for this account. # Corresponds to the JSON property `gecos` # @return [String] attr_accessor :gecos # The default group ID. # Corresponds to the JSON property `gid` # @return [Fixnum] attr_accessor :gid # The path to the home directory for this account. # Corresponds to the JSON property `homeDirectory` # @return [String] attr_accessor :home_directory # Output only. The canonical resource name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The operating system type where this account applies. # Corresponds to the JSON property `operatingSystemType` # @return [String] attr_accessor :operating_system_type # Only one POSIX account can be marked as primary. # Corresponds to the JSON property `primary` # @return [Boolean] attr_accessor :primary alias_method :primary?, :primary # The path to the logic shell for this account. # Corresponds to the JSON property `shell` # @return [String] attr_accessor :shell # System identifier for which account the username or uid applies to. By default, # the empty value is used. # Corresponds to the JSON property `systemId` # @return [String] attr_accessor :system_id # The user ID. # Corresponds to the JSON property `uid` # @return [Fixnum] attr_accessor :uid # The username of the POSIX account. # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @gecos = args[:gecos] if args.key?(:gecos) @gid = args[:gid] if args.key?(:gid) @home_directory = args[:home_directory] if args.key?(:home_directory) @name = args[:name] if args.key?(:name) @operating_system_type = args[:operating_system_type] if args.key?(:operating_system_type) @primary = args[:primary] if args.key?(:primary) @shell = args[:shell] if args.key?(:shell) @system_id = args[:system_id] if args.key?(:system_id) @uid = args[:uid] if args.key?(:uid) @username = args[:username] if args.key?(:username) end end # The SSH public key information associated with a Google account. class SshPublicKey include Google::Apis::Core::Hashable # An expiration time in microseconds since epoch. # Corresponds to the JSON property `expirationTimeUsec` # @return [Fixnum] attr_accessor :expiration_time_usec # Output only. The SHA-256 fingerprint of the SSH public key. # Corresponds to the JSON property `fingerprint` # @return [String] attr_accessor :fingerprint # Public key text in SSH format, defined by RFC4253 section 6.6. # Corresponds to the JSON property `key` # @return [String] attr_accessor :key # Output only. The canonical resource name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @expiration_time_usec = args[:expiration_time_usec] if args.key?(:expiration_time_usec) @fingerprint = args[:fingerprint] if args.key?(:fingerprint) @key = args[:key] if args.key?(:key) @name = args[:name] if args.key?(:name) end end end end end