aboutsummaryrefslogtreecommitdiff
path: root/docs/dyn/binaryauthorization_v1beta1.projects.html
blob: b22804bd40d2de4eedffde5910c8e40ce783298f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="binaryauthorization_v1beta1.html">Binary Authorization API</a> . <a href="binaryauthorization_v1beta1.projects.html">projects</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="binaryauthorization_v1beta1.projects.attestors.html">attestors()</a></code>
</p>
<p class="firstline">Returns the attestors Resource.</p>

<p class="toc_element">
  <code><a href="binaryauthorization_v1beta1.projects.policy.html">policy()</a></code>
</p>
<p class="firstline">Returns the policy Resource.</p>

<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#getPolicy">getPolicy(name, x__xgafv=None)</a></code></p>
<p class="firstline">A policy specifies the attestors that must attest to a container image, before the project is allowed to deploy that image. There is at most one policy per project. All image admission requests are permitted if a project has no policy. Gets the policy for this project. Returns a default policy if the project does not have one.</p>
<p class="toc_element">
  <code><a href="#updatePolicy">updatePolicy(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates or updates a project's policy, and returns a copy of the new policy. A policy is always updated as a whole, to avoid race conditions with concurrent policy enforcement (or management!) requests. Returns NOT_FOUND if the project does not exist, INVALID_ARGUMENT if the request is malformed.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="getPolicy">getPolicy(name, x__xgafv=None)</code>
  <pre>A policy specifies the attestors that must attest to a container image, before the project is allowed to deploy that image. There is at most one policy per project. All image admission requests are permitted if a project has no policy. Gets the policy for this project. Returns a default policy if the project does not have one.

Args:
  name: string, Required. The resource name of the policy to retrieve, in the format `projects/*/policy`. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A policy for Binary Authorization.
  &quot;admissionWhitelistPatterns&quot;: [ # Optional. Admission policy allowlisting. A matching admission request will always be permitted. This feature is typically used to exclude Google or third-party infrastructure images from Binary Authorization policies.
    { # An admission allowlist pattern exempts images from checks by admission rules.
      &quot;namePattern&quot;: &quot;A String&quot;, # An image name pattern to allowlist, in the form `registry/path/to/image`. This supports a trailing `*` as a wildcard, but this is allowed only in text after the `registry/` part. `*` wildcard does not match `/`, i.e., gcr.io/nginx* matches gcr.io/nginx@latest, but it does not match gcr.io/nginx/image. This also supports a trailing `**` wildcard which matches subdirectories, i.e., gcr.io/nginx** matches gcr.io/nginx/image.
    },
  ],
  &quot;clusterAdmissionRules&quot;: { # Optional. Per-cluster admission rules. Cluster spec format: `location.clusterId`. There can be at most one admission rule per cluster spec. A `location` is either a compute zone (e.g. us-central1-a) or a region (e.g. us-central1). For `clusterId` syntax restrictions see https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters.
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;defaultAdmissionRule&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation. # Required. Default admission rule for a cluster without a per-cluster, per- kubernetes-service-account, or per-istio-service-identity admission rule.
    &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
    &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
    &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
      &quot;A String&quot;,
    ],
  },
  &quot;description&quot;: &quot;A String&quot;, # Optional. A descriptive comment.
  &quot;globalPolicyEvaluationMode&quot;: &quot;A String&quot;, # Optional. Controls the evaluation of a Google-maintained global admission policy for common system-level images. Images not covered by the global policy will be subject to the project admission policy. This setting has no effect when specified inside a global admission policy.
  &quot;istioServiceIdentityAdmissionRules&quot;: { # Optional. Per-istio-service-identity admission rules. Istio service identity spec format: spiffe:///ns//sa/ or /ns//sa/ e.g. spiffe://example.com/ns/test-ns/sa/default
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;kubernetesNamespaceAdmissionRules&quot;: { # Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: [a-z.-]+, e.g. &#x27;some-namespace&#x27;
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;kubernetesServiceAccountAdmissionRules&quot;: { # Optional. Per-kubernetes-service-account admission rules. Service account spec format: `namespace:serviceaccount`. e.g. &#x27;test-ns:default&#x27;
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name, in the format `projects/*/policy`. There is at most one policy per project.
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time when the policy was last updated.
}</pre>
</div>

<div class="method">
    <code class="details" id="updatePolicy">updatePolicy(name, body=None, x__xgafv=None)</code>
  <pre>Creates or updates a project&#x27;s policy, and returns a copy of the new policy. A policy is always updated as a whole, to avoid race conditions with concurrent policy enforcement (or management!) requests. Returns NOT_FOUND if the project does not exist, INVALID_ARGUMENT if the request is malformed.

Args:
  name: string, Output only. The resource name, in the format `projects/*/policy`. There is at most one policy per project. (required)
  body: object, The request body.
    The object takes the form of:

{ # A policy for Binary Authorization.
  &quot;admissionWhitelistPatterns&quot;: [ # Optional. Admission policy allowlisting. A matching admission request will always be permitted. This feature is typically used to exclude Google or third-party infrastructure images from Binary Authorization policies.
    { # An admission allowlist pattern exempts images from checks by admission rules.
      &quot;namePattern&quot;: &quot;A String&quot;, # An image name pattern to allowlist, in the form `registry/path/to/image`. This supports a trailing `*` as a wildcard, but this is allowed only in text after the `registry/` part. `*` wildcard does not match `/`, i.e., gcr.io/nginx* matches gcr.io/nginx@latest, but it does not match gcr.io/nginx/image. This also supports a trailing `**` wildcard which matches subdirectories, i.e., gcr.io/nginx** matches gcr.io/nginx/image.
    },
  ],
  &quot;clusterAdmissionRules&quot;: { # Optional. Per-cluster admission rules. Cluster spec format: `location.clusterId`. There can be at most one admission rule per cluster spec. A `location` is either a compute zone (e.g. us-central1-a) or a region (e.g. us-central1). For `clusterId` syntax restrictions see https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters.
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;defaultAdmissionRule&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation. # Required. Default admission rule for a cluster without a per-cluster, per- kubernetes-service-account, or per-istio-service-identity admission rule.
    &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
    &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
    &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
      &quot;A String&quot;,
    ],
  },
  &quot;description&quot;: &quot;A String&quot;, # Optional. A descriptive comment.
  &quot;globalPolicyEvaluationMode&quot;: &quot;A String&quot;, # Optional. Controls the evaluation of a Google-maintained global admission policy for common system-level images. Images not covered by the global policy will be subject to the project admission policy. This setting has no effect when specified inside a global admission policy.
  &quot;istioServiceIdentityAdmissionRules&quot;: { # Optional. Per-istio-service-identity admission rules. Istio service identity spec format: spiffe:///ns//sa/ or /ns//sa/ e.g. spiffe://example.com/ns/test-ns/sa/default
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;kubernetesNamespaceAdmissionRules&quot;: { # Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: [a-z.-]+, e.g. &#x27;some-namespace&#x27;
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;kubernetesServiceAccountAdmissionRules&quot;: { # Optional. Per-kubernetes-service-account admission rules. Service account spec format: `namespace:serviceaccount`. e.g. &#x27;test-ns:default&#x27;
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name, in the format `projects/*/policy`. There is at most one policy per project.
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time when the policy was last updated.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A policy for Binary Authorization.
  &quot;admissionWhitelistPatterns&quot;: [ # Optional. Admission policy allowlisting. A matching admission request will always be permitted. This feature is typically used to exclude Google or third-party infrastructure images from Binary Authorization policies.
    { # An admission allowlist pattern exempts images from checks by admission rules.
      &quot;namePattern&quot;: &quot;A String&quot;, # An image name pattern to allowlist, in the form `registry/path/to/image`. This supports a trailing `*` as a wildcard, but this is allowed only in text after the `registry/` part. `*` wildcard does not match `/`, i.e., gcr.io/nginx* matches gcr.io/nginx@latest, but it does not match gcr.io/nginx/image. This also supports a trailing `**` wildcard which matches subdirectories, i.e., gcr.io/nginx** matches gcr.io/nginx/image.
    },
  ],
  &quot;clusterAdmissionRules&quot;: { # Optional. Per-cluster admission rules. Cluster spec format: `location.clusterId`. There can be at most one admission rule per cluster spec. A `location` is either a compute zone (e.g. us-central1-a) or a region (e.g. us-central1). For `clusterId` syntax restrictions see https://cloud.google.com/container-engine/reference/rest/v1/projects.zones.clusters.
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;defaultAdmissionRule&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation. # Required. Default admission rule for a cluster without a per-cluster, per- kubernetes-service-account, or per-istio-service-identity admission rule.
    &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
    &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
    &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
      &quot;A String&quot;,
    ],
  },
  &quot;description&quot;: &quot;A String&quot;, # Optional. A descriptive comment.
  &quot;globalPolicyEvaluationMode&quot;: &quot;A String&quot;, # Optional. Controls the evaluation of a Google-maintained global admission policy for common system-level images. Images not covered by the global policy will be subject to the project admission policy. This setting has no effect when specified inside a global admission policy.
  &quot;istioServiceIdentityAdmissionRules&quot;: { # Optional. Per-istio-service-identity admission rules. Istio service identity spec format: spiffe:///ns//sa/ or /ns//sa/ e.g. spiffe://example.com/ns/test-ns/sa/default
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;kubernetesNamespaceAdmissionRules&quot;: { # Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format: [a-z.-]+, e.g. &#x27;some-namespace&#x27;
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;kubernetesServiceAccountAdmissionRules&quot;: { # Optional. Per-kubernetes-service-account admission rules. Service account spec format: `namespace:serviceaccount`. e.g. &#x27;test-ns:default&#x27;
    &quot;a_key&quot;: { # An admission rule specifies either that all container images used in a pod creation request must be attested to by one or more attestors, that all pod creations will be allowed, or that all pod creations will be denied. Images matching an admission allowlist pattern are exempted from admission rules and will never block a pod creation.
      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The action when a pod creation is denied by the admission rule.
      &quot;evaluationMode&quot;: &quot;A String&quot;, # Required. How this admission rule will be evaluated.
      &quot;requireAttestationsBy&quot;: [ # Optional. The resource names of the attestors that must attest to a container image, in the format `projects/*/attestors/*`. Each attestor must exist before a policy can reference it. To add an attestor to a policy the principal issuing the policy change request must be able to read the attestor resource. Note: this field must be non-empty when the evaluation_mode field specifies REQUIRE_ATTESTATION, otherwise it must be empty.
        &quot;A String&quot;,
      ],
    },
  },
  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name, in the format `projects/*/policy`. There is at most one policy per project.
  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time when the policy was last updated.
}</pre>
</div>

</body></html>