Skip to content

Commit 2a22459

Browse files
feat: Automated regeneration of IAM client (googleapis#13246)
Auto-created at 2025-03-27 13:22:17 +0000 using the toys pull request generator.
1 parent 2db8ab4 commit 2a22459

22 files changed

+2245
-3
lines changed

clients/iam/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Install this package from [Hex](https://hex.pm) by adding
1111

1212
```elixir
1313
def deps do
14-
[{:google_api_iam, "~> 0.44"}]
14+
[{:google_api_iam, "~> 0.45"}]
1515
end
1616
```
1717

clients/iam/lib/google_api/iam/v1/api/projects.ex

Lines changed: 1387 additions & 0 deletions
Large diffs are not rendered by default.

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

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

23-
@discovery_revision "20250313"
23+
@discovery_revision "20250320"
2424

2525
def discovery_revision(), do: @discovery_revision
2626
end
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Copyright 2019 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# NOTE: This file is auto generated by the elixir code generator program.
16+
# Do not edit this file manually.
17+
18+
defmodule GoogleApi.IAM.V1.Model.AddAttestationRuleRequest do
19+
@moduledoc """
20+
Request message for AddAttestationRule.
21+
22+
## Attributes
23+
24+
* `attestationRule` (*type:* `GoogleApi.IAM.V1.Model.AttestationRule.t`, *default:* `nil`) - Required. The attestation rule to be added.
25+
"""
26+
27+
use GoogleApi.Gax.ModelBase
28+
29+
@type t :: %__MODULE__{
30+
:attestationRule => GoogleApi.IAM.V1.Model.AttestationRule.t() | nil
31+
}
32+
33+
field(:attestationRule, as: GoogleApi.IAM.V1.Model.AttestationRule)
34+
end
35+
36+
defimpl Poison.Decoder, for: GoogleApi.IAM.V1.Model.AddAttestationRuleRequest do
37+
def decode(value, options) do
38+
GoogleApi.IAM.V1.Model.AddAttestationRuleRequest.decode(value, options)
39+
end
40+
end
41+
42+
defimpl Poison.Encoder, for: GoogleApi.IAM.V1.Model.AddAttestationRuleRequest do
43+
def encode(value, options) do
44+
GoogleApi.Gax.ModelBase.encode(value, options)
45+
end
46+
end
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Copyright 2019 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# NOTE: This file is auto generated by the elixir code generator program.
16+
# Do not edit this file manually.
17+
18+
defmodule GoogleApi.IAM.V1.Model.AttestationRule do
19+
@moduledoc """
20+
Defines which workloads can receive an identity within a pool. When an AttestationRule is defined under a managed identity, matching workloads may receive that identity.
21+
22+
## Attributes
23+
24+
* `googleCloudResource` (*type:* `String.t`, *default:* `nil`) - Optional. A single workload operating on Google Cloud. For example: `//compute.googleapis.com/projects/123/uid/zones/us-central1-a/instances/12345`.
25+
"""
26+
27+
use GoogleApi.Gax.ModelBase
28+
29+
@type t :: %__MODULE__{
30+
:googleCloudResource => String.t() | nil
31+
}
32+
33+
field(:googleCloudResource)
34+
end
35+
36+
defimpl Poison.Decoder, for: GoogleApi.IAM.V1.Model.AttestationRule do
37+
def decode(value, options) do
38+
GoogleApi.IAM.V1.Model.AttestationRule.decode(value, options)
39+
end
40+
end
41+
42+
defimpl Poison.Encoder, for: GoogleApi.IAM.V1.Model.AttestationRule do
43+
def encode(value, options) do
44+
GoogleApi.Gax.ModelBase.encode(value, options)
45+
end
46+
end
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Copyright 2019 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# NOTE: This file is auto generated by the elixir code generator program.
16+
# Do not edit this file manually.
17+
18+
defmodule GoogleApi.IAM.V1.Model.InlineCertificateIssuanceConfig do
19+
@moduledoc """
20+
Represents configuration for generating mutual TLS (mTLS) certificates for the identities within this pool.
21+
22+
## Attributes
23+
24+
* `caPools` (*type:* `map()`, *default:* `nil`) - Optional. A required mapping of a cloud region to the CA pool resource located in that region used for certificate issuance, adhering to these constraints: * Key format: A supported cloud region name equivalent to the location identifier in the corresponding map entry's value. * Value format: A valid CA pool resource path format like: "projects/{project}/locations/{location}/caPools/{ca_pool}" * Region Matching: Workloads are ONLY issued certificates from CA pools within the same region. Also the CA pool region (in value) must match the workload's region (key).
25+
* `keyAlgorithm` (*type:* `String.t`, *default:* `nil`) - Optional. Key algorithm to use when generating the key pair. This key pair will be used to create the certificate. If unspecified, this will default to ECDSA_P256.
26+
* `lifetime` (*type:* `String.t`, *default:* `nil`) - Optional. Lifetime of the workload certificates issued by the CA pool. Must be between 10 hours - 30 days. If unspecified, this will be defaulted to 24 hours.
27+
* `rotationWindowPercentage` (*type:* `integer()`, *default:* `nil`) - Optional. Rotation window percentage indicating when certificate rotation should be initiated based on remaining lifetime. Must be between 10 - 80. If unspecified, this will be defaulted to 50.
28+
"""
29+
30+
use GoogleApi.Gax.ModelBase
31+
32+
@type t :: %__MODULE__{
33+
:caPools => map() | nil,
34+
:keyAlgorithm => String.t() | nil,
35+
:lifetime => String.t() | nil,
36+
:rotationWindowPercentage => integer() | nil
37+
}
38+
39+
field(:caPools, type: :map)
40+
field(:keyAlgorithm)
41+
field(:lifetime)
42+
field(:rotationWindowPercentage)
43+
end
44+
45+
defimpl Poison.Decoder, for: GoogleApi.IAM.V1.Model.InlineCertificateIssuanceConfig do
46+
def decode(value, options) do
47+
GoogleApi.IAM.V1.Model.InlineCertificateIssuanceConfig.decode(value, options)
48+
end
49+
end
50+
51+
defimpl Poison.Encoder, for: GoogleApi.IAM.V1.Model.InlineCertificateIssuanceConfig do
52+
def encode(value, options) do
53+
GoogleApi.Gax.ModelBase.encode(value, options)
54+
end
55+
end
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Copyright 2019 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# NOTE: This file is auto generated by the elixir code generator program.
16+
# Do not edit this file manually.
17+
18+
defmodule GoogleApi.IAM.V1.Model.InlineTrustConfig do
19+
@moduledoc """
20+
Defines configuration for extending trust to additional trust domains. By establishing trust with another domain, the current domain will recognize and accept certificates issued by entities within the trusted domains. Note that a trust domain automatically trusts itself, eliminating the need for explicit configuration.
21+
22+
## Attributes
23+
24+
* `additionalTrustBundles` (*type:* `%{optional(String.t) => GoogleApi.IAM.V1.Model.TrustStore.t}`, *default:* `nil`) - Optional. Maps specific trust domains (e.g., "example.com") to their corresponding TrustStore objects, which contain the trusted root certificates for that domain. There can be a maximum of 10 trust domain entries in this map. Note that a trust domain automatically trusts itself and don't need to be specified here. If however, this WorkloadIdentityPool's trust domain contains any trust anchors in the additional_trust_bundles map, those trust anchors will be *appended to* the Trust Bundle automatically derived from your InlineCertificateIssuanceConfig's ca_pools.
25+
"""
26+
27+
use GoogleApi.Gax.ModelBase
28+
29+
@type t :: %__MODULE__{
30+
:additionalTrustBundles =>
31+
%{optional(String.t()) => GoogleApi.IAM.V1.Model.TrustStore.t()} | nil
32+
}
33+
34+
field(:additionalTrustBundles, as: GoogleApi.IAM.V1.Model.TrustStore, type: :map)
35+
end
36+
37+
defimpl Poison.Decoder, for: GoogleApi.IAM.V1.Model.InlineTrustConfig do
38+
def decode(value, options) do
39+
GoogleApi.IAM.V1.Model.InlineTrustConfig.decode(value, options)
40+
end
41+
end
42+
43+
defimpl Poison.Encoder, for: GoogleApi.IAM.V1.Model.InlineTrustConfig do
44+
def encode(value, options) do
45+
GoogleApi.Gax.ModelBase.encode(value, options)
46+
end
47+
end
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Copyright 2019 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# NOTE: This file is auto generated by the elixir code generator program.
16+
# Do not edit this file manually.
17+
18+
defmodule GoogleApi.IAM.V1.Model.IntermediateCA do
19+
@moduledoc """
20+
Intermediate CA certificates used for building the trust chain to trust anchor
21+
22+
## Attributes
23+
24+
* `pemCertificate` (*type:* `String.t`, *default:* `nil`) - PEM certificate of the PKI used for validation. Must only contain one ca certificate.
25+
"""
26+
27+
use GoogleApi.Gax.ModelBase
28+
29+
@type t :: %__MODULE__{
30+
:pemCertificate => String.t() | nil
31+
}
32+
33+
field(:pemCertificate)
34+
end
35+
36+
defimpl Poison.Decoder, for: GoogleApi.IAM.V1.Model.IntermediateCA do
37+
def decode(value, options) do
38+
GoogleApi.IAM.V1.Model.IntermediateCA.decode(value, options)
39+
end
40+
end
41+
42+
defimpl Poison.Encoder, for: GoogleApi.IAM.V1.Model.IntermediateCA do
43+
def encode(value, options) do
44+
GoogleApi.Gax.ModelBase.encode(value, options)
45+
end
46+
end
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
# Copyright 2019 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# NOTE: This file is auto generated by the elixir code generator program.
16+
# Do not edit this file manually.
17+
18+
defmodule GoogleApi.IAM.V1.Model.ListAttestationRulesResponse do
19+
@moduledoc """
20+
Response message for ListAttestationRules.
21+
22+
## Attributes
23+
24+
* `attestationRules` (*type:* `list(GoogleApi.IAM.V1.Model.AttestationRule.t)`, *default:* `nil`) - A list of AttestationRules.
25+
* `nextPageToken` (*type:* `String.t`, *default:* `nil`) - Optional. A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
26+
"""
27+
28+
use GoogleApi.Gax.ModelBase
29+
30+
@type t :: %__MODULE__{
31+
:attestationRules => list(GoogleApi.IAM.V1.Model.AttestationRule.t()) | nil,
32+
:nextPageToken => String.t() | nil
33+
}
34+
35+
field(:attestationRules, as: GoogleApi.IAM.V1.Model.AttestationRule, type: :list)
36+
field(:nextPageToken)
37+
end
38+
39+
defimpl Poison.Decoder, for: GoogleApi.IAM.V1.Model.ListAttestationRulesResponse do
40+
def decode(value, options) do
41+
GoogleApi.IAM.V1.Model.ListAttestationRulesResponse.decode(value, options)
42+
end
43+
end
44+
45+
defimpl Poison.Encoder, for: GoogleApi.IAM.V1.Model.ListAttestationRulesResponse do
46+
def encode(value, options) do
47+
GoogleApi.Gax.ModelBase.encode(value, options)
48+
end
49+
end
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Copyright 2019 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
# NOTE: This file is auto generated by the elixir code generator program.
16+
# Do not edit this file manually.
17+
18+
defmodule GoogleApi.IAM.V1.Model.ListWorkloadIdentityPoolManagedIdentitiesResponse do
19+
@moduledoc """
20+
Response message for ListWorkloadIdentityPoolManagedIdentities.
21+
22+
## Attributes
23+
24+
* `nextPageToken` (*type:* `String.t`, *default:* `nil`) - A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
25+
* `workloadIdentityPoolManagedIdentities` (*type:* `list(GoogleApi.IAM.V1.Model.WorkloadIdentityPoolManagedIdentity.t)`, *default:* `nil`) - A list of managed identities.
26+
"""
27+
28+
use GoogleApi.Gax.ModelBase
29+
30+
@type t :: %__MODULE__{
31+
:nextPageToken => String.t() | nil,
32+
:workloadIdentityPoolManagedIdentities =>
33+
list(GoogleApi.IAM.V1.Model.WorkloadIdentityPoolManagedIdentity.t()) | nil
34+
}
35+
36+
field(:nextPageToken)
37+
38+
field(:workloadIdentityPoolManagedIdentities,
39+
as: GoogleApi.IAM.V1.Model.WorkloadIdentityPoolManagedIdentity,
40+
type: :list
41+
)
42+
end
43+
44+
defimpl Poison.Decoder,
45+
for: GoogleApi.IAM.V1.Model.ListWorkloadIdentityPoolManagedIdentitiesResponse do
46+
def decode(value, options) do
47+
GoogleApi.IAM.V1.Model.ListWorkloadIdentityPoolManagedIdentitiesResponse.decode(
48+
value,
49+
options
50+
)
51+
end
52+
end
53+
54+
defimpl Poison.Encoder,
55+
for: GoogleApi.IAM.V1.Model.ListWorkloadIdentityPoolManagedIdentitiesResponse do
56+
def encode(value, options) do
57+
GoogleApi.Gax.ModelBase.encode(value, options)
58+
end
59+
end

0 commit comments

Comments
 (0)