class Google::Apis::CloudresourcemanagerV1::Constraint

A `Constraint` describes a way in which a resource's configuration can be restricted. For example, it controls which cloud services can be activated across an organization, or whether a Compute Engine instance can have serial port connections established. `Constraints` can be configured by the organization's policy administrator to fit the needs of the organzation by setting Policies for `Constraints` at different locations in the organization' s resource hierarchy. Policies are inherited down the resource hierarchy from higher levels, but can also be overridden. For details about the inheritance rules please read about [Policies](/resource-manager/reference/rest/v1/Policy). `Constraints` have a default behavior determined by the `constraint_default` field, which is the enforcement behavior that is used in the absence of a ` Policy` being defined or inherited for the resource in question.

Attributes

boolean_constraint[RW]

A `Constraint` that is either enforced or not. For example a constraint ` constraints/compute.disableSerialPortAccess`. If it is enforced on a VM instance, serial port connections will not be opened to that instance. Corresponds to the JSON property `booleanConstraint` @return [Google::Apis::CloudresourcemanagerV1::BooleanConstraint]

constraint_default[RW]

The evaluation behavior of this constraint in the absence of 'Policy'. Corresponds to the JSON property `constraintDefault` @return [String]

description[RW]

Detailed description of what this `Constraint` controls as well as how and where it is enforced. Mutable. Corresponds to the JSON property `description` @return [String]

display_name[RW]

The human readable name. Mutable. Corresponds to the JSON property `displayName` @return [String]

list_constraint[RW]

A `Constraint` that allows or disallows a list of string values, which are configured by an Organization's policy administrator with a `Policy`. Corresponds to the JSON property `listConstraint` @return [Google::Apis::CloudresourcemanagerV1::ListConstraint]

name[RW]

Immutable value, required to globally be unique. For example, `constraints/ serviceuser.services` Corresponds to the JSON property `name` @return [String]

version[RW]

Version of the `Constraint`. Default version is 0; Corresponds to the JSON property `version` @return [Fixnum]

Public Class Methods

new(**args) click to toggle source
# File lib/google/apis/cloudresourcemanager_v1/classes.rb, line 407
def initialize(**args)
   update!(**args)
end

Public Instance Methods

update!(**args) click to toggle source

Update properties of this object

# File lib/google/apis/cloudresourcemanager_v1/classes.rb, line 412
def update!(**args)
  @boolean_constraint = args[:boolean_constraint] if args.key?(:boolean_constraint)
  @constraint_default = args[:constraint_default] if args.key?(:constraint_default)
  @description = args[:description] if args.key?(:description)
  @display_name = args[:display_name] if args.key?(:display_name)
  @list_constraint = args[:list_constraint] if args.key?(:list_constraint)
  @name = args[:name] if args.key?(:name)
  @version = args[:version] if args.key?(:version)
end