Class: Google::Apis::BinaryauthorizationV1::Policy
- Inherits:
-
Object
- Object
- Google::Apis::BinaryauthorizationV1::Policy
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/binaryauthorization_v1/classes.rb,
lib/google/apis/binaryauthorization_v1/representations.rb,
lib/google/apis/binaryauthorization_v1/representations.rb
Overview
A policy for container image binary authorization.
Instance Attribute Summary collapse
-
#admission_whitelist_patterns ⇒ Array<Google::Apis::BinaryauthorizationV1::AdmissionWhitelistPattern>
Optional.
-
#cluster_admission_rules ⇒ Hash<String,Google::Apis::BinaryauthorizationV1::AdmissionRule>
Optional.
-
#default_admission_rule ⇒ Google::Apis::BinaryauthorizationV1::AdmissionRule
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.
-
#description ⇒ String
Optional.
-
#etag ⇒ String
Optional.
-
#global_policy_evaluation_mode ⇒ String
Optional.
-
#istio_service_identity_admission_rules ⇒ Hash<String,Google::Apis::BinaryauthorizationV1::AdmissionRule>
Optional.
-
#kubernetes_namespace_admission_rules ⇒ Hash<String,Google::Apis::BinaryauthorizationV1::AdmissionRule>
Optional.
-
#kubernetes_service_account_admission_rules ⇒ Hash<String,Google::Apis::BinaryauthorizationV1::AdmissionRule>
Optional.
-
#name ⇒ String
Output only.
-
#update_time ⇒ String
Output only.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Policy
constructor
A new instance of Policy.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Policy
Returns a new instance of Policy.
1319 1320 1321 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1319 def initialize(**args) update!(**args) end |
Instance Attribute Details
#admission_whitelist_patterns ⇒ Array<Google::Apis::BinaryauthorizationV1::AdmissionWhitelistPattern>
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.
Corresponds to the JSON property admissionWhitelistPatterns
1244 1245 1246 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1244 def admission_whitelist_patterns @admission_whitelist_patterns end |
#cluster_admission_rules ⇒ Hash<String,Google::Apis::BinaryauthorizationV1::AdmissionRule>
Optional. A valid policy has only one of the following rule maps non-empty, i.
e. only one of cluster_admission_rules,
kubernetes_namespace_admission_rules,
kubernetes_service_account_admission_rules, or
istio_service_identity_admission_rules can be non-empty. 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.
Corresponds to the JSON property clusterAdmissionRules
1258 1259 1260 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1258 def cluster_admission_rules @cluster_admission_rules end |
#default_admission_rule ⇒ Google::Apis::BinaryauthorizationV1::AdmissionRule
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.
Corresponds to the JSON property defaultAdmissionRule
1267 1268 1269 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1267 def default_admission_rule @default_admission_rule end |
#description ⇒ String
Optional. A descriptive comment.
Corresponds to the JSON property description
1272 1273 1274 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1272 def description @description end |
#etag ⇒ String
Optional. A checksum, returned by the server, that can be sent on update
requests to ensure the policy has an up-to-date value before attempting to
update it. See https://google.aip.dev/154.
Corresponds to the JSON property etag
1279 1280 1281 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1279 def etag @etag end |
#global_policy_evaluation_mode ⇒ String
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.
Corresponds to the JSON property globalPolicyEvaluationMode
1287 1288 1289 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1287 def global_policy_evaluation_mode @global_policy_evaluation_mode end |
#istio_service_identity_admission_rules ⇒ Hash<String,Google::Apis::BinaryauthorizationV1::AdmissionRule>
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
Corresponds to the JSON property istioServiceIdentityAdmissionRules
1294 1295 1296 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1294 def istio_service_identity_admission_rules @istio_service_identity_admission_rules end |
#kubernetes_namespace_admission_rules ⇒ Hash<String,Google::Apis::BinaryauthorizationV1::AdmissionRule>
Optional. Per-kubernetes-namespace admission rules. K8s namespace spec format:
[a-z.-]+, e.g. some-namespace
Corresponds to the JSON property kubernetesNamespaceAdmissionRules
1300 1301 1302 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1300 def kubernetes_namespace_admission_rules @kubernetes_namespace_admission_rules end |
#kubernetes_service_account_admission_rules ⇒ Hash<String,Google::Apis::BinaryauthorizationV1::AdmissionRule>
Optional. Per-kubernetes-service-account admission rules. Service account spec
format: namespace:serviceaccount. e.g. test-ns:default
Corresponds to the JSON property kubernetesServiceAccountAdmissionRules
1306 1307 1308 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1306 def kubernetes_service_account_admission_rules @kubernetes_service_account_admission_rules end |
#name ⇒ String
Output only. The resource name, in the format projects/*/policy. There is at
most one policy per project.
Corresponds to the JSON property name
1312 1313 1314 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1312 def name @name end |
#update_time ⇒ String
Output only. Time when the policy was last updated.
Corresponds to the JSON property updateTime
1317 1318 1319 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1317 def update_time @update_time end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 |
# File 'lib/google/apis/binaryauthorization_v1/classes.rb', line 1324 def update!(**args) @admission_whitelist_patterns = args[:admission_whitelist_patterns] if args.key?(:admission_whitelist_patterns) @cluster_admission_rules = args[:cluster_admission_rules] if args.key?(:cluster_admission_rules) @default_admission_rule = args[:default_admission_rule] if args.key?(:default_admission_rule) @description = args[:description] if args.key?(:description) @etag = args[:etag] if args.key?(:etag) @global_policy_evaluation_mode = args[:global_policy_evaluation_mode] if args.key?(:global_policy_evaluation_mode) @istio_service_identity_admission_rules = args[:istio_service_identity_admission_rules] if args.key?(:istio_service_identity_admission_rules) @kubernetes_namespace_admission_rules = args[:kubernetes_namespace_admission_rules] if args.key?(:kubernetes_namespace_admission_rules) @kubernetes_service_account_admission_rules = args[:kubernetes_service_account_admission_rules] if args.key?(:kubernetes_service_account_admission_rules) @name = args[:name] if args.key?(:name) @update_time = args[:update_time] if args.key?(:update_time) end |