gcpdiag.queries.orgpolicy

Queries related to organization policy constraints.
PREFETCH_ORG_CONSTRAINTS = ('constraints/compute.disableSerialPortAccess', 'constraints/compute.requireOsLogin', 'constraints/compute.requireShieldedVm', 'constraints/iam.automaticIamGrantsForDefaultServiceAccounts', 'constraints/compute.disableSerialPortLogging', 'constraints/compute.disableSshInBrowser')
class PolicyConstraint:
36class PolicyConstraint:
37
38  def __init__(self, name, resource_data):
39    self.name = name
40    self._resource_data = resource_data
41
42  def __str__(self):
43    return self.name + ': ' + self._resource_data.__str__()
44
45  pass
PolicyConstraint(name, resource_data)
38  def __init__(self, name, resource_data):
39    self.name = name
40    self._resource_data = resource_data
name
class BooleanPolicyConstraint(PolicyConstraint):
48class BooleanPolicyConstraint(PolicyConstraint):
49
50  def is_enforced(self) -> bool:
51    return self._resource_data.get('enforced', False)
def is_enforced(self) -> bool:
50  def is_enforced(self) -> bool:
51    return self._resource_data.get('enforced', False)
def get_effective_org_policy(project_id: str, constraint: str):
89def get_effective_org_policy(project_id: str, constraint: str):
90  all_constraints = _get_effective_org_policy_all_constraints(project_id)
91  if constraint not in all_constraints:
92    raise ValueError(
93        f'constraint {constraint} not supported {list(all_constraints)}')
94  return all_constraints[constraint]