Skip to content

Commit a195daa

Browse files
feat: Automated regeneration of DigitalAssetLinks client (#13302)
Auto-created at 2025-04-10 13:13:42 +0000 using the toys pull request generator.
1 parent 0de43a7 commit a195daa

File tree

6 files changed

+15
-2
lines changed

6 files changed

+15
-2
lines changed

clients/digital_asset_links/lib/google_api/digital_asset_links/v1/api/assetlinks.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ defmodule GoogleApi.DigitalAssetLinks.V1.Api.Assetlinks do
105105
* `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart").
106106
* `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart").
107107
* `:relation` (*type:* `String.t`) - Query string for the relation. We identify relations with strings of the format `/`, where `` must be one of a set of pre-defined purpose categories, and `` is a free-form lowercase alphanumeric string that describes the specific use case of the statement. Refer to [our API documentation](/digital-asset-links/v1/relation-strings) for the current list of supported relations. For a query to match an asset link, both the query's and the asset link's relation strings must match exactly. Example: A query with relation `delegate_permission/common.handle_all_urls` matches an asset link with relation `delegate_permission/common.handle_all_urls`.
108+
* `:returnRelationExtensions` (*type:* `boolean()`) - Whether to return relation_extensions payloads specified in the source Digital Asset Links statements linking the requested source and target assets by the requested relation type. If this is set to `false` (default), relation_extensions specified will not be returned, even if they are specified in the DAL statement file. If set to `true`, the API will propagate any and all relation_extensions, across statements, linking the source and target assets by the requested relation type, if specified in the DAL statement file.
108109
* `:"source.androidApp.certificate.sha256Fingerprint"` (*type:* `String.t`) - The uppercase SHA-265 fingerprint of the certificate. From the PEM certificate, it can be acquired like this: $ keytool -printcert -file $CERTFILE | grep SHA256: SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \\ 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or like this: $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256 SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \\ 16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the contents of this field would be `14:6D:E9:83:C5:73: 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: 44:E5`. If these tools are not available to you, you can convert the PEM certificate into the DER format, compute the SHA-256 hash of that string and represent the result as a hexstring (that is, uppercase hexadecimal representations of each octet, separated by colons).
109110
* `:"source.androidApp.packageName"` (*type:* `String.t`) - Android App assets are naturally identified by their Java package name. For example, the Google Maps app uses the package name `com.google.android.apps.maps`. REQUIRED
110111
* `:"source.web.site"` (*type:* `String.t`) - Web assets are identified by a URL that contains only the scheme, hostname and port parts. The format is http[s]://[:] Hostnames must be fully qualified: they must end in a single period ("`.`"). Only the schemes "http" and "https" are currently allowed. Port numbers are given as a decimal number, and they must be omitted if the standard port numbers are used: 80 for http and 443 for https. We call this limited URL the "site". All URLs that share the same scheme, hostname and port are considered to be a part of the site and thus belong to the web asset. Example: the asset with the site `https://www.google.com` contains all these URLs: * `https://www.google.com/` * `https://www.google.com:443/` * `https://www.google.com/foo` * `https://www.google.com/foo?bar` * `https://www.google.com/foo#bar` * `https://user@password:www.google.com/` But it does not contain these URLs: * `http://www.google.com/` (wrong scheme) * `https://google.com/` (hostname does not match) * `https://www.google.com:444/` (port does not match) REQUIRED
@@ -137,6 +138,7 @@ defmodule GoogleApi.DigitalAssetLinks.V1.Api.Assetlinks do
137138
:uploadType => :query,
138139
:upload_protocol => :query,
139140
:relation => :query,
141+
:returnRelationExtensions => :query,
140142
:"source.androidApp.certificate.sha256Fingerprint" => :query,
141143
:"source.androidApp.packageName" => :query,
142144
:"source.web.site" => :query,

clients/digital_asset_links/lib/google_api/digital_asset_links/v1/api/statements.ex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ defmodule GoogleApi.DigitalAssetLinks.V1.Api.Statements do
4444
* `:uploadType` (*type:* `String.t`) - Legacy upload protocol for media (e.g. "media", "multipart").
4545
* `:upload_protocol` (*type:* `String.t`) - Upload protocol for media (e.g. "raw", "multipart").
4646
* `:relation` (*type:* `String.t`) - Use only associations that match the specified relation. See the [`Statement`](#Statement) message for a detailed definition of relation strings. For a query to match a statement, one of the following must be true: * both the query's and the statement's relation strings match exactly, or * the query's relation string is empty or missing. Example: A query with relation `delegate_permission/common.handle_all_urls` matches an asset link with relation `delegate_permission/common.handle_all_urls`.
47+
* `:returnRelationExtensions` (*type:* `boolean()`) - Whether to return any relation_extensions payloads specified in the source digital asset links statements. If this is set to `false` (default), relation_extensions specified will not be returned, even if they are specified in the DAL statement file. If set to `true`, the API will propagate relation_extensions associated with each statement's relation type, if specified in the DAL statement file.
4748
* `:"source.androidApp.certificate.sha256Fingerprint"` (*type:* `String.t`) - The uppercase SHA-265 fingerprint of the certificate. From the PEM certificate, it can be acquired like this: $ keytool -printcert -file $CERTFILE | grep SHA256: SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \\ 42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 or like this: $ openssl x509 -in $CERTFILE -noout -fingerprint -sha256 SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \\ 16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5 In this example, the contents of this field would be `14:6D:E9:83:C5:73: 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: 44:E5`. If these tools are not available to you, you can convert the PEM certificate into the DER format, compute the SHA-256 hash of that string and represent the result as a hexstring (that is, uppercase hexadecimal representations of each octet, separated by colons).
4849
* `:"source.androidApp.packageName"` (*type:* `String.t`) - Android App assets are naturally identified by their Java package name. For example, the Google Maps app uses the package name `com.google.android.apps.maps`. REQUIRED
4950
* `:"source.web.site"` (*type:* `String.t`) - Web assets are identified by a URL that contains only the scheme, hostname and port parts. The format is http[s]://[:] Hostnames must be fully qualified: they must end in a single period ("`.`"). Only the schemes "http" and "https" are currently allowed. Port numbers are given as a decimal number, and they must be omitted if the standard port numbers are used: 80 for http and 443 for https. We call this limited URL the "site". All URLs that share the same scheme, hostname and port are considered to be a part of the site and thus belong to the web asset. Example: the asset with the site `https://www.google.com` contains all these URLs: * `https://www.google.com/` * `https://www.google.com:443/` * `https://www.google.com/foo` * `https://www.google.com/foo?bar` * `https://www.google.com/foo#bar` * `https://user@password:www.google.com/` But it does not contain these URLs: * `http://www.google.com/` (wrong scheme) * `https://google.com/` (hostname does not match) * `https://www.google.com:444/` (port does not match) REQUIRED
@@ -73,6 +74,7 @@ defmodule GoogleApi.DigitalAssetLinks.V1.Api.Statements do
7374
:uploadType => :query,
7475
:upload_protocol => :query,
7576
:relation => :query,
77+
:returnRelationExtensions => :query,
7678
:"source.androidApp.certificate.sha256Fingerprint" => :query,
7779
:"source.androidApp.packageName" => :query,
7880
:"source.web.site" => :query

clients/digital_asset_links/lib/google_api/digital_asset_links/v1/metadata.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ defmodule GoogleApi.DigitalAssetLinks.V1 do
2020
API client metadata for GoogleApi.DigitalAssetLinks.V1.
2121
"""
2222

23-
@discovery_revision "20250211"
23+
@discovery_revision "20250405"
2424

2525
def discovery_revision(), do: @discovery_revision
2626
end

clients/digital_asset_links/lib/google_api/digital_asset_links/v1/model/bulk_check_request.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ defmodule GoogleApi.DigitalAssetLinks.V1.Model.BulkCheckRequest do
2424
* `defaultRelation` (*type:* `String.t`, *default:* `nil`) - If specified, will be used in any given template statement that doesn’t specify a relation.
2525
* `defaultSource` (*type:* `GoogleApi.DigitalAssetLinks.V1.Model.Asset.t`, *default:* `nil`) - If specified, will be used in any given template statement that doesn’t specify a source.
2626
* `defaultTarget` (*type:* `GoogleApi.DigitalAssetLinks.V1.Model.Asset.t`, *default:* `nil`) - If specified, will be used in any given template statement that doesn’t specify a target.
27+
* `returnRelationExtensions` (*type:* `boolean()`, *default:* `nil`) - Same configuration as in CheckRequest; all statement checks will use the same configuration.
2728
* `statements` (*type:* `list(GoogleApi.DigitalAssetLinks.V1.Model.StatementTemplate.t)`, *default:* `nil`) - List of statements to check. For each statement, you can omit a field if the corresponding default_* field below was supplied. Minimum 1 statement; maximum 1,000 statements. Any additional statements will be ignored.
2829
"""
2930

@@ -33,12 +34,14 @@ defmodule GoogleApi.DigitalAssetLinks.V1.Model.BulkCheckRequest do
3334
:defaultRelation => String.t() | nil,
3435
:defaultSource => GoogleApi.DigitalAssetLinks.V1.Model.Asset.t() | nil,
3536
:defaultTarget => GoogleApi.DigitalAssetLinks.V1.Model.Asset.t() | nil,
37+
:returnRelationExtensions => boolean() | nil,
3638
:statements => list(GoogleApi.DigitalAssetLinks.V1.Model.StatementTemplate.t()) | nil
3739
}
3840

3941
field(:defaultRelation)
4042
field(:defaultSource, as: GoogleApi.DigitalAssetLinks.V1.Model.Asset)
4143
field(:defaultTarget, as: GoogleApi.DigitalAssetLinks.V1.Model.Asset)
44+
field(:returnRelationExtensions)
4245
field(:statements, as: GoogleApi.DigitalAssetLinks.V1.Model.StatementTemplate, type: :list)
4346
end
4447

clients/digital_asset_links/lib/google_api/digital_asset_links/v1/model/check_response.ex

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ defmodule GoogleApi.DigitalAssetLinks.V1.Model.CheckResponse do
2525
* `errorCode` (*type:* `list(String.t)`, *default:* `nil`) - Error codes that describe the result of the Check operation.
2626
* `linked` (*type:* `boolean()`, *default:* `nil`) - Set to true if the assets specified in the request are linked by the relation specified in the request.
2727
* `maxAge` (*type:* `String.t`, *default:* `nil`) - From serving time, how much longer the response should be considered valid barring further updates. REQUIRED
28+
* `relationExtensions` (*type:* `list(map())`, *default:* `nil`) - Statements may specify relation level extensions/payloads to express more details when declaring permissions to grant from the source asset to the target asset. When requested, the API will return relation_extensions specified in any and all statements linking the requested source and target assets by the relation specified in the request.
2829
"""
2930

3031
use GoogleApi.Gax.ModelBase
@@ -33,13 +34,15 @@ defmodule GoogleApi.DigitalAssetLinks.V1.Model.CheckResponse do
3334
:debugString => String.t() | nil,
3435
:errorCode => list(String.t()) | nil,
3536
:linked => boolean() | nil,
36-
:maxAge => String.t() | nil
37+
:maxAge => String.t() | nil,
38+
:relationExtensions => list(map()) | nil
3739
}
3840

3941
field(:debugString)
4042
field(:errorCode, type: :list)
4143
field(:linked)
4244
field(:maxAge)
45+
field(:relationExtensions, type: :list)
4346
end
4447

4548
defimpl Poison.Decoder, for: GoogleApi.DigitalAssetLinks.V1.Model.CheckResponse do

clients/digital_asset_links/lib/google_api/digital_asset_links/v1/model/statement.ex

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ defmodule GoogleApi.DigitalAssetLinks.V1.Model.Statement do
2222
## Attributes
2323
2424
* `relation` (*type:* `String.t`, *default:* `nil`) - The relation identifies the use of the statement as intended by the source asset's owner (that is, the person or entity who issued the statement). Every complete statement has a relation. We identify relations with strings of the format `/`, where `` must be one of a set of pre-defined purpose categories, and `` is a free-form lowercase alphanumeric string that describes the specific use case of the statement. Refer to [our API documentation](/digital-asset-links/v1/relation-strings) for the current list of supported relations. Example: `delegate_permission/common.handle_all_urls` REQUIRED
25+
* `relationExtensions` (*type:* `map()`, *default:* `nil`) - Statements may specify relation level extensions/payloads to express more details when declaring permissions to grant from the source asset to the target asset. These relation extensions should be specified in the `relation_extensions` object, keyed by the relation type they're associated with. { relation: ["delegate_permission/common.handle_all_urls"], target: {...}, relation_extensions: { "delegate_permission/common.handle_all_urls": { ...handle_all_urls specific payload specified here... } } } When requested, and specified in the statement file, the API will return relation_extensions associated with the statement's relation type. i.e. the API will only return relation_extensions specified for "delegate_permission/common.handle_all_urls" if this statement object's relation type is "delegate_permission/common.handle_all_urls".
2526
* `source` (*type:* `GoogleApi.DigitalAssetLinks.V1.Model.Asset.t`, *default:* `nil`) - Every statement has a source asset. REQUIRED
2627
* `target` (*type:* `GoogleApi.DigitalAssetLinks.V1.Model.Asset.t`, *default:* `nil`) - Every statement has a target asset. REQUIRED
2728
"""
@@ -30,11 +31,13 @@ defmodule GoogleApi.DigitalAssetLinks.V1.Model.Statement do
3031

3132
@type t :: %__MODULE__{
3233
:relation => String.t() | nil,
34+
:relationExtensions => map() | nil,
3335
:source => GoogleApi.DigitalAssetLinks.V1.Model.Asset.t() | nil,
3436
:target => GoogleApi.DigitalAssetLinks.V1.Model.Asset.t() | nil
3537
}
3638

3739
field(:relation)
40+
field(:relationExtensions, type: :map)
3841
field(:source, as: GoogleApi.DigitalAssetLinks.V1.Model.Asset)
3942
field(:target, as: GoogleApi.DigitalAssetLinks.V1.Model.Asset)
4043
end

0 commit comments

Comments
 (0)