class Google::Apis::OrgpolicyV2::GoogleCloudOrgpolicyV2Constraint
A `constraint` describes a way to restrict resource's configuration. For example, you could enforce a constraint that 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 adminstrator to fit the needs of the organzation by setting a `policy` that includes `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`. `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
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::OrgpolicyV2::GoogleCloudOrgpolicyV2ConstraintBooleanConstraint]
The evaluation behavior of this constraint in the absence of 'Policy'. Corresponds to the JSON property `constraintDefault` @return [String]
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]
The human readable name. Mutable. Corresponds to the JSON property `displayName` @return [String]
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::OrgpolicyV2::GoogleCloudOrgpolicyV2ConstraintListConstraint]
Immutable. The resource name of the Constraint. Must be in one of the following forms: * `projects/`project_number`/constraints/`constraint_name“ * `folders/`folder_id`/constraints/`constraint_name“ * `organizations/` organization_id`/constraints/`constraint_name“ For example, “/projects/123/ constraints/compute.disableSerialPortAccess”. Corresponds to the JSON property `name` @return [String]
Public Class Methods
# File lib/google/apis/orgpolicy_v2/classes.rb, line 78 def initialize(**args) update!(**args) end
Public Instance Methods
Update properties of this object
# File lib/google/apis/orgpolicy_v2/classes.rb, line 83 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) end