Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Automated regeneration of VerifiedAccess client #10931

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defmodule GoogleApi.VerifiedAccess.V1 do
API client metadata for GoogleApi.VerifiedAccess.V1.
"""

@discovery_revision "20221004"
@discovery_revision "20240305"

def discovery_revision(), do: @discovery_revision
end
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ defmodule GoogleApi.VerifiedAccess.V1.Model.VerifyChallengeResponseResult do

## Attributes

* `attestedDeviceId` (*type:* `String.t`, *default:* `nil`) - Attested device id (ADID) of the device, read from the verified data.
* `deviceEnrollmentId` (*type:* `String.t`, *default:* `nil`) - Device enrollment id is returned in this field (for the machine response only).
* `devicePermanentId` (*type:* `String.t`, *default:* `nil`) - Device permanent id is returned in this field (for the machine response only).
* `signedPublicKeyAndChallenge` (*type:* `String.t`, *default:* `nil`) - Certificate Signing Request (in the SPKAC format, base64 encoded) is returned in this field. This field will be set only if device has included CSR in its challenge response. (the option to include CSR is now available for both user and machine responses)
Expand All @@ -30,12 +31,14 @@ defmodule GoogleApi.VerifiedAccess.V1.Model.VerifyChallengeResponseResult do
use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:attestedDeviceId => String.t() | nil,
:deviceEnrollmentId => String.t() | nil,
:devicePermanentId => String.t() | nil,
:signedPublicKeyAndChallenge => String.t() | nil,
:verificationOutput => String.t() | nil
}

field(:attestedDeviceId)
field(:deviceEnrollmentId)
field(:devicePermanentId)
field(:signedPublicKeyAndChallenge)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ defmodule GoogleApi.VerifiedAccess.V2 do
API client metadata for GoogleApi.VerifiedAccess.V2.
"""

@discovery_revision "20221004"
@discovery_revision "20240305"

def discovery_revision(), do: @discovery_revision
end
Original file line number Diff line number Diff line change
Expand Up @@ -21,18 +21,15 @@ defmodule GoogleApi.VerifiedAccess.V2.Model.Challenge do

## Attributes

* `alternativeChallenge` (*type:* `String.t`, *default:* `nil`) - Challenge generated with the old signing key, the bytes representation of SignedData (this will only be present during key rotation).
* `challenge` (*type:* `String.t`, *default:* `nil`) - Generated challenge, the bytes representation of SignedData.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:alternativeChallenge => String.t() | nil,
:challenge => String.t() | nil
}

field(:alternativeChallenge)
field(:challenge)
end

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Copyright 2019 Google LLC
#
# 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.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.VerifiedAccess.V2.Model.CrowdStrikeAgent do
@moduledoc """
Properties of the CrowdStrike agent installed on a device.

## Attributes

* `agentId` (*type:* `String.t`, *default:* `nil`) - The Agent ID of the Crowdstrike agent.
* `customerId` (*type:* `String.t`, *default:* `nil`) - The Customer ID to which the agent belongs to.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:agentId => String.t() | nil,
:customerId => String.t() | nil
}

field(:agentId)
field(:customerId)
end

defimpl Poison.Decoder, for: GoogleApi.VerifiedAccess.V2.Model.CrowdStrikeAgent do
def decode(value, options) do
GoogleApi.VerifiedAccess.V2.Model.CrowdStrikeAgent.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.VerifiedAccess.V2.Model.CrowdStrikeAgent do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
# Copyright 2019 Google LLC
#
# 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.

# NOTE: This file is auto generated by the elixir code generator program.
# Do not edit this file manually.

defmodule GoogleApi.VerifiedAccess.V2.Model.DeviceSignals do
@moduledoc """
The device signals as reported by Chrome. Unless otherwise specified, signals are available on all platforms.

## Attributes

* `allowScreenLock` (*type:* `boolean()`, *default:* `nil`) - Value of the AllowScreenLock policy on the device. See https://chromeenterprise.google/policies/?policy=AllowScreenLock for more details. Available on ChromeOS only.
* `browserVersion` (*type:* `String.t`, *default:* `nil`) - Current version of the Chrome browser which generated this set of signals. Example value: "107.0.5286.0".
* `builtInDnsClientEnabled` (*type:* `boolean()`, *default:* `nil`) - Whether Chrome's built-in DNS client is used. The OS DNS client is otherwise used. This value may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#BuiltInDnsClientEnabled.
* `chromeRemoteDesktopAppBlocked` (*type:* `boolean()`, *default:* `nil`) - Whether access to the Chrome Remote Desktop application is blocked via a policy.
* `crowdStrikeAgent` (*type:* `GoogleApi.VerifiedAccess.V2.Model.CrowdStrikeAgent.t`, *default:* `nil`) - Crowdstrike agent properties installed on the device, if any. Available on Windows and MacOS only.
* `deviceAffiliationIds` (*type:* `list(String.t)`, *default:* `nil`) - Affiliation IDs of the organizations that are affiliated with the organization that is currently managing the device. When the sets of device and profile affiliation IDs overlap, it means that the organizations managing the device and user are affiliated. To learn more about user affiliation, visit https://support.google.com/chrome/a/answer/12801245?ref_topic=9027936.
* `deviceEnrollmentDomain` (*type:* `String.t`, *default:* `nil`) - Enrollment domain of the customer which is currently managing the device.
* `deviceManufacturer` (*type:* `String.t`, *default:* `nil`) - The name of the device's manufacturer.
* `deviceModel` (*type:* `String.t`, *default:* `nil`) - The name of the device's model.
* `diskEncryption` (*type:* `String.t`, *default:* `nil`) - The encryption state of the disk. On ChromeOS, the main disk is always ENCRYPTED.
* `displayName` (*type:* `String.t`, *default:* `nil`) - The display name of the device, as defined by the user.
* `hostname` (*type:* `String.t`, *default:* `nil`) - Hostname of the device.
* `imei` (*type:* `list(String.t)`, *default:* `nil`) - International Mobile Equipment Identity (IMEI) of the device. Available on ChromeOS only.
* `macAddresses` (*type:* `list(String.t)`, *default:* `nil`) - MAC addresses of the device.
* `meid` (*type:* `list(String.t)`, *default:* `nil`) - Mobile Equipment Identifier (MEID) of the device. Available on ChromeOS only.
* `operatingSystem` (*type:* `String.t`, *default:* `nil`) - The type of the Operating System currently running on the device.
* `osFirewall` (*type:* `String.t`, *default:* `nil`) - The state of the OS level firewall. On ChromeOS, the value will always be ENABLED on regular devices and UNKNOWN on devices in developer mode.
* `osVersion` (*type:* `String.t`, *default:* `nil`) - The current version of the Operating System. On Windows and linux, the value will also include the security patch information.
* `passwordProtectionWarningTrigger` (*type:* `String.t`, *default:* `nil`) - Whether the Password Protection Warning feature is enabled or not. Password protection alerts users when they reuse their protected password on potentially suspicious sites. This setting is controlled by an enterprise policy: https://chromeenterprise.google/policies/#PasswordProtectionWarningTrigger. Note that the policy unset does not have the same effects as having the policy explicitly set to `PASSWORD_PROTECTION_OFF`.
* `profileAffiliationIds` (*type:* `list(String.t)`, *default:* `nil`) - Affiliation IDs of the organizations that are affiliated with the organization that is currently managing the Chrome Profile’s user or ChromeOS user.
* `realtimeUrlCheckMode` (*type:* `String.t`, *default:* `nil`) - Whether Enterprise-grade (i.e. custom) unsafe URL scanning is enabled or not. This setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#EnterpriseRealTimeUrlCheckMode
* `safeBrowsingProtectionLevel` (*type:* `String.t`, *default:* `nil`) - Safe Browsing Protection Level. That setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#SafeBrowsingProtectionLevel.
* `screenLockSecured` (*type:* `String.t`, *default:* `nil`) - The state of the Screen Lock password protection. On ChromeOS, this value will always be ENABLED as there is not way to disable requiring a password or pin when unlocking the device.
* `secureBootMode` (*type:* `String.t`, *default:* `nil`) - Whether the device's startup software has its Secure Boot feature enabled. Available on Windows only.
* `serialNumber` (*type:* `String.t`, *default:* `nil`) - The serial number of the device. On Windows, this represents the BIOS's serial number. Not available on most Linux distributions.
* `siteIsolationEnabled` (*type:* `boolean()`, *default:* `nil`) - Whether the Site Isolation (a.k.a Site Per Process) setting is enabled. That setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/#SitePerProcess
* `systemDnsServers` (*type:* `list(String.t)`, *default:* `nil`) - List of the addesses of all OS level DNS servers configured in the device's network settings.
* `thirdPartyBlockingEnabled` (*type:* `boolean()`, *default:* `nil`) - Whether Chrome is blocking third-party software injection or not. This setting may be controlled by an enterprise policy: https://chromeenterprise.google/policies/?policy=ThirdPartyBlockingEnabled. Available on Windows only.
* `trigger` (*type:* `String.t`, *default:* `nil`) - The trigger which generated this set of signals.
* `windowsMachineDomain` (*type:* `String.t`, *default:* `nil`) - Windows domain that the current machine has joined. Available on Windows only.
* `windowsUserDomain` (*type:* `String.t`, *default:* `nil`) - Windows domain for the current OS user. Available on Windows only.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:allowScreenLock => boolean() | nil,
:browserVersion => String.t() | nil,
:builtInDnsClientEnabled => boolean() | nil,
:chromeRemoteDesktopAppBlocked => boolean() | nil,
:crowdStrikeAgent => GoogleApi.VerifiedAccess.V2.Model.CrowdStrikeAgent.t() | nil,
:deviceAffiliationIds => list(String.t()) | nil,
:deviceEnrollmentDomain => String.t() | nil,
:deviceManufacturer => String.t() | nil,
:deviceModel => String.t() | nil,
:diskEncryption => String.t() | nil,
:displayName => String.t() | nil,
:hostname => String.t() | nil,
:imei => list(String.t()) | nil,
:macAddresses => list(String.t()) | nil,
:meid => list(String.t()) | nil,
:operatingSystem => String.t() | nil,
:osFirewall => String.t() | nil,
:osVersion => String.t() | nil,
:passwordProtectionWarningTrigger => String.t() | nil,
:profileAffiliationIds => list(String.t()) | nil,
:realtimeUrlCheckMode => String.t() | nil,
:safeBrowsingProtectionLevel => String.t() | nil,
:screenLockSecured => String.t() | nil,
:secureBootMode => String.t() | nil,
:serialNumber => String.t() | nil,
:siteIsolationEnabled => boolean() | nil,
:systemDnsServers => list(String.t()) | nil,
:thirdPartyBlockingEnabled => boolean() | nil,
:trigger => String.t() | nil,
:windowsMachineDomain => String.t() | nil,
:windowsUserDomain => String.t() | nil
}

field(:allowScreenLock)
field(:browserVersion)
field(:builtInDnsClientEnabled)
field(:chromeRemoteDesktopAppBlocked)
field(:crowdStrikeAgent, as: GoogleApi.VerifiedAccess.V2.Model.CrowdStrikeAgent)
field(:deviceAffiliationIds, type: :list)
field(:deviceEnrollmentDomain)
field(:deviceManufacturer)
field(:deviceModel)
field(:diskEncryption)
field(:displayName)
field(:hostname)
field(:imei, type: :list)
field(:macAddresses, type: :list)
field(:meid, type: :list)
field(:operatingSystem)
field(:osFirewall)
field(:osVersion)
field(:passwordProtectionWarningTrigger)
field(:profileAffiliationIds, type: :list)
field(:realtimeUrlCheckMode)
field(:safeBrowsingProtectionLevel)
field(:screenLockSecured)
field(:secureBootMode)
field(:serialNumber)
field(:siteIsolationEnabled)
field(:systemDnsServers, type: :list)
field(:thirdPartyBlockingEnabled)
field(:trigger)
field(:windowsMachineDomain)
field(:windowsUserDomain)
end

defimpl Poison.Decoder, for: GoogleApi.VerifiedAccess.V2.Model.DeviceSignals do
def decode(value, options) do
GoogleApi.VerifiedAccess.V2.Model.DeviceSignals.decode(value, options)
end
end

defimpl Poison.Encoder, for: GoogleApi.VerifiedAccess.V2.Model.DeviceSignals do
def encode(value, options) do
GoogleApi.Gax.ModelBase.encode(value, options)
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -21,31 +21,49 @@ defmodule GoogleApi.VerifiedAccess.V2.Model.VerifyChallengeResponseResult do

## Attributes

* `attestedDeviceId` (*type:* `String.t`, *default:* `nil`) - Attested device ID (ADID).
* `customerId` (*type:* `String.t`, *default:* `nil`) - Unique customer id that this device belongs to, as defined by the Google Admin SDK at https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers
* `deviceEnrollmentId` (*type:* `String.t`, *default:* `nil`) - Device enrollment id for ChromeOS devices.
* `devicePermanentId` (*type:* `String.t`, *default:* `nil`) - Device permanent id is returned in this field (for the machine response only).
* `deviceSignal` (*type:* `String.t`, *default:* `nil`) - Device signal in json string representation.
* `deviceSignal` (*type:* `String.t`, *default:* `nil`) - Deprecated. Device signal in json string representation. Prefer using `device_signals` instead.
* `deviceSignals` (*type:* `GoogleApi.VerifiedAccess.V2.Model.DeviceSignals.t`, *default:* `nil`) - Device signals.
* `keyTrustLevel` (*type:* `String.t`, *default:* `nil`) - Device attested key trust level.
* `profileCustomerId` (*type:* `String.t`, *default:* `nil`) - Unique customer id that this profile belongs to, as defined by the Google Admin SDK at https://developers.google.com/admin-sdk/directory/v1/guides/manage-customers
* `profileKeyTrustLevel` (*type:* `String.t`, *default:* `nil`) - Profile attested key trust level.
* `signedPublicKeyAndChallenge` (*type:* `String.t`, *default:* `nil`) - Certificate Signing Request (in the SPKAC format, base64 encoded) is returned in this field. This field will be set only if device has included CSR in its challenge response. (the option to include CSR is now available for both user and machine responses)
* `virtualDeviceId` (*type:* `String.t`, *default:* `nil`) - Virtual device id of the device. The definition of virtual device id is platform-specific.
* `virtualProfileId` (*type:* `String.t`, *default:* `nil`) - The ID of a profile on the device.
"""

use GoogleApi.Gax.ModelBase

@type t :: %__MODULE__{
:attestedDeviceId => String.t() | nil,
:customerId => String.t() | nil,
:deviceEnrollmentId => String.t() | nil,
:devicePermanentId => String.t() | nil,
:deviceSignal => String.t() | nil,
:deviceSignals => GoogleApi.VerifiedAccess.V2.Model.DeviceSignals.t() | nil,
:keyTrustLevel => String.t() | nil,
:profileCustomerId => String.t() | nil,
:profileKeyTrustLevel => String.t() | nil,
:signedPublicKeyAndChallenge => String.t() | nil,
:virtualDeviceId => String.t() | nil
:virtualDeviceId => String.t() | nil,
:virtualProfileId => String.t() | nil
}

field(:attestedDeviceId)
field(:customerId)
field(:deviceEnrollmentId)
field(:devicePermanentId)
field(:deviceSignal)
field(:deviceSignals, as: GoogleApi.VerifiedAccess.V2.Model.DeviceSignals)
field(:keyTrustLevel)
field(:profileCustomerId)
field(:profileKeyTrustLevel)
field(:signedPublicKeyAndChallenge)
field(:virtualDeviceId)
field(:virtualProfileId)
end

defimpl Poison.Decoder, for: GoogleApi.VerifiedAccess.V2.Model.VerifyChallengeResponseResult do
Expand Down
Loading