Class: Google::Apis::CloudresourcemanagerV1beta1::Constraint

Inherits:
Object
  • Object
show all
Includes:
Google::Apis::Core::Hashable, Google::Apis::Core::JsonObjectSupport
Defined in:
generated/google/apis/cloudresourcemanager_v1beta1/classes.rb,
generated/google/apis/cloudresourcemanager_v1beta1/representations.rb,
generated/google/apis/cloudresourcemanager_v1beta1/representations.rb

Overview

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 adminstrator 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. 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.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Google::Apis::Core::JsonObjectSupport

#to_json

Methods included from Google::Apis::Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Constraint

Returns a new instance of Constraint



1326
1327
1328
# File 'generated/google/apis/cloudresourcemanager_v1beta1/classes.rb', line 1326

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#boolean_constraintGoogle::Apis::CloudresourcemanagerV1beta1::BooleanConstraint

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



1302
1303
1304
# File 'generated/google/apis/cloudresourcemanager_v1beta1/classes.rb', line 1302

def boolean_constraint
  @boolean_constraint
end

#constraint_defaultString

The evaluation behavior of this constraint in the absense of 'Policy'. Corresponds to the JSON property constraintDefault

Returns:

  • (String)


1307
1308
1309
# File 'generated/google/apis/cloudresourcemanager_v1beta1/classes.rb', line 1307

def constraint_default
  @constraint_default
end

#descriptionString

Detailed description of what this Constraint controls as well as how and where it is enforced. Mutable. Corresponds to the JSON property description

Returns:

  • (String)


1288
1289
1290
# File 'generated/google/apis/cloudresourcemanager_v1beta1/classes.rb', line 1288

def description
  @description
end

#display_nameString

The human readable name. Mutable. Corresponds to the JSON property displayName

Returns:

  • (String)


1294
1295
1296
# File 'generated/google/apis/cloudresourcemanager_v1beta1/classes.rb', line 1294

def display_name
  @display_name
end

#list_constraintGoogle::Apis::CloudresourcemanagerV1beta1::ListConstraint

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



1319
1320
1321
# File 'generated/google/apis/cloudresourcemanager_v1beta1/classes.rb', line 1319

def list_constraint
  @list_constraint
end

#nameString

Immutable value, required to globally be unique. For example, constraints/serviceuser.services Corresponds to the JSON property name

Returns:

  • (String)


1313
1314
1315
# File 'generated/google/apis/cloudresourcemanager_v1beta1/classes.rb', line 1313

def name
  @name
end

#versionFixnum

Version of the Constraint. Default version is 0; Corresponds to the JSON property version

Returns:

  • (Fixnum)


1324
1325
1326
# File 'generated/google/apis/cloudresourcemanager_v1beta1/classes.rb', line 1324

def version
  @version
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1331
1332
1333
1334
1335
1336
1337
1338
1339
# File 'generated/google/apis/cloudresourcemanager_v1beta1/classes.rb', line 1331

def update!(**args)
  @description = args[:description] if args.key?(:description)
  @display_name = args[:display_name] if args.key?(:display_name)
  @boolean_constraint = args[:boolean_constraint] if args.key?(:boolean_constraint)
  @constraint_default = args[:constraint_default] if args.key?(:constraint_default)
  @name = args[:name] if args.key?(:name)
  @list_constraint = args[:list_constraint] if args.key?(:list_constraint)
  @version = args[:version] if args.key?(:version)
end