gestione documentale avanzata 1 parte

This commit is contained in:
2026-05-28 09:34:28 +02:00
parent 3471befb1a
commit f2b0833b90
34482 changed files with 4312269 additions and 546 deletions
@@ -0,0 +1,164 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3AccessTuple extends \Google\Model
{
protected $conditionContextType = GoogleCloudPolicytroubleshooterIamV3ConditionContext::class;
protected $conditionContextDataType = '';
/**
* Required. The full resource name that identifies the resource. For example,
* `//compute.googleapis.com/projects/my-project/zones/us-
* central1-a/instances/my-instance`. For examples of full resource names for
* Google Cloud services, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
*
* @var string
*/
public $fullResourceName;
/**
* Required. The IAM permission to check for, either in the `v1` permission
* format or the `v2` permission format. For a complete list of IAM
* permissions in the `v1` format, see
* https://cloud.google.com/iam/help/permissions/reference. For a list of IAM
* permissions in the `v2` format, see
* https://cloud.google.com/iam/help/deny/supported-permissions. For a
* complete list of predefined IAM roles and the permissions in each role, see
* https://cloud.google.com/iam/help/roles/reference.
*
* @var string
*/
public $permission;
/**
* Output only. The permission that Policy Troubleshooter checked for, in the
* `v2` format.
*
* @var string
*/
public $permissionFqdn;
/**
* Required. The email address of the principal whose access you want to
* check. For example, `alice@example.com` or `my-service-account@my-
* project.iam.gserviceaccount.com`. The principal must be a Google Account or
* a service account. Other types of principals are not supported.
*
* @var string
*/
public $principal;
/**
* Optional. Additional context for the request, such as the request time or
* IP address. This context allows Policy Troubleshooter to troubleshoot
* conditional role bindings and deny rules.
*
* @param GoogleCloudPolicytroubleshooterIamV3ConditionContext $conditionContext
*/
public function setConditionContext(GoogleCloudPolicytroubleshooterIamV3ConditionContext $conditionContext)
{
$this->conditionContext = $conditionContext;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ConditionContext
*/
public function getConditionContext()
{
return $this->conditionContext;
}
/**
* Required. The full resource name that identifies the resource. For example,
* `//compute.googleapis.com/projects/my-project/zones/us-
* central1-a/instances/my-instance`. For examples of full resource names for
* Google Cloud services, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
*
* @param string $fullResourceName
*/
public function setFullResourceName($fullResourceName)
{
$this->fullResourceName = $fullResourceName;
}
/**
* @return string
*/
public function getFullResourceName()
{
return $this->fullResourceName;
}
/**
* Required. The IAM permission to check for, either in the `v1` permission
* format or the `v2` permission format. For a complete list of IAM
* permissions in the `v1` format, see
* https://cloud.google.com/iam/help/permissions/reference. For a list of IAM
* permissions in the `v2` format, see
* https://cloud.google.com/iam/help/deny/supported-permissions. For a
* complete list of predefined IAM roles and the permissions in each role, see
* https://cloud.google.com/iam/help/roles/reference.
*
* @param string $permission
*/
public function setPermission($permission)
{
$this->permission = $permission;
}
/**
* @return string
*/
public function getPermission()
{
return $this->permission;
}
/**
* Output only. The permission that Policy Troubleshooter checked for, in the
* `v2` format.
*
* @param string $permissionFqdn
*/
public function setPermissionFqdn($permissionFqdn)
{
$this->permissionFqdn = $permissionFqdn;
}
/**
* @return string
*/
public function getPermissionFqdn()
{
return $this->permissionFqdn;
}
/**
* Required. The email address of the principal whose access you want to
* check. For example, `alice@example.com` or `my-service-account@my-
* project.iam.gserviceaccount.com`. The principal must be a Google Account or
* a service account. Other types of principals are not supported.
*
* @param string $principal
*/
public function setPrincipal($principal)
{
$this->principal = $principal;
}
/**
* @return string
*/
public function getPrincipal()
{
return $this->principal;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3AccessTuple::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3AccessTuple');
@@ -0,0 +1,324 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanation extends \Google\Model
{
/**
* Not specified.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_UNSPECIFIED = 'ALLOW_ACCESS_STATE_UNSPECIFIED';
/**
* The allow policy gives the principal the permission.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_GRANTED = 'ALLOW_ACCESS_STATE_GRANTED';
/**
* The allow policy doesn't give the principal the permission.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_NOT_GRANTED = 'ALLOW_ACCESS_STATE_NOT_GRANTED';
/**
* The allow policy gives the principal the permission if a condition
* expression evaluate to `true`. However, the sender of the request didn't
* provide enough context for Policy Troubleshooter to evaluate the condition
* expression.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL = 'ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL';
/**
* The sender of the request doesn't have access to all of the allow policies
* that Policy Troubleshooter needs to evaluate the principal's access.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_UNKNOWN_INFO = 'ALLOW_ACCESS_STATE_UNKNOWN_INFO';
/**
* Not specified.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
/**
* Not specified.
*/
public const ROLE_PERMISSION_ROLE_PERMISSION_INCLUSION_STATE_UNSPECIFIED = 'ROLE_PERMISSION_INCLUSION_STATE_UNSPECIFIED';
/**
* The permission is included in the role.
*/
public const ROLE_PERMISSION_ROLE_PERMISSION_INCLUDED = 'ROLE_PERMISSION_INCLUDED';
/**
* The permission is not included in the role.
*/
public const ROLE_PERMISSION_ROLE_PERMISSION_NOT_INCLUDED = 'ROLE_PERMISSION_NOT_INCLUDED';
/**
* The sender of the request is not allowed to access the role definition.
*/
public const ROLE_PERMISSION_ROLE_PERMISSION_UNKNOWN_INFO = 'ROLE_PERMISSION_UNKNOWN_INFO';
/**
* Not specified.
*/
public const ROLE_PERMISSION_RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const ROLE_PERMISSION_RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const ROLE_PERMISSION_RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
/**
* Required. Indicates whether _this role binding_ gives the specified
* permission to the specified principal on the specified resource. This field
* does _not_ indicate whether the principal actually has the permission on
* the resource. There might be another role binding that overrides this role
* binding. To determine whether the principal actually has the permission,
* use the `overall_access_state` field in the TroubleshootIamPolicyResponse.
*
* @var string
*/
public $allowAccessState;
protected $combinedMembershipType = GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanationAnnotatedAllowMembership::class;
protected $combinedMembershipDataType = '';
protected $conditionType = GoogleTypeExpr::class;
protected $conditionDataType = '';
protected $conditionExplanationType = GoogleCloudPolicytroubleshooterIamV3ConditionExplanation::class;
protected $conditionExplanationDataType = '';
protected $membershipsType = GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanationAnnotatedAllowMembership::class;
protected $membershipsDataType = 'map';
/**
* The relevance of this role binding to the overall determination for the
* entire policy.
*
* @var string
*/
public $relevance;
/**
* The role that this role binding grants. For example, `roles/compute.admin`.
* For a complete list of predefined IAM roles, as well as the permissions in
* each role, see https://cloud.google.com/iam/help/roles/reference.
*
* @var string
*/
public $role;
/**
* Indicates whether the role granted by this role binding contains the
* specified permission.
*
* @var string
*/
public $rolePermission;
/**
* The relevance of the permission's existence, or nonexistence, in the role
* to the overall determination for the entire policy.
*
* @var string
*/
public $rolePermissionRelevance;
/**
* Required. Indicates whether _this role binding_ gives the specified
* permission to the specified principal on the specified resource. This field
* does _not_ indicate whether the principal actually has the permission on
* the resource. There might be another role binding that overrides this role
* binding. To determine whether the principal actually has the permission,
* use the `overall_access_state` field in the TroubleshootIamPolicyResponse.
*
* Accepted values: ALLOW_ACCESS_STATE_UNSPECIFIED,
* ALLOW_ACCESS_STATE_GRANTED, ALLOW_ACCESS_STATE_NOT_GRANTED,
* ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL, ALLOW_ACCESS_STATE_UNKNOWN_INFO
*
* @param self::ALLOW_ACCESS_STATE_* $allowAccessState
*/
public function setAllowAccessState($allowAccessState)
{
$this->allowAccessState = $allowAccessState;
}
/**
* @return self::ALLOW_ACCESS_STATE_*
*/
public function getAllowAccessState()
{
return $this->allowAccessState;
}
/**
* The combined result of all memberships. Indicates if the principal is
* included in any role binding, either directly or indirectly.
*
* @param GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanationAnnotatedAllowMembership $combinedMembership
*/
public function setCombinedMembership(GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanationAnnotatedAllowMembership $combinedMembership)
{
$this->combinedMembership = $combinedMembership;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanationAnnotatedAllowMembership
*/
public function getCombinedMembership()
{
return $this->combinedMembership;
}
/**
* A condition expression that specifies when the role binding grants access.
* To learn about IAM Conditions, see
* https://cloud.google.com/iam/help/conditions/overview.
*
* @param GoogleTypeExpr $condition
*/
public function setCondition(GoogleTypeExpr $condition)
{
$this->condition = $condition;
}
/**
* @return GoogleTypeExpr
*/
public function getCondition()
{
return $this->condition;
}
/**
* Condition evaluation state for this role binding.
*
* @param GoogleCloudPolicytroubleshooterIamV3ConditionExplanation $conditionExplanation
*/
public function setConditionExplanation(GoogleCloudPolicytroubleshooterIamV3ConditionExplanation $conditionExplanation)
{
$this->conditionExplanation = $conditionExplanation;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ConditionExplanation
*/
public function getConditionExplanation()
{
return $this->conditionExplanation;
}
/**
* Indicates whether each role binding includes the principal specified in the
* request, either directly or indirectly. Each key identifies a principal in
* the role binding, and each value indicates whether the principal in the
* role binding includes the principal in the request. For example, suppose
* that a role binding includes the following principals: *
* `user:alice@example.com` * `group:product-eng@example.com` You want to
* troubleshoot access for `user:bob@example.com`. This user is a member of
* the group `group:product-eng@example.com`. For the first principal in the
* role binding, the key is `user:alice@example.com`, and the `membership`
* field in the value is set to `NOT_INCLUDED`. For the second principal in
* the role binding, the key is `group:product-eng@example.com`, and the
* `membership` field in the value is set to `INCLUDED`.
*
* @param GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanationAnnotatedAllowMembership[] $memberships
*/
public function setMemberships($memberships)
{
$this->memberships = $memberships;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanationAnnotatedAllowMembership[]
*/
public function getMemberships()
{
return $this->memberships;
}
/**
* The relevance of this role binding to the overall determination for the
* entire policy.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
/**
* The role that this role binding grants. For example, `roles/compute.admin`.
* For a complete list of predefined IAM roles, as well as the permissions in
* each role, see https://cloud.google.com/iam/help/roles/reference.
*
* @param string $role
*/
public function setRole($role)
{
$this->role = $role;
}
/**
* @return string
*/
public function getRole()
{
return $this->role;
}
/**
* Indicates whether the role granted by this role binding contains the
* specified permission.
*
* Accepted values: ROLE_PERMISSION_INCLUSION_STATE_UNSPECIFIED,
* ROLE_PERMISSION_INCLUDED, ROLE_PERMISSION_NOT_INCLUDED,
* ROLE_PERMISSION_UNKNOWN_INFO
*
* @param self::ROLE_PERMISSION_* $rolePermission
*/
public function setRolePermission($rolePermission)
{
$this->rolePermission = $rolePermission;
}
/**
* @return self::ROLE_PERMISSION_*
*/
public function getRolePermission()
{
return $this->rolePermission;
}
/**
* The relevance of the permission's existence, or nonexistence, in the role
* to the overall determination for the entire policy.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::ROLE_PERMISSION_RELEVANCE_* $rolePermissionRelevance
*/
public function setRolePermissionRelevance($rolePermissionRelevance)
{
$this->rolePermissionRelevance = $rolePermissionRelevance;
}
/**
* @return self::ROLE_PERMISSION_RELEVANCE_*
*/
public function getRolePermissionRelevance()
{
return $this->rolePermissionRelevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanation::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanation');
@@ -0,0 +1,119 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanationAnnotatedAllowMembership extends \Google\Model
{
/**
* Not specified.
*/
public const MEMBERSHIP_MEMBERSHIP_MATCHING_STATE_UNSPECIFIED = 'MEMBERSHIP_MATCHING_STATE_UNSPECIFIED';
/**
* The principal in the request matches the principal in the policy. The
* principal can be included directly or indirectly: * A principal is included
* directly if that principal is listed in the role binding. * A principal is
* included indirectly if that principal is in a Google group, Google
* Workspace account, or Cloud Identity domain that is listed in the policy.
*/
public const MEMBERSHIP_MEMBERSHIP_MATCHED = 'MEMBERSHIP_MATCHED';
/**
* The principal in the request doesn't match the principal in the policy.
*/
public const MEMBERSHIP_MEMBERSHIP_NOT_MATCHED = 'MEMBERSHIP_NOT_MATCHED';
/**
* The principal in the policy is a group or domain, and the sender of the
* request doesn't have permission to view whether the principal in the
* request is a member of the group or domain.
*/
public const MEMBERSHIP_MEMBERSHIP_UNKNOWN_INFO = 'MEMBERSHIP_UNKNOWN_INFO';
/**
* The principal is an unsupported type.
*/
public const MEMBERSHIP_MEMBERSHIP_UNKNOWN_UNSUPPORTED = 'MEMBERSHIP_UNKNOWN_UNSUPPORTED';
/**
* Not specified.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
/**
* Indicates whether the role binding includes the principal.
*
* @var string
*/
public $membership;
/**
* The relevance of the principal's status to the overall determination for
* the role binding.
*
* @var string
*/
public $relevance;
/**
* Indicates whether the role binding includes the principal.
*
* Accepted values: MEMBERSHIP_MATCHING_STATE_UNSPECIFIED, MEMBERSHIP_MATCHED,
* MEMBERSHIP_NOT_MATCHED, MEMBERSHIP_UNKNOWN_INFO,
* MEMBERSHIP_UNKNOWN_UNSUPPORTED
*
* @param self::MEMBERSHIP_* $membership
*/
public function setMembership($membership)
{
$this->membership = $membership;
}
/**
* @return self::MEMBERSHIP_*
*/
public function getMembership()
{
return $this->membership;
}
/**
* The relevance of the principal's status to the overall determination for
* the role binding.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanationAnnotatedAllowMembership::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanationAnnotatedAllowMembership');
@@ -0,0 +1,142 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3AllowPolicyExplanation extends \Google\Collection
{
/**
* Not specified.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_UNSPECIFIED = 'ALLOW_ACCESS_STATE_UNSPECIFIED';
/**
* The allow policy gives the principal the permission.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_GRANTED = 'ALLOW_ACCESS_STATE_GRANTED';
/**
* The allow policy doesn't give the principal the permission.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_NOT_GRANTED = 'ALLOW_ACCESS_STATE_NOT_GRANTED';
/**
* The allow policy gives the principal the permission if a condition
* expression evaluate to `true`. However, the sender of the request didn't
* provide enough context for Policy Troubleshooter to evaluate the condition
* expression.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL = 'ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL';
/**
* The sender of the request doesn't have access to all of the allow policies
* that Policy Troubleshooter needs to evaluate the principal's access.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_UNKNOWN_INFO = 'ALLOW_ACCESS_STATE_UNKNOWN_INFO';
/**
* Not specified.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
protected $collection_key = 'explainedPolicies';
/**
* Indicates whether the principal has the specified permission for the
* specified resource, based on evaluating all applicable IAM allow policies.
*
* @var string
*/
public $allowAccessState;
protected $explainedPoliciesType = GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy::class;
protected $explainedPoliciesDataType = 'array';
/**
* The relevance of the allow policy type to the overall access state.
*
* @var string
*/
public $relevance;
/**
* Indicates whether the principal has the specified permission for the
* specified resource, based on evaluating all applicable IAM allow policies.
*
* Accepted values: ALLOW_ACCESS_STATE_UNSPECIFIED,
* ALLOW_ACCESS_STATE_GRANTED, ALLOW_ACCESS_STATE_NOT_GRANTED,
* ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL, ALLOW_ACCESS_STATE_UNKNOWN_INFO
*
* @param self::ALLOW_ACCESS_STATE_* $allowAccessState
*/
public function setAllowAccessState($allowAccessState)
{
$this->allowAccessState = $allowAccessState;
}
/**
* @return self::ALLOW_ACCESS_STATE_*
*/
public function getAllowAccessState()
{
return $this->allowAccessState;
}
/**
* List of IAM allow policies that were evaluated to check the principal's
* permissions, with annotations to indicate how each policy contributed to
* the final result. The list of policies includes the policy for the resource
* itself, as well as allow policies that are inherited from higher levels of
* the resource hierarchy, including the organization, the folder, and the
* project. To learn more about the resource hierarchy, see
* https://cloud.google.com/iam/help/resource-hierarchy.
*
* @param GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy[] $explainedPolicies
*/
public function setExplainedPolicies($explainedPolicies)
{
$this->explainedPolicies = $explainedPolicies;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy[]
*/
public function getExplainedPolicies()
{
return $this->explainedPolicies;
}
/**
* The relevance of the allow policy type to the overall access state.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3AllowPolicyExplanation::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3AllowPolicyExplanation');
@@ -0,0 +1,104 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3ConditionContext extends \Google\Collection
{
protected $collection_key = 'effectiveTags';
protected $destinationType = GoogleCloudPolicytroubleshooterIamV3ConditionContextPeer::class;
protected $destinationDataType = '';
protected $effectiveTagsType = GoogleCloudPolicytroubleshooterIamV3ConditionContextEffectiveTag::class;
protected $effectiveTagsDataType = 'array';
protected $requestType = GoogleCloudPolicytroubleshooterIamV3ConditionContextRequest::class;
protected $requestDataType = '';
protected $resourceType = GoogleCloudPolicytroubleshooterIamV3ConditionContextResource::class;
protected $resourceDataType = '';
/**
* The destination of a network activity, such as accepting a TCP connection.
* In a multi-hop network activity, the destination represents the receiver of
* the last hop.
*
* @param GoogleCloudPolicytroubleshooterIamV3ConditionContextPeer $destination
*/
public function setDestination(GoogleCloudPolicytroubleshooterIamV3ConditionContextPeer $destination)
{
$this->destination = $destination;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ConditionContextPeer
*/
public function getDestination()
{
return $this->destination;
}
/**
* Output only. The effective tags on the resource. The effective tags are
* fetched during troubleshooting.
*
* @param GoogleCloudPolicytroubleshooterIamV3ConditionContextEffectiveTag[] $effectiveTags
*/
public function setEffectiveTags($effectiveTags)
{
$this->effectiveTags = $effectiveTags;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ConditionContextEffectiveTag[]
*/
public function getEffectiveTags()
{
return $this->effectiveTags;
}
/**
* Represents a network request, such as an HTTP request.
*
* @param GoogleCloudPolicytroubleshooterIamV3ConditionContextRequest $request
*/
public function setRequest(GoogleCloudPolicytroubleshooterIamV3ConditionContextRequest $request)
{
$this->request = $request;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ConditionContextRequest
*/
public function getRequest()
{
return $this->request;
}
/**
* Represents a target resource that is involved with a network activity. If
* multiple resources are involved with an activity, this must be the primary
* one.
*
* @param GoogleCloudPolicytroubleshooterIamV3ConditionContextResource $resource
*/
public function setResource(GoogleCloudPolicytroubleshooterIamV3ConditionContextResource $resource)
{
$this->resource = $resource;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ConditionContextResource
*/
public function getResource()
{
return $this->resource;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3ConditionContext::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3ConditionContext');
@@ -0,0 +1,180 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3ConditionContextEffectiveTag extends \Google\Model
{
/**
* Output only. Indicates the inheritance status of a tag value attached to
* the given resource. If the tag value is inherited from one of the
* resource's ancestors, inherited will be true. If false, then the tag value
* is directly attached to the resource, inherited will be false.
*
* @var bool
*/
public $inherited;
/**
* Output only. The namespaced name of the TagKey. Can be in the form
* `{organization_id}/{tag_key_short_name}` or
* `{project_id}/{tag_key_short_name}` or
* `{project_number}/{tag_key_short_name}`.
*
* @var string
*/
public $namespacedTagKey;
/**
* Output only. The namespaced name of the TagValue. Can be in the form
* `{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or
* `{project_id}/{tag_key_short_name}/{tag_value_short_name}` or
* `{project_number}/{tag_key_short_name}/{tag_value_short_name}`.
*
* @var string
*/
public $namespacedTagValue;
/**
* Output only. The name of the TagKey, in the format `tagKeys/{id}`, such as
* `tagKeys/123`.
*
* @var string
*/
public $tagKey;
/**
* The parent name of the tag key. Must be in the format
* `organizations/{organization_id}` or `projects/{project_number}`
*
* @var string
*/
public $tagKeyParentName;
/**
* Output only. Resource name for TagValue in the format `tagValues/456`.
*
* @var string
*/
public $tagValue;
/**
* Output only. Indicates the inheritance status of a tag value attached to
* the given resource. If the tag value is inherited from one of the
* resource's ancestors, inherited will be true. If false, then the tag value
* is directly attached to the resource, inherited will be false.
*
* @param bool $inherited
*/
public function setInherited($inherited)
{
$this->inherited = $inherited;
}
/**
* @return bool
*/
public function getInherited()
{
return $this->inherited;
}
/**
* Output only. The namespaced name of the TagKey. Can be in the form
* `{organization_id}/{tag_key_short_name}` or
* `{project_id}/{tag_key_short_name}` or
* `{project_number}/{tag_key_short_name}`.
*
* @param string $namespacedTagKey
*/
public function setNamespacedTagKey($namespacedTagKey)
{
$this->namespacedTagKey = $namespacedTagKey;
}
/**
* @return string
*/
public function getNamespacedTagKey()
{
return $this->namespacedTagKey;
}
/**
* Output only. The namespaced name of the TagValue. Can be in the form
* `{organization_id}/{tag_key_short_name}/{tag_value_short_name}` or
* `{project_id}/{tag_key_short_name}/{tag_value_short_name}` or
* `{project_number}/{tag_key_short_name}/{tag_value_short_name}`.
*
* @param string $namespacedTagValue
*/
public function setNamespacedTagValue($namespacedTagValue)
{
$this->namespacedTagValue = $namespacedTagValue;
}
/**
* @return string
*/
public function getNamespacedTagValue()
{
return $this->namespacedTagValue;
}
/**
* Output only. The name of the TagKey, in the format `tagKeys/{id}`, such as
* `tagKeys/123`.
*
* @param string $tagKey
*/
public function setTagKey($tagKey)
{
$this->tagKey = $tagKey;
}
/**
* @return string
*/
public function getTagKey()
{
return $this->tagKey;
}
/**
* The parent name of the tag key. Must be in the format
* `organizations/{organization_id}` or `projects/{project_number}`
*
* @param string $tagKeyParentName
*/
public function setTagKeyParentName($tagKeyParentName)
{
$this->tagKeyParentName = $tagKeyParentName;
}
/**
* @return string
*/
public function getTagKeyParentName()
{
return $this->tagKeyParentName;
}
/**
* Output only. Resource name for TagValue in the format `tagValues/456`.
*
* @param string $tagValue
*/
public function setTagValue($tagValue)
{
$this->tagValue = $tagValue;
}
/**
* @return string
*/
public function getTagValue()
{
return $this->tagValue;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3ConditionContextEffectiveTag::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3ConditionContextEffectiveTag');
@@ -0,0 +1,70 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3ConditionContextPeer extends \Google\Model
{
/**
* The IPv4 or IPv6 address of the peer.
*
* @var string
*/
public $ip;
/**
* The network port of the peer.
*
* @var string
*/
public $port;
/**
* The IPv4 or IPv6 address of the peer.
*
* @param string $ip
*/
public function setIp($ip)
{
$this->ip = $ip;
}
/**
* @return string
*/
public function getIp()
{
return $this->ip;
}
/**
* The network port of the peer.
*
* @param string $port
*/
public function setPort($port)
{
$this->port = $port;
}
/**
* @return string
*/
public function getPort()
{
return $this->port;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3ConditionContextPeer::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3ConditionContextPeer');
@@ -0,0 +1,50 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3ConditionContextRequest extends \Google\Model
{
/**
* Optional. The timestamp when the destination service receives the first
* byte of the request.
*
* @var string
*/
public $receiveTime;
/**
* Optional. The timestamp when the destination service receives the first
* byte of the request.
*
* @param string $receiveTime
*/
public function setReceiveTime($receiveTime)
{
$this->receiveTime = $receiveTime;
}
/**
* @return string
*/
public function getReceiveTime()
{
return $this->receiveTime;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3ConditionContextRequest::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3ConditionContextRequest');
@@ -0,0 +1,110 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3ConditionContextResource extends \Google\Model
{
/**
* The stable identifier (name) of a resource on the `service`. A resource can
* be logically identified as `//{resource.service}/{resource.name}`. Unlike
* the resource URI, the resource name doesn't contain any protocol and
* version information. For a list of full resource name formats, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names
*
* @var string
*/
public $name;
/**
* The name of the service that this resource belongs to, such as
* `compute.googleapis.com`. The service name might not match the DNS hostname
* that actually serves the request. For a full list of resource service
* values, see https://cloud.google.com/iam/help/conditions/resource-services
*
* @var string
*/
public $service;
/**
* The type of the resource, in the format `{service}/{kind}`. For a full list
* of resource type values, see
* https://cloud.google.com/iam/help/conditions/resource-types
*
* @var string
*/
public $type;
/**
* The stable identifier (name) of a resource on the `service`. A resource can
* be logically identified as `//{resource.service}/{resource.name}`. Unlike
* the resource URI, the resource name doesn't contain any protocol and
* version information. For a list of full resource name formats, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names
*
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* The name of the service that this resource belongs to, such as
* `compute.googleapis.com`. The service name might not match the DNS hostname
* that actually serves the request. For a full list of resource service
* values, see https://cloud.google.com/iam/help/conditions/resource-services
*
* @param string $service
*/
public function setService($service)
{
$this->service = $service;
}
/**
* @return string
*/
public function getService()
{
return $this->service;
}
/**
* The type of the resource, in the format `{service}/{kind}`. For a full list
* of resource type values, see
* https://cloud.google.com/iam/help/conditions/resource-types
*
* @param string $type
*/
public function setType($type)
{
$this->type = $type;
}
/**
* @return string
*/
public function getType()
{
return $this->type;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3ConditionContextResource::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3ConditionContextResource');
@@ -0,0 +1,87 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3ConditionExplanation extends \Google\Collection
{
protected $collection_key = 'evaluationStates';
protected $errorsType = GoogleRpcStatus::class;
protected $errorsDataType = 'array';
protected $evaluationStatesType = GoogleCloudPolicytroubleshooterIamV3ConditionExplanationEvaluationState::class;
protected $evaluationStatesDataType = 'array';
/**
* Value of the condition.
*
* @var array
*/
public $value;
/**
* Any errors that prevented complete evaluation of the condition expression.
*
* @param GoogleRpcStatus[] $errors
*/
public function setErrors($errors)
{
$this->errors = $errors;
}
/**
* @return GoogleRpcStatus[]
*/
public function getErrors()
{
return $this->errors;
}
/**
* The value of each statement of the condition expression. The value can be
* `true`, `false`, or `null`. The value is `null` if the statement can't be
* evaluated.
*
* @param GoogleCloudPolicytroubleshooterIamV3ConditionExplanationEvaluationState[] $evaluationStates
*/
public function setEvaluationStates($evaluationStates)
{
$this->evaluationStates = $evaluationStates;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ConditionExplanationEvaluationState[]
*/
public function getEvaluationStates()
{
return $this->evaluationStates;
}
/**
* Value of the condition.
*
* @param array $value
*/
public function setValue($value)
{
$this->value = $value;
}
/**
* @return array
*/
public function getValue()
{
return $this->value;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3ConditionExplanation::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3ConditionExplanation');
@@ -0,0 +1,115 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3ConditionExplanationEvaluationState extends \Google\Collection
{
protected $collection_key = 'errors';
/**
* End position of an expression in the condition, by character, end included,
* for example: the end position of the first part of `a==b || c==d` would be
* 4.
*
* @var int
*/
public $end;
protected $errorsType = GoogleRpcStatus::class;
protected $errorsDataType = 'array';
/**
* Start position of an expression in the condition, by character.
*
* @var int
*/
public $start;
/**
* Value of this expression.
*
* @var array
*/
public $value;
/**
* End position of an expression in the condition, by character, end included,
* for example: the end position of the first part of `a==b || c==d` would be
* 4.
*
* @param int $end
*/
public function setEnd($end)
{
$this->end = $end;
}
/**
* @return int
*/
public function getEnd()
{
return $this->end;
}
/**
* Any errors that prevented complete evaluation of the condition expression.
*
* @param GoogleRpcStatus[] $errors
*/
public function setErrors($errors)
{
$this->errors = $errors;
}
/**
* @return GoogleRpcStatus[]
*/
public function getErrors()
{
return $this->errors;
}
/**
* Start position of an expression in the condition, by character.
*
* @param int $start
*/
public function setStart($start)
{
$this->start = $start;
}
/**
* @return int
*/
public function getStart()
{
return $this->start;
}
/**
* Value of this expression.
*
* @param array $value
*/
public function setValue($value)
{
$this->value = $value;
}
/**
* @return array
*/
public function getValue()
{
return $this->value;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3ConditionExplanationEvaluationState::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3ConditionExplanationEvaluationState');
@@ -0,0 +1,168 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3DenyPolicyExplanation extends \Google\Collection
{
/**
* Not specified.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNSPECIFIED = 'DENY_ACCESS_STATE_UNSPECIFIED';
/**
* The deny policy denies the principal the permission.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_DENIED = 'DENY_ACCESS_STATE_DENIED';
/**
* The deny policy doesn't deny the principal the permission.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_NOT_DENIED = 'DENY_ACCESS_STATE_NOT_DENIED';
/**
* The deny policy denies the principal the permission if a condition
* expression evaluates to `true`. However, the sender of the request didn't
* provide enough context for Policy Troubleshooter to evaluate the condition
* expression.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL = 'DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL';
/**
* The sender of the request does not have access to all of the deny policies
* that Policy Troubleshooter needs to evaluate the principal's access.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNKNOWN_INFO = 'DENY_ACCESS_STATE_UNKNOWN_INFO';
/**
* Not specified.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
protected $collection_key = 'explainedResources';
/**
* Indicates whether the principal is denied the specified permission for the
* specified resource, based on evaluating all applicable IAM deny policies.
*
* @var string
*/
public $denyAccessState;
protected $explainedResourcesType = GoogleCloudPolicytroubleshooterIamV3ExplainedDenyResource::class;
protected $explainedResourcesDataType = 'array';
/**
* Indicates whether the permission to troubleshoot is supported in deny
* policies.
*
* @var bool
*/
public $permissionDeniable;
/**
* The relevance of the deny policy result to the overall access state.
*
* @var string
*/
public $relevance;
/**
* Indicates whether the principal is denied the specified permission for the
* specified resource, based on evaluating all applicable IAM deny policies.
*
* Accepted values: DENY_ACCESS_STATE_UNSPECIFIED, DENY_ACCESS_STATE_DENIED,
* DENY_ACCESS_STATE_NOT_DENIED, DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL,
* DENY_ACCESS_STATE_UNKNOWN_INFO
*
* @param self::DENY_ACCESS_STATE_* $denyAccessState
*/
public function setDenyAccessState($denyAccessState)
{
$this->denyAccessState = $denyAccessState;
}
/**
* @return self::DENY_ACCESS_STATE_*
*/
public function getDenyAccessState()
{
return $this->denyAccessState;
}
/**
* List of resources with IAM deny policies that were evaluated to check the
* principal's denied permissions, with annotations to indicate how each
* policy contributed to the final result. The list of resources includes the
* policy for the resource itself, as well as policies that are inherited from
* higher levels of the resource hierarchy, including the organization, the
* folder, and the project. The order of the resources starts from the
* resource and climbs up the resource hierarchy. To learn more about the
* resource hierarchy, see https://cloud.google.com/iam/help/resource-
* hierarchy.
*
* @param GoogleCloudPolicytroubleshooterIamV3ExplainedDenyResource[] $explainedResources
*/
public function setExplainedResources($explainedResources)
{
$this->explainedResources = $explainedResources;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ExplainedDenyResource[]
*/
public function getExplainedResources()
{
return $this->explainedResources;
}
/**
* Indicates whether the permission to troubleshoot is supported in deny
* policies.
*
* @param bool $permissionDeniable
*/
public function setPermissionDeniable($permissionDeniable)
{
$this->permissionDeniable = $permissionDeniable;
}
/**
* @return bool
*/
public function getPermissionDeniable()
{
return $this->permissionDeniable;
}
/**
* The relevance of the deny policy result to the overall access state.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3DenyPolicyExplanation::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3DenyPolicyExplanation');
@@ -0,0 +1,327 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanation extends \Google\Model
{
/**
* Not specified.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNSPECIFIED = 'DENY_ACCESS_STATE_UNSPECIFIED';
/**
* The deny policy denies the principal the permission.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_DENIED = 'DENY_ACCESS_STATE_DENIED';
/**
* The deny policy doesn't deny the principal the permission.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_NOT_DENIED = 'DENY_ACCESS_STATE_NOT_DENIED';
/**
* The deny policy denies the principal the permission if a condition
* expression evaluates to `true`. However, the sender of the request didn't
* provide enough context for Policy Troubleshooter to evaluate the condition
* expression.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL = 'DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL';
/**
* The sender of the request does not have access to all of the deny policies
* that Policy Troubleshooter needs to evaluate the principal's access.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNKNOWN_INFO = 'DENY_ACCESS_STATE_UNKNOWN_INFO';
/**
* Not specified.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
protected $combinedDeniedPermissionType = GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching::class;
protected $combinedDeniedPermissionDataType = '';
protected $combinedDeniedPrincipalType = GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching::class;
protected $combinedDeniedPrincipalDataType = '';
protected $combinedExceptionPermissionType = GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching::class;
protected $combinedExceptionPermissionDataType = '';
protected $combinedExceptionPrincipalType = GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching::class;
protected $combinedExceptionPrincipalDataType = '';
protected $conditionType = GoogleTypeExpr::class;
protected $conditionDataType = '';
protected $conditionExplanationType = GoogleCloudPolicytroubleshooterIamV3ConditionExplanation::class;
protected $conditionExplanationDataType = '';
protected $deniedPermissionsType = GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching::class;
protected $deniedPermissionsDataType = 'map';
protected $deniedPrincipalsType = GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching::class;
protected $deniedPrincipalsDataType = 'map';
/**
* Required. Indicates whether _this rule_ denies the specified permission to
* the specified principal for the specified resource. This field does _not_
* indicate whether the principal is actually denied on the permission for the
* resource. There might be another rule that overrides this rule. To
* determine whether the principal actually has the permission, use the
* `overall_access_state` field in the TroubleshootIamPolicyResponse.
*
* @var string
*/
public $denyAccessState;
protected $exceptionPermissionsType = GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching::class;
protected $exceptionPermissionsDataType = 'map';
protected $exceptionPrincipalsType = GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching::class;
protected $exceptionPrincipalsDataType = 'map';
/**
* The relevance of this role binding to the overall determination for the
* entire policy.
*
* @var string
*/
public $relevance;
/**
* Indicates whether the permission in the request is listed as a denied
* permission in the deny rule.
*
* @param GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching $combinedDeniedPermission
*/
public function setCombinedDeniedPermission(GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching $combinedDeniedPermission)
{
$this->combinedDeniedPermission = $combinedDeniedPermission;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching
*/
public function getCombinedDeniedPermission()
{
return $this->combinedDeniedPermission;
}
/**
* Indicates whether the principal is listed as a denied principal in the deny
* rule, either directly or through membership in a principal set.
*
* @param GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching $combinedDeniedPrincipal
*/
public function setCombinedDeniedPrincipal(GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching $combinedDeniedPrincipal)
{
$this->combinedDeniedPrincipal = $combinedDeniedPrincipal;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching
*/
public function getCombinedDeniedPrincipal()
{
return $this->combinedDeniedPrincipal;
}
/**
* Indicates whether the permission in the request is listed as an exception
* permission in the deny rule.
*
* @param GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching $combinedExceptionPermission
*/
public function setCombinedExceptionPermission(GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching $combinedExceptionPermission)
{
$this->combinedExceptionPermission = $combinedExceptionPermission;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching
*/
public function getCombinedExceptionPermission()
{
return $this->combinedExceptionPermission;
}
/**
* Indicates whether the principal is listed as an exception principal in the
* deny rule, either directly or through membership in a principal set.
*
* @param GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching $combinedExceptionPrincipal
*/
public function setCombinedExceptionPrincipal(GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching $combinedExceptionPrincipal)
{
$this->combinedExceptionPrincipal = $combinedExceptionPrincipal;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching
*/
public function getCombinedExceptionPrincipal()
{
return $this->combinedExceptionPrincipal;
}
/**
* A condition expression that specifies when the deny rule denies the
* principal access. To learn about IAM Conditions, see
* https://cloud.google.com/iam/help/conditions/overview.
*
* @param GoogleTypeExpr $condition
*/
public function setCondition(GoogleTypeExpr $condition)
{
$this->condition = $condition;
}
/**
* @return GoogleTypeExpr
*/
public function getCondition()
{
return $this->condition;
}
/**
* Condition evaluation state for this role binding.
*
* @param GoogleCloudPolicytroubleshooterIamV3ConditionExplanation $conditionExplanation
*/
public function setConditionExplanation(GoogleCloudPolicytroubleshooterIamV3ConditionExplanation $conditionExplanation)
{
$this->conditionExplanation = $conditionExplanation;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ConditionExplanation
*/
public function getConditionExplanation()
{
return $this->conditionExplanation;
}
/**
* Lists all denied permissions in the deny rule and indicates whether each
* permission matches the permission in the request. Each key identifies a
* denied permission in the rule, and each value indicates whether the denied
* permission matches the permission in the request.
*
* @param GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching[] $deniedPermissions
*/
public function setDeniedPermissions($deniedPermissions)
{
$this->deniedPermissions = $deniedPermissions;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching[]
*/
public function getDeniedPermissions()
{
return $this->deniedPermissions;
}
/**
* Lists all denied principals in the deny rule and indicates whether each
* principal matches the principal in the request, either directly or through
* membership in a principal set. Each key identifies a denied principal in
* the rule, and each value indicates whether the denied principal matches the
* principal in the request.
*
* @param GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching[] $deniedPrincipals
*/
public function setDeniedPrincipals($deniedPrincipals)
{
$this->deniedPrincipals = $deniedPrincipals;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching[]
*/
public function getDeniedPrincipals()
{
return $this->deniedPrincipals;
}
/**
* Required. Indicates whether _this rule_ denies the specified permission to
* the specified principal for the specified resource. This field does _not_
* indicate whether the principal is actually denied on the permission for the
* resource. There might be another rule that overrides this rule. To
* determine whether the principal actually has the permission, use the
* `overall_access_state` field in the TroubleshootIamPolicyResponse.
*
* Accepted values: DENY_ACCESS_STATE_UNSPECIFIED, DENY_ACCESS_STATE_DENIED,
* DENY_ACCESS_STATE_NOT_DENIED, DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL,
* DENY_ACCESS_STATE_UNKNOWN_INFO
*
* @param self::DENY_ACCESS_STATE_* $denyAccessState
*/
public function setDenyAccessState($denyAccessState)
{
$this->denyAccessState = $denyAccessState;
}
/**
* @return self::DENY_ACCESS_STATE_*
*/
public function getDenyAccessState()
{
return $this->denyAccessState;
}
/**
* Lists all exception permissions in the deny rule and indicates whether each
* permission matches the permission in the request. Each key identifies a
* exception permission in the rule, and each value indicates whether the
* exception permission matches the permission in the request.
*
* @param GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching[] $exceptionPermissions
*/
public function setExceptionPermissions($exceptionPermissions)
{
$this->exceptionPermissions = $exceptionPermissions;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching[]
*/
public function getExceptionPermissions()
{
return $this->exceptionPermissions;
}
/**
* Lists all exception principals in the deny rule and indicates whether each
* principal matches the principal in the request, either directly or through
* membership in a principal set. Each key identifies a exception principal in
* the rule, and each value indicates whether the exception principal matches
* the principal in the request.
*
* @param GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching[] $exceptionPrincipals
*/
public function setExceptionPrincipals($exceptionPrincipals)
{
$this->exceptionPrincipals = $exceptionPrincipals;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching[]
*/
public function getExceptionPrincipals()
{
return $this->exceptionPrincipals;
}
/**
* The relevance of this role binding to the overall determination for the
* entire policy.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanation::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanation');
@@ -0,0 +1,121 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching extends \Google\Model
{
/**
* Not specified.
*/
public const MEMBERSHIP_MEMBERSHIP_MATCHING_STATE_UNSPECIFIED = 'MEMBERSHIP_MATCHING_STATE_UNSPECIFIED';
/**
* The principal in the request matches the principal in the policy. The
* principal can be included directly or indirectly: * A principal is included
* directly if that principal is listed in the role binding. * A principal is
* included indirectly if that principal is in a Google group, Google
* Workspace account, or Cloud Identity domain that is listed in the policy.
*/
public const MEMBERSHIP_MEMBERSHIP_MATCHED = 'MEMBERSHIP_MATCHED';
/**
* The principal in the request doesn't match the principal in the policy.
*/
public const MEMBERSHIP_MEMBERSHIP_NOT_MATCHED = 'MEMBERSHIP_NOT_MATCHED';
/**
* The principal in the policy is a group or domain, and the sender of the
* request doesn't have permission to view whether the principal in the
* request is a member of the group or domain.
*/
public const MEMBERSHIP_MEMBERSHIP_UNKNOWN_INFO = 'MEMBERSHIP_UNKNOWN_INFO';
/**
* The principal is an unsupported type.
*/
public const MEMBERSHIP_MEMBERSHIP_UNKNOWN_UNSUPPORTED = 'MEMBERSHIP_UNKNOWN_UNSUPPORTED';
/**
* Not specified.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
/**
* Indicates whether the principal is listed as a denied principal in the deny
* rule, either directly or through membership in a principal set.
*
* @var string
*/
public $membership;
/**
* The relevance of the principal's status to the overall determination for
* the role binding.
*
* @var string
*/
public $relevance;
/**
* Indicates whether the principal is listed as a denied principal in the deny
* rule, either directly or through membership in a principal set.
*
* Accepted values: MEMBERSHIP_MATCHING_STATE_UNSPECIFIED, MEMBERSHIP_MATCHED,
* MEMBERSHIP_NOT_MATCHED, MEMBERSHIP_UNKNOWN_INFO,
* MEMBERSHIP_UNKNOWN_UNSUPPORTED
*
* @param self::MEMBERSHIP_* $membership
*/
public function setMembership($membership)
{
$this->membership = $membership;
}
/**
* @return self::MEMBERSHIP_*
*/
public function getMembership()
{
return $this->membership;
}
/**
* The relevance of the principal's status to the overall determination for
* the role binding.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedDenyPrincipalMatching');
@@ -0,0 +1,104 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching extends \Google\Model
{
/**
* Not specified.
*/
public const PERMISSION_MATCHING_STATE_PERMISSION_PATTERN_MATCHING_STATE_UNSPECIFIED = 'PERMISSION_PATTERN_MATCHING_STATE_UNSPECIFIED';
/**
* The permission in the request matches the permission in the policy.
*/
public const PERMISSION_MATCHING_STATE_PERMISSION_PATTERN_MATCHED = 'PERMISSION_PATTERN_MATCHED';
/**
* The permission in the request matches the permission in the policy.
*/
public const PERMISSION_MATCHING_STATE_PERMISSION_PATTERN_NOT_MATCHED = 'PERMISSION_PATTERN_NOT_MATCHED';
/**
* Not specified.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
/**
* Indicates whether the permission in the request is denied by the deny rule.
*
* @var string
*/
public $permissionMatchingState;
/**
* The relevance of the permission status to the overall determination for the
* rule.
*
* @var string
*/
public $relevance;
/**
* Indicates whether the permission in the request is denied by the deny rule.
*
* Accepted values: PERMISSION_PATTERN_MATCHING_STATE_UNSPECIFIED,
* PERMISSION_PATTERN_MATCHED, PERMISSION_PATTERN_NOT_MATCHED
*
* @param self::PERMISSION_MATCHING_STATE_* $permissionMatchingState
*/
public function setPermissionMatchingState($permissionMatchingState)
{
$this->permissionMatchingState = $permissionMatchingState;
}
/**
* @return self::PERMISSION_MATCHING_STATE_*
*/
public function getPermissionMatchingState()
{
return $this->permissionMatchingState;
}
/**
* The relevance of the permission status to the overall determination for the
* rule.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanationAnnotatedPermissionMatching');
@@ -0,0 +1,203 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy extends \Google\Collection
{
/**
* Not specified.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_UNSPECIFIED = 'ALLOW_ACCESS_STATE_UNSPECIFIED';
/**
* The allow policy gives the principal the permission.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_GRANTED = 'ALLOW_ACCESS_STATE_GRANTED';
/**
* The allow policy doesn't give the principal the permission.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_NOT_GRANTED = 'ALLOW_ACCESS_STATE_NOT_GRANTED';
/**
* The allow policy gives the principal the permission if a condition
* expression evaluate to `true`. However, the sender of the request didn't
* provide enough context for Policy Troubleshooter to evaluate the condition
* expression.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL = 'ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL';
/**
* The sender of the request doesn't have access to all of the allow policies
* that Policy Troubleshooter needs to evaluate the principal's access.
*/
public const ALLOW_ACCESS_STATE_ALLOW_ACCESS_STATE_UNKNOWN_INFO = 'ALLOW_ACCESS_STATE_UNKNOWN_INFO';
/**
* Not specified.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
protected $collection_key = 'bindingExplanations';
/**
* Required. Indicates whether _this policy_ provides the specified permission
* to the specified principal for the specified resource. This field does
* _not_ indicate whether the principal actually has the permission for the
* resource. There might be another policy that overrides this policy. To
* determine whether the principal actually has the permission, use the
* `overall_access_state` field in the TroubleshootIamPolicyResponse.
*
* @var string
*/
public $allowAccessState;
protected $bindingExplanationsType = GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanation::class;
protected $bindingExplanationsDataType = 'array';
/**
* The full resource name that identifies the resource. For example,
* `//compute.googleapis.com/projects/my-project/zones/us-
* central1-a/instances/my-instance`. If the sender of the request does not
* have access to the policy, this field is omitted. For examples of full
* resource names for Google Cloud services, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
*
* @var string
*/
public $fullResourceName;
protected $policyType = GoogleIamV1Policy::class;
protected $policyDataType = '';
/**
* The relevance of this policy to the overall access state in the
* TroubleshootIamPolicyResponse. If the sender of the request does not have
* access to the policy, this field is omitted.
*
* @var string
*/
public $relevance;
/**
* Required. Indicates whether _this policy_ provides the specified permission
* to the specified principal for the specified resource. This field does
* _not_ indicate whether the principal actually has the permission for the
* resource. There might be another policy that overrides this policy. To
* determine whether the principal actually has the permission, use the
* `overall_access_state` field in the TroubleshootIamPolicyResponse.
*
* Accepted values: ALLOW_ACCESS_STATE_UNSPECIFIED,
* ALLOW_ACCESS_STATE_GRANTED, ALLOW_ACCESS_STATE_NOT_GRANTED,
* ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL, ALLOW_ACCESS_STATE_UNKNOWN_INFO
*
* @param self::ALLOW_ACCESS_STATE_* $allowAccessState
*/
public function setAllowAccessState($allowAccessState)
{
$this->allowAccessState = $allowAccessState;
}
/**
* @return self::ALLOW_ACCESS_STATE_*
*/
public function getAllowAccessState()
{
return $this->allowAccessState;
}
/**
* Details about how each role binding in the policy affects the principal's
* ability, or inability, to use the permission for the resource. The order of
* the role bindings matches the role binding order in the policy. If the
* sender of the request does not have access to the policy, this field is
* omitted.
*
* @param GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanation[] $bindingExplanations
*/
public function setBindingExplanations($bindingExplanations)
{
$this->bindingExplanations = $bindingExplanations;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3AllowBindingExplanation[]
*/
public function getBindingExplanations()
{
return $this->bindingExplanations;
}
/**
* The full resource name that identifies the resource. For example,
* `//compute.googleapis.com/projects/my-project/zones/us-
* central1-a/instances/my-instance`. If the sender of the request does not
* have access to the policy, this field is omitted. For examples of full
* resource names for Google Cloud services, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
*
* @param string $fullResourceName
*/
public function setFullResourceName($fullResourceName)
{
$this->fullResourceName = $fullResourceName;
}
/**
* @return string
*/
public function getFullResourceName()
{
return $this->fullResourceName;
}
/**
* The IAM allow policy attached to the resource. If the sender of the request
* does not have access to the policy, this field is empty.
*
* @param GoogleIamV1Policy $policy
*/
public function setPolicy(GoogleIamV1Policy $policy)
{
$this->policy = $policy;
}
/**
* @return GoogleIamV1Policy
*/
public function getPolicy()
{
return $this->policy;
}
/**
* The relevance of this policy to the overall access state in the
* TroubleshootIamPolicyResponse. If the sender of the request does not have
* access to the policy, this field is omitted.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3ExplainedAllowPolicy');
@@ -0,0 +1,170 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3ExplainedDenyPolicy extends \Google\Collection
{
/**
* Not specified.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNSPECIFIED = 'DENY_ACCESS_STATE_UNSPECIFIED';
/**
* The deny policy denies the principal the permission.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_DENIED = 'DENY_ACCESS_STATE_DENIED';
/**
* The deny policy doesn't deny the principal the permission.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_NOT_DENIED = 'DENY_ACCESS_STATE_NOT_DENIED';
/**
* The deny policy denies the principal the permission if a condition
* expression evaluates to `true`. However, the sender of the request didn't
* provide enough context for Policy Troubleshooter to evaluate the condition
* expression.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL = 'DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL';
/**
* The sender of the request does not have access to all of the deny policies
* that Policy Troubleshooter needs to evaluate the principal's access.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNKNOWN_INFO = 'DENY_ACCESS_STATE_UNKNOWN_INFO';
/**
* Not specified.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
protected $collection_key = 'ruleExplanations';
/**
* Required. Indicates whether _this policy_ denies the specified permission
* to the specified principal for the specified resource. This field does
* _not_ indicate whether the principal actually has the permission for the
* resource. There might be another policy that overrides this policy. To
* determine whether the principal actually has the permission, use the
* `overall_access_state` field in the TroubleshootIamPolicyResponse.
*
* @var string
*/
public $denyAccessState;
protected $policyType = GoogleIamV2Policy::class;
protected $policyDataType = '';
/**
* The relevance of this policy to the overall access state in the
* TroubleshootIamPolicyResponse. If the sender of the request does not have
* access to the policy, this field is omitted.
*
* @var string
*/
public $relevance;
protected $ruleExplanationsType = GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanation::class;
protected $ruleExplanationsDataType = 'array';
/**
* Required. Indicates whether _this policy_ denies the specified permission
* to the specified principal for the specified resource. This field does
* _not_ indicate whether the principal actually has the permission for the
* resource. There might be another policy that overrides this policy. To
* determine whether the principal actually has the permission, use the
* `overall_access_state` field in the TroubleshootIamPolicyResponse.
*
* Accepted values: DENY_ACCESS_STATE_UNSPECIFIED, DENY_ACCESS_STATE_DENIED,
* DENY_ACCESS_STATE_NOT_DENIED, DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL,
* DENY_ACCESS_STATE_UNKNOWN_INFO
*
* @param self::DENY_ACCESS_STATE_* $denyAccessState
*/
public function setDenyAccessState($denyAccessState)
{
$this->denyAccessState = $denyAccessState;
}
/**
* @return self::DENY_ACCESS_STATE_*
*/
public function getDenyAccessState()
{
return $this->denyAccessState;
}
/**
* The IAM deny policy attached to the resource. If the sender of the request
* does not have access to the policy, this field is omitted.
*
* @param GoogleIamV2Policy $policy
*/
public function setPolicy(GoogleIamV2Policy $policy)
{
$this->policy = $policy;
}
/**
* @return GoogleIamV2Policy
*/
public function getPolicy()
{
return $this->policy;
}
/**
* The relevance of this policy to the overall access state in the
* TroubleshootIamPolicyResponse. If the sender of the request does not have
* access to the policy, this field is omitted.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
/**
* Details about how each rule in the policy affects the principal's inability
* to use the permission for the resource. The order of the deny rule matches
* the order of the rules in the deny policy. If the sender of the request
* does not have access to the policy, this field is omitted.
*
* @param GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanation[] $ruleExplanations
*/
public function setRuleExplanations($ruleExplanations)
{
$this->ruleExplanations = $ruleExplanations;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3DenyRuleExplanation[]
*/
public function getRuleExplanations()
{
return $this->ruleExplanations;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3ExplainedDenyPolicy::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3ExplainedDenyPolicy');
@@ -0,0 +1,184 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3ExplainedDenyResource extends \Google\Collection
{
/**
* Not specified.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNSPECIFIED = 'DENY_ACCESS_STATE_UNSPECIFIED';
/**
* The deny policy denies the principal the permission.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_DENIED = 'DENY_ACCESS_STATE_DENIED';
/**
* The deny policy doesn't deny the principal the permission.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_NOT_DENIED = 'DENY_ACCESS_STATE_NOT_DENIED';
/**
* The deny policy denies the principal the permission if a condition
* expression evaluates to `true`. However, the sender of the request didn't
* provide enough context for Policy Troubleshooter to evaluate the condition
* expression.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL = 'DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL';
/**
* The sender of the request does not have access to all of the deny policies
* that Policy Troubleshooter needs to evaluate the principal's access.
*/
public const DENY_ACCESS_STATE_DENY_ACCESS_STATE_UNKNOWN_INFO = 'DENY_ACCESS_STATE_UNKNOWN_INFO';
/**
* Not specified.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_NORMAL = 'HEURISTIC_RELEVANCE_NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_HIGH = 'HEURISTIC_RELEVANCE_HIGH';
protected $collection_key = 'explainedPolicies';
/**
* Required. Indicates whether any policies attached to _this resource_ deny
* the specific permission to the specified principal for the specified
* resource. This field does _not_ indicate whether the principal actually has
* the permission for the resource. There might be another policy that
* overrides this policy. To determine whether the principal actually has the
* permission, use the `overall_access_state` field in the
* TroubleshootIamPolicyResponse.
*
* @var string
*/
public $denyAccessState;
protected $explainedPoliciesType = GoogleCloudPolicytroubleshooterIamV3ExplainedDenyPolicy::class;
protected $explainedPoliciesDataType = 'array';
/**
* The full resource name that identifies the resource. For example,
* `//compute.googleapis.com/projects/my-project/zones/us-
* central1-a/instances/my-instance`. If the sender of the request does not
* have access to the policy, this field is omitted. For examples of full
* resource names for Google Cloud services, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
*
* @var string
*/
public $fullResourceName;
/**
* The relevance of this policy to the overall access state in the
* TroubleshootIamPolicyResponse. If the sender of the request does not have
* access to the policy, this field is omitted.
*
* @var string
*/
public $relevance;
/**
* Required. Indicates whether any policies attached to _this resource_ deny
* the specific permission to the specified principal for the specified
* resource. This field does _not_ indicate whether the principal actually has
* the permission for the resource. There might be another policy that
* overrides this policy. To determine whether the principal actually has the
* permission, use the `overall_access_state` field in the
* TroubleshootIamPolicyResponse.
*
* Accepted values: DENY_ACCESS_STATE_UNSPECIFIED, DENY_ACCESS_STATE_DENIED,
* DENY_ACCESS_STATE_NOT_DENIED, DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL,
* DENY_ACCESS_STATE_UNKNOWN_INFO
*
* @param self::DENY_ACCESS_STATE_* $denyAccessState
*/
public function setDenyAccessState($denyAccessState)
{
$this->denyAccessState = $denyAccessState;
}
/**
* @return self::DENY_ACCESS_STATE_*
*/
public function getDenyAccessState()
{
return $this->denyAccessState;
}
/**
* List of IAM deny policies that were evaluated to check the principal's
* denied permissions, with annotations to indicate how each policy
* contributed to the final result.
*
* @param GoogleCloudPolicytroubleshooterIamV3ExplainedDenyPolicy[] $explainedPolicies
*/
public function setExplainedPolicies($explainedPolicies)
{
$this->explainedPolicies = $explainedPolicies;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3ExplainedDenyPolicy[]
*/
public function getExplainedPolicies()
{
return $this->explainedPolicies;
}
/**
* The full resource name that identifies the resource. For example,
* `//compute.googleapis.com/projects/my-project/zones/us-
* central1-a/instances/my-instance`. If the sender of the request does not
* have access to the policy, this field is omitted. For examples of full
* resource names for Google Cloud services, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
*
* @param string $fullResourceName
*/
public function setFullResourceName($fullResourceName)
{
$this->fullResourceName = $fullResourceName;
}
/**
* @return string
*/
public function getFullResourceName()
{
return $this->fullResourceName;
}
/**
* The relevance of this policy to the overall access state in the
* TroubleshootIamPolicyResponse. If the sender of the request does not have
* access to the policy, this field is omitted.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED,
* HEURISTIC_RELEVANCE_NORMAL, HEURISTIC_RELEVANCE_HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3ExplainedDenyResource::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3ExplainedDenyResource');
@@ -0,0 +1,45 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyRequest extends \Google\Model
{
protected $accessTupleType = GoogleCloudPolicytroubleshooterIamV3AccessTuple::class;
protected $accessTupleDataType = '';
/**
* The information to use for checking whether a principal has a permission
* for a resource.
*
* @param GoogleCloudPolicytroubleshooterIamV3AccessTuple $accessTuple
*/
public function setAccessTuple(GoogleCloudPolicytroubleshooterIamV3AccessTuple $accessTuple)
{
$this->accessTuple = $accessTuple;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3AccessTuple
*/
public function getAccessTuple()
{
return $this->accessTuple;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyRequest::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyRequest');
@@ -0,0 +1,135 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyResponse extends \Google\Model
{
/**
* Not specified.
*/
public const OVERALL_ACCESS_STATE_OVERALL_ACCESS_STATE_UNSPECIFIED = 'OVERALL_ACCESS_STATE_UNSPECIFIED';
/**
* The principal has the permission.
*/
public const OVERALL_ACCESS_STATE_CAN_ACCESS = 'CAN_ACCESS';
/**
* The principal doesn't have the permission.
*/
public const OVERALL_ACCESS_STATE_CANNOT_ACCESS = 'CANNOT_ACCESS';
/**
* The principal might have the permission, but the sender can't access all of
* the information needed to fully evaluate the principal's access.
*/
public const OVERALL_ACCESS_STATE_UNKNOWN_INFO = 'UNKNOWN_INFO';
/**
* The principal might have the permission, but Policy Troubleshooter can't
* fully evaluate the principal's access because the sender didn't provide the
* required context to evaluate the condition.
*/
public const OVERALL_ACCESS_STATE_UNKNOWN_CONDITIONAL = 'UNKNOWN_CONDITIONAL';
protected $accessTupleType = GoogleCloudPolicytroubleshooterIamV3AccessTuple::class;
protected $accessTupleDataType = '';
protected $allowPolicyExplanationType = GoogleCloudPolicytroubleshooterIamV3AllowPolicyExplanation::class;
protected $allowPolicyExplanationDataType = '';
protected $denyPolicyExplanationType = GoogleCloudPolicytroubleshooterIamV3DenyPolicyExplanation::class;
protected $denyPolicyExplanationDataType = '';
/**
* Indicates whether the principal has the specified permission for the
* specified resource, based on evaluating all types of the applicable IAM
* policies.
*
* @var string
*/
public $overallAccessState;
/**
* The access tuple from the request, including any provided context used to
* evaluate the condition.
*
* @param GoogleCloudPolicytroubleshooterIamV3AccessTuple $accessTuple
*/
public function setAccessTuple(GoogleCloudPolicytroubleshooterIamV3AccessTuple $accessTuple)
{
$this->accessTuple = $accessTuple;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3AccessTuple
*/
public function getAccessTuple()
{
return $this->accessTuple;
}
/**
* An explanation of how the applicable IAM allow policies affect the final
* access state.
*
* @param GoogleCloudPolicytroubleshooterIamV3AllowPolicyExplanation $allowPolicyExplanation
*/
public function setAllowPolicyExplanation(GoogleCloudPolicytroubleshooterIamV3AllowPolicyExplanation $allowPolicyExplanation)
{
$this->allowPolicyExplanation = $allowPolicyExplanation;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3AllowPolicyExplanation
*/
public function getAllowPolicyExplanation()
{
return $this->allowPolicyExplanation;
}
/**
* An explanation of how the applicable IAM deny policies affect the final
* access state.
*
* @param GoogleCloudPolicytroubleshooterIamV3DenyPolicyExplanation $denyPolicyExplanation
*/
public function setDenyPolicyExplanation(GoogleCloudPolicytroubleshooterIamV3DenyPolicyExplanation $denyPolicyExplanation)
{
$this->denyPolicyExplanation = $denyPolicyExplanation;
}
/**
* @return GoogleCloudPolicytroubleshooterIamV3DenyPolicyExplanation
*/
public function getDenyPolicyExplanation()
{
return $this->denyPolicyExplanation;
}
/**
* Indicates whether the principal has the specified permission for the
* specified resource, based on evaluating all types of the applicable IAM
* policies.
*
* Accepted values: OVERALL_ACCESS_STATE_UNSPECIFIED, CAN_ACCESS,
* CANNOT_ACCESS, UNKNOWN_INFO, UNKNOWN_CONDITIONAL
*
* @param self::OVERALL_ACCESS_STATE_* $overallAccessState
*/
public function setOverallAccessState($overallAccessState)
{
$this->overallAccessState = $overallAccessState;
}
/**
* @return self::OVERALL_ACCESS_STATE_*
*/
public function getOverallAccessState()
{
return $this->overallAccessState;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyResponse::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyResponse');
@@ -0,0 +1,116 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterV1AccessTuple extends \Google\Model
{
/**
* Required. The full resource name that identifies the resource. For example,
* `//compute.googleapis.com/projects/my-project/zones/us-
* central1-a/instances/my-instance`. For examples of full resource names for
* Google Cloud services, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
*
* @var string
*/
public $fullResourceName;
/**
* Required. The IAM permission to check for the specified principal and
* resource. For a complete list of IAM permissions, see
* https://cloud.google.com/iam/help/permissions/reference. For a complete
* list of predefined IAM roles and the permissions in each role, see
* https://cloud.google.com/iam/help/roles/reference.
*
* @var string
*/
public $permission;
/**
* Required. The principal whose access you want to check, in the form of the
* email address that represents that principal. For example,
* `alice@example.com` or `my-service-account@my-
* project.iam.gserviceaccount.com`. The principal must be a Google Account or
* a service account. Other types of principals are not supported.
*
* @var string
*/
public $principal;
/**
* Required. The full resource name that identifies the resource. For example,
* `//compute.googleapis.com/projects/my-project/zones/us-
* central1-a/instances/my-instance`. For examples of full resource names for
* Google Cloud services, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
*
* @param string $fullResourceName
*/
public function setFullResourceName($fullResourceName)
{
$this->fullResourceName = $fullResourceName;
}
/**
* @return string
*/
public function getFullResourceName()
{
return $this->fullResourceName;
}
/**
* Required. The IAM permission to check for the specified principal and
* resource. For a complete list of IAM permissions, see
* https://cloud.google.com/iam/help/permissions/reference. For a complete
* list of predefined IAM roles and the permissions in each role, see
* https://cloud.google.com/iam/help/roles/reference.
*
* @param string $permission
*/
public function setPermission($permission)
{
$this->permission = $permission;
}
/**
* @return string
*/
public function getPermission()
{
return $this->permission;
}
/**
* Required. The principal whose access you want to check, in the form of the
* email address that represents that principal. For example,
* `alice@example.com` or `my-service-account@my-
* project.iam.gserviceaccount.com`. The principal must be a Google Account or
* a service account. Other types of principals are not supported.
*
* @param string $principal
*/
public function setPrincipal($principal)
{
$this->principal = $principal;
}
/**
* @return string
*/
public function getPrincipal()
{
return $this->principal;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterV1AccessTuple::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterV1AccessTuple');
@@ -0,0 +1,283 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterV1BindingExplanation extends \Google\Model
{
/**
* Default value. This value is unused.
*/
public const ACCESS_ACCESS_STATE_UNSPECIFIED = 'ACCESS_STATE_UNSPECIFIED';
/**
* The principal has the permission.
*/
public const ACCESS_GRANTED = 'GRANTED';
/**
* The principal does not have the permission.
*/
public const ACCESS_NOT_GRANTED = 'NOT_GRANTED';
/**
* The principal has the permission only if a condition expression evaluates
* to `true`.
*/
public const ACCESS_UNKNOWN_CONDITIONAL = 'UNKNOWN_CONDITIONAL';
/**
* The sender of the request does not have access to all of the policies that
* Policy Troubleshooter needs to evaluate.
*/
public const ACCESS_UNKNOWN_INFO_DENIED = 'UNKNOWN_INFO_DENIED';
/**
* Default value. This value is unused.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_NORMAL = 'NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HIGH = 'HIGH';
/**
* Default value. This value is unused.
*/
public const ROLE_PERMISSION_ROLE_PERMISSION_UNSPECIFIED = 'ROLE_PERMISSION_UNSPECIFIED';
/**
* The permission is included in the role.
*/
public const ROLE_PERMISSION_ROLE_PERMISSION_INCLUDED = 'ROLE_PERMISSION_INCLUDED';
/**
* The permission is not included in the role.
*/
public const ROLE_PERMISSION_ROLE_PERMISSION_NOT_INCLUDED = 'ROLE_PERMISSION_NOT_INCLUDED';
/**
* The sender of the request is not allowed to access the binding.
*/
public const ROLE_PERMISSION_ROLE_PERMISSION_UNKNOWN_INFO_DENIED = 'ROLE_PERMISSION_UNKNOWN_INFO_DENIED';
/**
* Default value. This value is unused.
*/
public const ROLE_PERMISSION_RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const ROLE_PERMISSION_RELEVANCE_NORMAL = 'NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const ROLE_PERMISSION_RELEVANCE_HIGH = 'HIGH';
/**
* Required. Indicates whether _this binding_ provides the specified
* permission to the specified principal for the specified resource. This
* field does _not_ indicate whether the principal actually has the permission
* for the resource. There might be another binding that overrides this
* binding. To determine whether the principal actually has the permission,
* use the `access` field in the TroubleshootIamPolicyResponse.
*
* @var string
*/
public $access;
protected $conditionType = GoogleTypeExpr::class;
protected $conditionDataType = '';
protected $membershipsType = GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership::class;
protected $membershipsDataType = 'map';
/**
* The relevance of this binding to the overall determination for the entire
* policy.
*
* @var string
*/
public $relevance;
/**
* The role that this binding grants. For example,
* `roles/compute.serviceAgent`. For a complete list of predefined IAM roles,
* as well as the permissions in each role, see
* https://cloud.google.com/iam/help/roles/reference.
*
* @var string
*/
public $role;
/**
* Indicates whether the role granted by this binding contains the specified
* permission.
*
* @var string
*/
public $rolePermission;
/**
* The relevance of the permission's existence, or nonexistence, in the role
* to the overall determination for the entire policy.
*
* @var string
*/
public $rolePermissionRelevance;
/**
* Required. Indicates whether _this binding_ provides the specified
* permission to the specified principal for the specified resource. This
* field does _not_ indicate whether the principal actually has the permission
* for the resource. There might be another binding that overrides this
* binding. To determine whether the principal actually has the permission,
* use the `access` field in the TroubleshootIamPolicyResponse.
*
* Accepted values: ACCESS_STATE_UNSPECIFIED, GRANTED, NOT_GRANTED,
* UNKNOWN_CONDITIONAL, UNKNOWN_INFO_DENIED
*
* @param self::ACCESS_* $access
*/
public function setAccess($access)
{
$this->access = $access;
}
/**
* @return self::ACCESS_*
*/
public function getAccess()
{
return $this->access;
}
/**
* A condition expression that prevents this binding from granting access
* unless the expression evaluates to `true`. To learn about IAM Conditions,
* see https://cloud.google.com/iam/help/conditions/overview.
*
* @param GoogleTypeExpr $condition
*/
public function setCondition(GoogleTypeExpr $condition)
{
$this->condition = $condition;
}
/**
* @return GoogleTypeExpr
*/
public function getCondition()
{
return $this->condition;
}
/**
* Indicates whether each principal in the binding includes the principal
* specified in the request, either directly or indirectly. Each key
* identifies a principal in the binding, and each value indicates whether the
* principal in the binding includes the principal in the request. For
* example, suppose that a binding includes the following principals: *
* `user:alice@example.com` * `group:product-eng@example.com` You want to
* troubleshoot access for `user:bob@example.com`. This user is a principal of
* the group `group:product-eng@example.com`. For the first principal in the
* binding, the key is `user:alice@example.com`, and the `membership` field in
* the value is set to `MEMBERSHIP_NOT_INCLUDED`. For the second principal in
* the binding, the key is `group:product-eng@example.com`, and the
* `membership` field in the value is set to `MEMBERSHIP_INCLUDED`.
*
* @param GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership[] $memberships
*/
public function setMemberships($memberships)
{
$this->memberships = $memberships;
}
/**
* @return GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership[]
*/
public function getMemberships()
{
return $this->memberships;
}
/**
* The relevance of this binding to the overall determination for the entire
* policy.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED, NORMAL, HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
/**
* The role that this binding grants. For example,
* `roles/compute.serviceAgent`. For a complete list of predefined IAM roles,
* as well as the permissions in each role, see
* https://cloud.google.com/iam/help/roles/reference.
*
* @param string $role
*/
public function setRole($role)
{
$this->role = $role;
}
/**
* @return string
*/
public function getRole()
{
return $this->role;
}
/**
* Indicates whether the role granted by this binding contains the specified
* permission.
*
* Accepted values: ROLE_PERMISSION_UNSPECIFIED, ROLE_PERMISSION_INCLUDED,
* ROLE_PERMISSION_NOT_INCLUDED, ROLE_PERMISSION_UNKNOWN_INFO_DENIED
*
* @param self::ROLE_PERMISSION_* $rolePermission
*/
public function setRolePermission($rolePermission)
{
$this->rolePermission = $rolePermission;
}
/**
* @return self::ROLE_PERMISSION_*
*/
public function getRolePermission()
{
return $this->rolePermission;
}
/**
* The relevance of the permission's existence, or nonexistence, in the role
* to the overall determination for the entire policy.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED, NORMAL, HIGH
*
* @param self::ROLE_PERMISSION_RELEVANCE_* $rolePermissionRelevance
*/
public function setRolePermissionRelevance($rolePermissionRelevance)
{
$this->rolePermissionRelevance = $rolePermissionRelevance;
}
/**
* @return self::ROLE_PERMISSION_RELEVANCE_*
*/
public function getRolePermissionRelevance()
{
return $this->rolePermissionRelevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterV1BindingExplanation::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterV1BindingExplanation');
@@ -0,0 +1,117 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership extends \Google\Model
{
/**
* Default value. This value is unused.
*/
public const MEMBERSHIP_MEMBERSHIP_UNSPECIFIED = 'MEMBERSHIP_UNSPECIFIED';
/**
* The binding includes the principal. The principal can be included directly
* or indirectly. For example: * A principal is included directly if that
* principal is listed in the binding. * A principal is included indirectly if
* that principal is in a Google group or Google Workspace domain that is
* listed in the binding.
*/
public const MEMBERSHIP_MEMBERSHIP_INCLUDED = 'MEMBERSHIP_INCLUDED';
/**
* The binding does not include the principal.
*/
public const MEMBERSHIP_MEMBERSHIP_NOT_INCLUDED = 'MEMBERSHIP_NOT_INCLUDED';
/**
* The sender of the request is not allowed to access the binding.
*/
public const MEMBERSHIP_MEMBERSHIP_UNKNOWN_INFO_DENIED = 'MEMBERSHIP_UNKNOWN_INFO_DENIED';
/**
* The principal is an unsupported type. Only Google Accounts and service
* accounts are supported.
*/
public const MEMBERSHIP_MEMBERSHIP_UNKNOWN_UNSUPPORTED = 'MEMBERSHIP_UNKNOWN_UNSUPPORTED';
/**
* Default value. This value is unused.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_NORMAL = 'NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HIGH = 'HIGH';
/**
* Indicates whether the binding includes the principal.
*
* @var string
*/
public $membership;
/**
* The relevance of the principal's status to the overall determination for
* the binding.
*
* @var string
*/
public $relevance;
/**
* Indicates whether the binding includes the principal.
*
* Accepted values: MEMBERSHIP_UNSPECIFIED, MEMBERSHIP_INCLUDED,
* MEMBERSHIP_NOT_INCLUDED, MEMBERSHIP_UNKNOWN_INFO_DENIED,
* MEMBERSHIP_UNKNOWN_UNSUPPORTED
*
* @param self::MEMBERSHIP_* $membership
*/
public function setMembership($membership)
{
$this->membership = $membership;
}
/**
* @return self::MEMBERSHIP_*
*/
public function getMembership()
{
return $this->membership;
}
/**
* The relevance of the principal's status to the overall determination for
* the binding.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED, NORMAL, HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterV1BindingExplanationAnnotatedMembership');
@@ -0,0 +1,198 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterV1ExplainedPolicy extends \Google\Collection
{
/**
* Default value. This value is unused.
*/
public const ACCESS_ACCESS_STATE_UNSPECIFIED = 'ACCESS_STATE_UNSPECIFIED';
/**
* The principal has the permission.
*/
public const ACCESS_GRANTED = 'GRANTED';
/**
* The principal does not have the permission.
*/
public const ACCESS_NOT_GRANTED = 'NOT_GRANTED';
/**
* The principal has the permission only if a condition expression evaluates
* to `true`.
*/
public const ACCESS_UNKNOWN_CONDITIONAL = 'UNKNOWN_CONDITIONAL';
/**
* The sender of the request does not have access to all of the policies that
* Policy Troubleshooter needs to evaluate.
*/
public const ACCESS_UNKNOWN_INFO_DENIED = 'UNKNOWN_INFO_DENIED';
/**
* Default value. This value is unused.
*/
public const RELEVANCE_HEURISTIC_RELEVANCE_UNSPECIFIED = 'HEURISTIC_RELEVANCE_UNSPECIFIED';
/**
* The data point has a limited effect on the result. Changing the data point
* is unlikely to affect the overall determination.
*/
public const RELEVANCE_NORMAL = 'NORMAL';
/**
* The data point has a strong effect on the result. Changing the data point
* is likely to affect the overall determination.
*/
public const RELEVANCE_HIGH = 'HIGH';
protected $collection_key = 'bindingExplanations';
/**
* Indicates whether _this policy_ provides the specified permission to the
* specified principal for the specified resource. This field does _not_
* indicate whether the principal actually has the permission for the
* resource. There might be another policy that overrides this policy. To
* determine whether the principal actually has the permission, use the
* `access` field in the TroubleshootIamPolicyResponse.
*
* @var string
*/
public $access;
protected $bindingExplanationsType = GoogleCloudPolicytroubleshooterV1BindingExplanation::class;
protected $bindingExplanationsDataType = 'array';
/**
* The full resource name that identifies the resource. For example,
* `//compute.googleapis.com/projects/my-project/zones/us-
* central1-a/instances/my-instance`. If the sender of the request does not
* have access to the policy, this field is omitted. For examples of full
* resource names for Google Cloud services, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
*
* @var string
*/
public $fullResourceName;
protected $policyType = GoogleIamV1Policy::class;
protected $policyDataType = '';
/**
* The relevance of this policy to the overall determination in the
* TroubleshootIamPolicyResponse. If the sender of the request does not have
* access to the policy, this field is omitted.
*
* @var string
*/
public $relevance;
/**
* Indicates whether _this policy_ provides the specified permission to the
* specified principal for the specified resource. This field does _not_
* indicate whether the principal actually has the permission for the
* resource. There might be another policy that overrides this policy. To
* determine whether the principal actually has the permission, use the
* `access` field in the TroubleshootIamPolicyResponse.
*
* Accepted values: ACCESS_STATE_UNSPECIFIED, GRANTED, NOT_GRANTED,
* UNKNOWN_CONDITIONAL, UNKNOWN_INFO_DENIED
*
* @param self::ACCESS_* $access
*/
public function setAccess($access)
{
$this->access = $access;
}
/**
* @return self::ACCESS_*
*/
public function getAccess()
{
return $this->access;
}
/**
* Details about how each binding in the policy affects the principal's
* ability, or inability, to use the permission for the resource. If the
* sender of the request does not have access to the policy, this field is
* omitted.
*
* @param GoogleCloudPolicytroubleshooterV1BindingExplanation[] $bindingExplanations
*/
public function setBindingExplanations($bindingExplanations)
{
$this->bindingExplanations = $bindingExplanations;
}
/**
* @return GoogleCloudPolicytroubleshooterV1BindingExplanation[]
*/
public function getBindingExplanations()
{
return $this->bindingExplanations;
}
/**
* The full resource name that identifies the resource. For example,
* `//compute.googleapis.com/projects/my-project/zones/us-
* central1-a/instances/my-instance`. If the sender of the request does not
* have access to the policy, this field is omitted. For examples of full
* resource names for Google Cloud services, see
* https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
*
* @param string $fullResourceName
*/
public function setFullResourceName($fullResourceName)
{
$this->fullResourceName = $fullResourceName;
}
/**
* @return string
*/
public function getFullResourceName()
{
return $this->fullResourceName;
}
/**
* The IAM policy attached to the resource. If the sender of the request does
* not have access to the policy, this field is empty.
*
* @param GoogleIamV1Policy $policy
*/
public function setPolicy(GoogleIamV1Policy $policy)
{
$this->policy = $policy;
}
/**
* @return GoogleIamV1Policy
*/
public function getPolicy()
{
return $this->policy;
}
/**
* The relevance of this policy to the overall determination in the
* TroubleshootIamPolicyResponse. If the sender of the request does not have
* access to the policy, this field is omitted.
*
* Accepted values: HEURISTIC_RELEVANCE_UNSPECIFIED, NORMAL, HIGH
*
* @param self::RELEVANCE_* $relevance
*/
public function setRelevance($relevance)
{
$this->relevance = $relevance;
}
/**
* @return self::RELEVANCE_*
*/
public function getRelevance()
{
return $this->relevance;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterV1ExplainedPolicy::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterV1ExplainedPolicy');
@@ -0,0 +1,45 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyRequest extends \Google\Model
{
protected $accessTupleType = GoogleCloudPolicytroubleshooterV1AccessTuple::class;
protected $accessTupleDataType = '';
/**
* The information to use for checking whether a principal has a permission
* for a resource.
*
* @param GoogleCloudPolicytroubleshooterV1AccessTuple $accessTuple
*/
public function setAccessTuple(GoogleCloudPolicytroubleshooterV1AccessTuple $accessTuple)
{
$this->accessTuple = $accessTuple;
}
/**
* @return GoogleCloudPolicytroubleshooterV1AccessTuple
*/
public function getAccessTuple()
{
return $this->accessTuple;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyRequest::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyRequest');
@@ -0,0 +1,118 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyResponse extends \Google\Collection
{
/**
* Default value. This value is unused.
*/
public const ACCESS_ACCESS_STATE_UNSPECIFIED = 'ACCESS_STATE_UNSPECIFIED';
/**
* The principal has the permission.
*/
public const ACCESS_GRANTED = 'GRANTED';
/**
* The principal does not have the permission.
*/
public const ACCESS_NOT_GRANTED = 'NOT_GRANTED';
/**
* The principal has the permission only if a condition expression evaluates
* to `true`.
*/
public const ACCESS_UNKNOWN_CONDITIONAL = 'UNKNOWN_CONDITIONAL';
/**
* The sender of the request does not have access to all of the policies that
* Policy Troubleshooter needs to evaluate.
*/
public const ACCESS_UNKNOWN_INFO_DENIED = 'UNKNOWN_INFO_DENIED';
protected $collection_key = 'explainedPolicies';
/**
* Indicates whether the principal has the specified permission for the
* specified resource, based on evaluating all of the applicable IAM policies.
*
* @var string
*/
public $access;
protected $errorsType = GoogleRpcStatus::class;
protected $errorsDataType = 'array';
protected $explainedPoliciesType = GoogleCloudPolicytroubleshooterV1ExplainedPolicy::class;
protected $explainedPoliciesDataType = 'array';
/**
* Indicates whether the principal has the specified permission for the
* specified resource, based on evaluating all of the applicable IAM policies.
*
* Accepted values: ACCESS_STATE_UNSPECIFIED, GRANTED, NOT_GRANTED,
* UNKNOWN_CONDITIONAL, UNKNOWN_INFO_DENIED
*
* @param self::ACCESS_* $access
*/
public function setAccess($access)
{
$this->access = $access;
}
/**
* @return self::ACCESS_*
*/
public function getAccess()
{
return $this->access;
}
/**
* The general errors contained in the troubleshooting response.
*
* @param GoogleRpcStatus[] $errors
*/
public function setErrors($errors)
{
$this->errors = $errors;
}
/**
* @return GoogleRpcStatus[]
*/
public function getErrors()
{
return $this->errors;
}
/**
* List of IAM policies that were evaluated to check the principal's
* permissions, with annotations to indicate how each policy contributed to
* the final result. The list of policies can include the policy for the
* resource itself. It can also include policies that are inherited from
* higher levels of the resource hierarchy, including the organization, the
* folder, and the project. To learn more about the resource hierarchy, see
* https://cloud.google.com/iam/help/resource-hierarchy.
*
* @param GoogleCloudPolicytroubleshooterV1ExplainedPolicy[] $explainedPolicies
*/
public function setExplainedPolicies($explainedPolicies)
{
$this->explainedPolicies = $explainedPolicies;
}
/**
* @return GoogleCloudPolicytroubleshooterV1ExplainedPolicy[]
*/
public function getExplainedPolicies()
{
return $this->explainedPolicies;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyResponse::class, 'Google_Service_PolicyTroubleshooter_GoogleCloudPolicytroubleshooterV1TroubleshootIamPolicyResponse');
@@ -0,0 +1,71 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleIamV1AuditConfig extends \Google\Collection
{
protected $collection_key = 'auditLogConfigs';
protected $auditLogConfigsType = GoogleIamV1AuditLogConfig::class;
protected $auditLogConfigsDataType = 'array';
/**
* Specifies a service that will be enabled for audit logging. For example,
* `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a
* special value that covers all services.
*
* @var string
*/
public $service;
/**
* The configuration for logging of each type of permission.
*
* @param GoogleIamV1AuditLogConfig[] $auditLogConfigs
*/
public function setAuditLogConfigs($auditLogConfigs)
{
$this->auditLogConfigs = $auditLogConfigs;
}
/**
* @return GoogleIamV1AuditLogConfig[]
*/
public function getAuditLogConfigs()
{
return $this->auditLogConfigs;
}
/**
* Specifies a service that will be enabled for audit logging. For example,
* `storage.googleapis.com`, `cloudsql.googleapis.com`. `allServices` is a
* special value that covers all services.
*
* @param string $service
*/
public function setService($service)
{
$this->service = $service;
}
/**
* @return string
*/
public function getService()
{
return $this->service;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleIamV1AuditConfig::class, 'Google_Service_PolicyTroubleshooter_GoogleIamV1AuditConfig');
@@ -0,0 +1,91 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleIamV1AuditLogConfig extends \Google\Collection
{
/**
* Default case. Should never be this.
*/
public const LOG_TYPE_LOG_TYPE_UNSPECIFIED = 'LOG_TYPE_UNSPECIFIED';
/**
* Admin reads. Example: CloudIAM getIamPolicy
*/
public const LOG_TYPE_ADMIN_READ = 'ADMIN_READ';
/**
* Data writes. Example: CloudSQL Users create
*/
public const LOG_TYPE_DATA_WRITE = 'DATA_WRITE';
/**
* Data reads. Example: CloudSQL Users list
*/
public const LOG_TYPE_DATA_READ = 'DATA_READ';
protected $collection_key = 'exemptedMembers';
/**
* Specifies the identities that do not cause logging for this type of
* permission. Follows the same format of Binding.members.
*
* @var string[]
*/
public $exemptedMembers;
/**
* The log type that this config enables.
*
* @var string
*/
public $logType;
/**
* Specifies the identities that do not cause logging for this type of
* permission. Follows the same format of Binding.members.
*
* @param string[] $exemptedMembers
*/
public function setExemptedMembers($exemptedMembers)
{
$this->exemptedMembers = $exemptedMembers;
}
/**
* @return string[]
*/
public function getExemptedMembers()
{
return $this->exemptedMembers;
}
/**
* The log type that this config enables.
*
* Accepted values: LOG_TYPE_UNSPECIFIED, ADMIN_READ, DATA_WRITE, DATA_READ
*
* @param self::LOG_TYPE_* $logType
*/
public function setLogType($logType)
{
$this->logType = $logType;
}
/**
* @return self::LOG_TYPE_*
*/
public function getLogType()
{
return $this->logType;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleIamV1AuditLogConfig::class, 'Google_Service_PolicyTroubleshooter_GoogleIamV1AuditLogConfig');
@@ -0,0 +1,216 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleIamV1Binding extends \Google\Collection
{
protected $collection_key = 'members';
protected $conditionType = GoogleTypeExpr::class;
protected $conditionDataType = '';
/**
* Specifies the principals requesting access for a Google Cloud resource.
* `members` can have the following values: * `allUsers`: A special identifier
* that represents anyone who is on the internet; with or without a Google
* account. * `allAuthenticatedUsers`: A special identifier that represents
* anyone who is authenticated with a Google account or a service account.
* Does not include identities that come from external identity providers
* (IdPs) through identity federation. * `user:{emailid}`: An email address
* that represents a specific Google account. For example, `alice@example.com`
* . * `serviceAccount:{emailid}`: An email address that represents a Google
* service account. For example, `my-other-app@appspot.gserviceaccount.com`. *
* `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
* identifier for a [Kubernetes service
* account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-
* service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-
* kubernetes-sa]`. * `group:{emailid}`: An email address that represents a
* Google group. For example, `admins@example.com`. * `domain:{domain}`: The G
* Suite domain (primary) that represents all the users of that domain. For
* example, `google.com` or `example.com`. * `principal://iam.googleapis.com/l
* ocations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`
* : A single identity in a workforce identity pool. * `principalSet://iam.goo
* gleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
* All workforce identities in a group. * `principalSet://iam.googleapis.com/l
* ocations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attrib
* ute_value}`: All workforce identities with a specific attribute value. * `p
* rincipalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}`
* : All identities in a workforce identity pool. * `principal://iam.googleapi
* s.com/projects/{project_number}/locations/global/workloadIdentityPools/{poo
* l_id}/subject/{subject_attribute_value}`: A single identity in a workload
* identity pool. * `principalSet://iam.googleapis.com/projects/{project_numbe
* r}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A
* workload identity pool group. * `principalSet://iam.googleapis.com/projects
* /{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribut
* e.{attribute_name}/{attribute_value}`: All identities in a workload
* identity pool with a certain attribute. * `principalSet://iam.googleapis.co
* m/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id
* }`: All identities in a workload identity pool. *
* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
* identifier) representing a user that has been recently deleted. For
* example, `alice@example.com?uid=123456789012345678901`. If the user is
* recovered, this value reverts to `user:{emailid}` and the recovered user
* retains the role in the binding. *
* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
* unique identifier) representing a service account that has been recently
* deleted. For example, `my-other-
* app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service
* account is undeleted, this value reverts to `serviceAccount:{emailid}` and
* the undeleted service account retains the role in the binding. *
* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
* identifier) representing a Google group that has been recently deleted. For
* example, `admins@example.com?uid=123456789012345678901`. If the group is
* recovered, this value reverts to `group:{emailid}` and the recovered group
* retains the role in the binding. * `deleted:principal://iam.googleapis.com/
* locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}
* `: Deleted single identity in a workforce identity pool. For example,
* `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-
* pool-id/subject/my-subject-attribute-value`.
*
* @var string[]
*/
public $members;
/**
* Role that is assigned to the list of `members`, or principals. For example,
* `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the
* IAM roles and permissions, see the [IAM
* documentation](https://cloud.google.com/iam/docs/roles-overview). For a
* list of the available pre-defined roles, see
* [here](https://cloud.google.com/iam/docs/understanding-roles).
*
* @var string
*/
public $role;
/**
* The condition that is associated with this binding. If the condition
* evaluates to `true`, then this binding applies to the current request. If
* the condition evaluates to `false`, then this binding does not apply to the
* current request. However, a different role binding might grant the same
* role to one or more of the principals in this binding. To learn which
* resources support conditions in their IAM policies, see the [IAM
* documentation](https://cloud.google.com/iam/help/conditions/resource-
* policies).
*
* @param GoogleTypeExpr $condition
*/
public function setCondition(GoogleTypeExpr $condition)
{
$this->condition = $condition;
}
/**
* @return GoogleTypeExpr
*/
public function getCondition()
{
return $this->condition;
}
/**
* Specifies the principals requesting access for a Google Cloud resource.
* `members` can have the following values: * `allUsers`: A special identifier
* that represents anyone who is on the internet; with or without a Google
* account. * `allAuthenticatedUsers`: A special identifier that represents
* anyone who is authenticated with a Google account or a service account.
* Does not include identities that come from external identity providers
* (IdPs) through identity federation. * `user:{emailid}`: An email address
* that represents a specific Google account. For example, `alice@example.com`
* . * `serviceAccount:{emailid}`: An email address that represents a Google
* service account. For example, `my-other-app@appspot.gserviceaccount.com`. *
* `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An
* identifier for a [Kubernetes service
* account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-
* service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-
* kubernetes-sa]`. * `group:{emailid}`: An email address that represents a
* Google group. For example, `admins@example.com`. * `domain:{domain}`: The G
* Suite domain (primary) that represents all the users of that domain. For
* example, `google.com` or `example.com`. * `principal://iam.googleapis.com/l
* ocations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`
* : A single identity in a workforce identity pool. * `principalSet://iam.goo
* gleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`:
* All workforce identities in a group. * `principalSet://iam.googleapis.com/l
* ocations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attrib
* ute_value}`: All workforce identities with a specific attribute value. * `p
* rincipalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}`
* : All identities in a workforce identity pool. * `principal://iam.googleapi
* s.com/projects/{project_number}/locations/global/workloadIdentityPools/{poo
* l_id}/subject/{subject_attribute_value}`: A single identity in a workload
* identity pool. * `principalSet://iam.googleapis.com/projects/{project_numbe
* r}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A
* workload identity pool group. * `principalSet://iam.googleapis.com/projects
* /{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribut
* e.{attribute_name}/{attribute_value}`: All identities in a workload
* identity pool with a certain attribute. * `principalSet://iam.googleapis.co
* m/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id
* }`: All identities in a workload identity pool. *
* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
* identifier) representing a user that has been recently deleted. For
* example, `alice@example.com?uid=123456789012345678901`. If the user is
* recovered, this value reverts to `user:{emailid}` and the recovered user
* retains the role in the binding. *
* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
* unique identifier) representing a service account that has been recently
* deleted. For example, `my-other-
* app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service
* account is undeleted, this value reverts to `serviceAccount:{emailid}` and
* the undeleted service account retains the role in the binding. *
* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
* identifier) representing a Google group that has been recently deleted. For
* example, `admins@example.com?uid=123456789012345678901`. If the group is
* recovered, this value reverts to `group:{emailid}` and the recovered group
* retains the role in the binding. * `deleted:principal://iam.googleapis.com/
* locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}
* `: Deleted single identity in a workforce identity pool. For example,
* `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-
* pool-id/subject/my-subject-attribute-value`.
*
* @param string[] $members
*/
public function setMembers($members)
{
$this->members = $members;
}
/**
* @return string[]
*/
public function getMembers()
{
return $this->members;
}
/**
* Role that is assigned to the list of `members`, or principals. For example,
* `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the
* IAM roles and permissions, see the [IAM
* documentation](https://cloud.google.com/iam/docs/roles-overview). For a
* list of the available pre-defined roles, see
* [here](https://cloud.google.com/iam/docs/understanding-roles).
*
* @param string $role
*/
public function setRole($role)
{
$this->role = $role;
}
/**
* @return string
*/
public function getRole()
{
return $this->role;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleIamV1Binding::class, 'Google_Service_PolicyTroubleshooter_GoogleIamV1Binding');
@@ -0,0 +1,165 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleIamV1Policy extends \Google\Collection
{
protected $collection_key = 'bindings';
protected $auditConfigsType = GoogleIamV1AuditConfig::class;
protected $auditConfigsDataType = 'array';
protected $bindingsType = GoogleIamV1Binding::class;
protected $bindingsDataType = 'array';
/**
* `etag` is used for optimistic concurrency control as a way to help prevent
* simultaneous updates of a policy from overwriting each other. It is
* strongly suggested that systems make use of the `etag` in the read-modify-
* write cycle to perform policy updates in order to avoid race conditions: An
* `etag` is returned in the response to `getIamPolicy`, and systems are
* expected to put that etag in the request to `setIamPolicy` to ensure that
* their change will be applied to the same version of the policy.
* **Important:** If you use IAM Conditions, you must include the `etag` field
* whenever you call `setIamPolicy`. If you omit this field, then IAM allows
* you to overwrite a version `3` policy with a version `1` policy, and all of
* the conditions in the version `3` policy are lost.
*
* @var string
*/
public $etag;
/**
* Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
* Requests that specify an invalid value are rejected. Any operation that
* affects conditional role bindings must specify version `3`. This
* requirement applies to the following operations: * Getting a policy that
* includes a conditional role binding * Adding a conditional role binding to
* a policy * Changing a conditional role binding in a policy * Removing any
* role binding, with or without a condition, from a policy that includes
* conditions **Important:** If you use IAM Conditions, you must include the
* `etag` field whenever you call `setIamPolicy`. If you omit this field, then
* IAM allows you to overwrite a version `3` policy with a version `1` policy,
* and all of the conditions in the version `3` policy are lost. If a policy
* does not include any conditions, operations on that policy may specify any
* valid version or leave the field unset. To learn which resources support
* conditions in their IAM policies, see the [IAM
* documentation](https://cloud.google.com/iam/help/conditions/resource-
* policies).
*
* @var int
*/
public $version;
/**
* Specifies cloud audit logging configuration for this policy.
*
* @param GoogleIamV1AuditConfig[] $auditConfigs
*/
public function setAuditConfigs($auditConfigs)
{
$this->auditConfigs = $auditConfigs;
}
/**
* @return GoogleIamV1AuditConfig[]
*/
public function getAuditConfigs()
{
return $this->auditConfigs;
}
/**
* Associates a list of `members`, or principals, with a `role`. Optionally,
* may specify a `condition` that determines how and when the `bindings` are
* applied. Each of the `bindings` must contain at least one principal. The
* `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of
* these principals can be Google groups. Each occurrence of a principal
* counts towards these limits. For example, if the `bindings` grant 50
* different roles to `user:alice@example.com`, and not to any other
* principal, then you can add another 1,450 principals to the `bindings` in
* the `Policy`.
*
* @param GoogleIamV1Binding[] $bindings
*/
public function setBindings($bindings)
{
$this->bindings = $bindings;
}
/**
* @return GoogleIamV1Binding[]
*/
public function getBindings()
{
return $this->bindings;
}
/**
* `etag` is used for optimistic concurrency control as a way to help prevent
* simultaneous updates of a policy from overwriting each other. It is
* strongly suggested that systems make use of the `etag` in the read-modify-
* write cycle to perform policy updates in order to avoid race conditions: An
* `etag` is returned in the response to `getIamPolicy`, and systems are
* expected to put that etag in the request to `setIamPolicy` to ensure that
* their change will be applied to the same version of the policy.
* **Important:** If you use IAM Conditions, you must include the `etag` field
* whenever you call `setIamPolicy`. If you omit this field, then IAM allows
* you to overwrite a version `3` policy with a version `1` policy, and all of
* the conditions in the version `3` policy are lost.
*
* @param string $etag
*/
public function setEtag($etag)
{
$this->etag = $etag;
}
/**
* @return string
*/
public function getEtag()
{
return $this->etag;
}
/**
* Specifies the format of the policy. Valid values are `0`, `1`, and `3`.
* Requests that specify an invalid value are rejected. Any operation that
* affects conditional role bindings must specify version `3`. This
* requirement applies to the following operations: * Getting a policy that
* includes a conditional role binding * Adding a conditional role binding to
* a policy * Changing a conditional role binding in a policy * Removing any
* role binding, with or without a condition, from a policy that includes
* conditions **Important:** If you use IAM Conditions, you must include the
* `etag` field whenever you call `setIamPolicy`. If you omit this field, then
* IAM allows you to overwrite a version `3` policy with a version `1` policy,
* and all of the conditions in the version `3` policy are lost. If a policy
* does not include any conditions, operations on that policy may specify any
* valid version or leave the field unset. To learn which resources support
* conditions in their IAM policies, see the [IAM
* documentation](https://cloud.google.com/iam/help/conditions/resource-
* policies).
*
* @param int $version
*/
public function setVersion($version)
{
$this->version = $version;
}
/**
* @return int
*/
public function getVersion()
{
return $this->version;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleIamV1Policy::class, 'Google_Service_PolicyTroubleshooter_GoogleIamV1Policy');
@@ -0,0 +1,286 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleIamV2DenyRule extends \Google\Collection
{
protected $collection_key = 'exceptionPrincipals';
protected $denialConditionType = GoogleTypeExpr::class;
protected $denialConditionDataType = '';
/**
* The permissions that are explicitly denied by this rule. Each permission
* uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}`
* is the fully qualified domain name for the service. For example,
* `iam.googleapis.com/roles.list`.
*
* @var string[]
*/
public $deniedPermissions;
/**
* The identities that are prevented from using one or more permissions on
* Google Cloud resources. This field can contain the following values: *
* `principal://goog/subject/{email_id}`: A specific Google Account. Includes
* Gmail, Cloud Identity, and Google Workspace user accounts. For example,
* `principal://goog/subject/alice@example.com`. * `principal://iam.googleapis
* .com/projects/-/serviceAccounts/{service_account_id}`: A Google Cloud
* service account. For example,
* `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-
* account@iam.gserviceaccount.com`. * `principalSet://goog/group/{group_id}`:
* A Google group. For example,
* `principalSet://goog/group/admins@example.com`. *
* `principalSet://goog/public:all`: A special identifier that represents any
* principal that is on the internet, even if they do not have a Google
* Account or are not logged in. *
* `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
* principals associated with the specified Google Workspace or Cloud Identity
* customer ID. For example,
* `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. * `principal://iam.
* googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_a
* ttribute_value}`: A single identity in a workforce identity pool. * `princi
* palSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group
* /{group_id}`: All workforce identities in a group. * `principalSet://iam.go
* ogleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute
* _name}/{attribute_value}`: All workforce identities with a specific
* attribute value. * `principalSet://iam.googleapis.com/locations/global/work
* forcePools/{pool_id}`: All identities in a workforce identity pool. * `prin
* cipal://iam.googleapis.com/projects/{project_number}/locations/global/workl
* oadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
* identity in a workload identity pool. * `principalSet://iam.googleapis.com/
* projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/
* group/{group_id}`: A workload identity pool group. * `principalSet://iam.go
* ogleapis.com/projects/{project_number}/locations/global/workloadIdentityPoo
* ls/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities
* in a workload identity pool with a certain attribute. * `principalSet://iam
* .googleapis.com/projects/{project_number}/locations/global/workloadIdentity
* Pools/{pool_id}`: All identities in a workload identity pool. * `principalS
* et://cloudresourcemanager.googleapis.com/[projects|folders|organizations]/{
* project_number|folder_number|org_number}/type/ServiceAccount`: All service
* accounts grouped under a resource (project, folder, or organization). * `pr
* incipalSet://cloudresourcemanager.googleapis.com/[projects|folders|organiza
* tions]/{project_number|folder_number|org_number}/type/ServiceAgent`: All
* service agents grouped under a resource (project, folder, or organization).
* * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
* Google Account that was deleted recently. For example,
* `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If the
* Google Account is recovered, this identifier reverts to the standard
* identifier for a Google Account. *
* `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
* that was deleted recently. For example,
* `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If
* the Google group is restored, this identifier reverts to the standard
* identifier for a Google group. * `deleted:principal://iam.googleapis.com/pr
* ojects/-/serviceAccounts/{service_account_id}?uid={uid}`: A Google Cloud
* service account that was deleted recently. For example,
* `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-
* service-account@iam.gserviceaccount.com?uid=1234567890`. If the service
* account is undeleted, this identifier reverts to the standard identifier
* for a service account. * `deleted:principal://iam.googleapis.com/locations/
* global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted
* single identity in a workforce identity pool. For example,
* `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-
* pool-id/subject/my-subject-attribute-value`.
*
* @var string[]
*/
public $deniedPrincipals;
/**
* Specifies the permissions that this rule excludes from the set of denied
* permissions given by `denied_permissions`. If a permission appears in
* `denied_permissions` _and_ in `exception_permissions` then it will _not_ be
* denied. The excluded permissions can be specified using the same syntax as
* `denied_permissions`.
*
* @var string[]
*/
public $exceptionPermissions;
/**
* The identities that are excluded from the deny rule, even if they are
* listed in the `denied_principals`. For example, you could add a Google
* group to the `denied_principals`, then exclude specific users who belong to
* that group. This field can contain the same values as the
* `denied_principals` field, excluding `principalSet://goog/public:all`,
* which represents all users on the internet.
*
* @var string[]
*/
public $exceptionPrincipals;
/**
* The condition that determines whether this deny rule applies to a request.
* If the condition expression evaluates to `true`, then the deny rule is
* applied; otherwise, the deny rule is not applied. Each deny rule is
* evaluated independently. If this deny rule does not apply to a request,
* other deny rules might still apply. The condition can use CEL functions
* that evaluate [resource
* tags](https://cloud.google.com/iam/help/conditions/resource-tags). Other
* functions and operators are not supported.
*
* @param GoogleTypeExpr $denialCondition
*/
public function setDenialCondition(GoogleTypeExpr $denialCondition)
{
$this->denialCondition = $denialCondition;
}
/**
* @return GoogleTypeExpr
*/
public function getDenialCondition()
{
return $this->denialCondition;
}
/**
* The permissions that are explicitly denied by this rule. Each permission
* uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}`
* is the fully qualified domain name for the service. For example,
* `iam.googleapis.com/roles.list`.
*
* @param string[] $deniedPermissions
*/
public function setDeniedPermissions($deniedPermissions)
{
$this->deniedPermissions = $deniedPermissions;
}
/**
* @return string[]
*/
public function getDeniedPermissions()
{
return $this->deniedPermissions;
}
/**
* The identities that are prevented from using one or more permissions on
* Google Cloud resources. This field can contain the following values: *
* `principal://goog/subject/{email_id}`: A specific Google Account. Includes
* Gmail, Cloud Identity, and Google Workspace user accounts. For example,
* `principal://goog/subject/alice@example.com`. * `principal://iam.googleapis
* .com/projects/-/serviceAccounts/{service_account_id}`: A Google Cloud
* service account. For example,
* `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-
* account@iam.gserviceaccount.com`. * `principalSet://goog/group/{group_id}`:
* A Google group. For example,
* `principalSet://goog/group/admins@example.com`. *
* `principalSet://goog/public:all`: A special identifier that represents any
* principal that is on the internet, even if they do not have a Google
* Account or are not logged in. *
* `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the
* principals associated with the specified Google Workspace or Cloud Identity
* customer ID. For example,
* `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. * `principal://iam.
* googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_a
* ttribute_value}`: A single identity in a workforce identity pool. * `princi
* palSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group
* /{group_id}`: All workforce identities in a group. * `principalSet://iam.go
* ogleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute
* _name}/{attribute_value}`: All workforce identities with a specific
* attribute value. * `principalSet://iam.googleapis.com/locations/global/work
* forcePools/{pool_id}`: All identities in a workforce identity pool. * `prin
* cipal://iam.googleapis.com/projects/{project_number}/locations/global/workl
* oadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single
* identity in a workload identity pool. * `principalSet://iam.googleapis.com/
* projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/
* group/{group_id}`: A workload identity pool group. * `principalSet://iam.go
* ogleapis.com/projects/{project_number}/locations/global/workloadIdentityPoo
* ls/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities
* in a workload identity pool with a certain attribute. * `principalSet://iam
* .googleapis.com/projects/{project_number}/locations/global/workloadIdentity
* Pools/{pool_id}`: All identities in a workload identity pool. * `principalS
* et://cloudresourcemanager.googleapis.com/[projects|folders|organizations]/{
* project_number|folder_number|org_number}/type/ServiceAccount`: All service
* accounts grouped under a resource (project, folder, or organization). * `pr
* incipalSet://cloudresourcemanager.googleapis.com/[projects|folders|organiza
* tions]/{project_number|folder_number|org_number}/type/ServiceAgent`: All
* service agents grouped under a resource (project, folder, or organization).
* * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific
* Google Account that was deleted recently. For example,
* `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If the
* Google Account is recovered, this identifier reverts to the standard
* identifier for a Google Account. *
* `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group
* that was deleted recently. For example,
* `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If
* the Google group is restored, this identifier reverts to the standard
* identifier for a Google group. * `deleted:principal://iam.googleapis.com/pr
* ojects/-/serviceAccounts/{service_account_id}?uid={uid}`: A Google Cloud
* service account that was deleted recently. For example,
* `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-
* service-account@iam.gserviceaccount.com?uid=1234567890`. If the service
* account is undeleted, this identifier reverts to the standard identifier
* for a service account. * `deleted:principal://iam.googleapis.com/locations/
* global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted
* single identity in a workforce identity pool. For example,
* `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-
* pool-id/subject/my-subject-attribute-value`.
*
* @param string[] $deniedPrincipals
*/
public function setDeniedPrincipals($deniedPrincipals)
{
$this->deniedPrincipals = $deniedPrincipals;
}
/**
* @return string[]
*/
public function getDeniedPrincipals()
{
return $this->deniedPrincipals;
}
/**
* Specifies the permissions that this rule excludes from the set of denied
* permissions given by `denied_permissions`. If a permission appears in
* `denied_permissions` _and_ in `exception_permissions` then it will _not_ be
* denied. The excluded permissions can be specified using the same syntax as
* `denied_permissions`.
*
* @param string[] $exceptionPermissions
*/
public function setExceptionPermissions($exceptionPermissions)
{
$this->exceptionPermissions = $exceptionPermissions;
}
/**
* @return string[]
*/
public function getExceptionPermissions()
{
return $this->exceptionPermissions;
}
/**
* The identities that are excluded from the deny rule, even if they are
* listed in the `denied_principals`. For example, you could add a Google
* group to the `denied_principals`, then exclude specific users who belong to
* that group. This field can contain the same values as the
* `denied_principals` field, excluding `principalSet://goog/public:all`,
* which represents all users on the internet.
*
* @param string[] $exceptionPrincipals
*/
public function setExceptionPrincipals($exceptionPrincipals)
{
$this->exceptionPrincipals = $exceptionPrincipals;
}
/**
* @return string[]
*/
public function getExceptionPrincipals()
{
return $this->exceptionPrincipals;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleIamV2DenyRule::class, 'Google_Service_PolicyTroubleshooter_GoogleIamV2DenyRule');
@@ -0,0 +1,276 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleIamV2Policy extends \Google\Collection
{
protected $collection_key = 'rules';
/**
* A key-value map to store arbitrary metadata for the `Policy`. Keys can be
* up to 63 characters. Values can be up to 255 characters.
*
* @var string[]
*/
public $annotations;
/**
* Output only. The time when the `Policy` was created.
*
* @var string
*/
public $createTime;
/**
* Output only. The time when the `Policy` was deleted. Empty if the policy is
* not deleted.
*
* @var string
*/
public $deleteTime;
/**
* A user-specified description of the `Policy`. This value can be up to 63
* characters.
*
* @var string
*/
public $displayName;
/**
* An opaque tag that identifies the current version of the `Policy`. IAM uses
* this value to help manage concurrent updates, so they do not cause one
* update to be overwritten by another. If this field is present in a
* CreatePolicyRequest, the value is ignored.
*
* @var string
*/
public $etag;
/**
* Output only. The kind of the `Policy`. Always contains the value
* `DenyPolicy`.
*
* @var string
*/
public $kind;
/**
* Immutable. The resource name of the `Policy`, which must be unique. Format:
* `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point
* is identified by its URL-encoded full resource name, which means that the
* forward-slash character, `/`, must be written as `%2F`. For example,
* `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-
* project/denypolicies/my-deny-policy`. For organizations and folders, use
* the numeric ID in the full resource name. For projects, requests can use
* the alphanumeric or the numeric ID. Responses always contain the numeric
* ID.
*
* @var string
*/
public $name;
protected $rulesType = GoogleIamV2PolicyRule::class;
protected $rulesDataType = 'array';
/**
* Immutable. The globally unique ID of the `Policy`. Assigned automatically
* when the `Policy` is created.
*
* @var string
*/
public $uid;
/**
* Output only. The time when the `Policy` was last updated.
*
* @var string
*/
public $updateTime;
/**
* A key-value map to store arbitrary metadata for the `Policy`. Keys can be
* up to 63 characters. Values can be up to 255 characters.
*
* @param string[] $annotations
*/
public function setAnnotations($annotations)
{
$this->annotations = $annotations;
}
/**
* @return string[]
*/
public function getAnnotations()
{
return $this->annotations;
}
/**
* Output only. The time when the `Policy` was created.
*
* @param string $createTime
*/
public function setCreateTime($createTime)
{
$this->createTime = $createTime;
}
/**
* @return string
*/
public function getCreateTime()
{
return $this->createTime;
}
/**
* Output only. The time when the `Policy` was deleted. Empty if the policy is
* not deleted.
*
* @param string $deleteTime
*/
public function setDeleteTime($deleteTime)
{
$this->deleteTime = $deleteTime;
}
/**
* @return string
*/
public function getDeleteTime()
{
return $this->deleteTime;
}
/**
* A user-specified description of the `Policy`. This value can be up to 63
* characters.
*
* @param string $displayName
*/
public function setDisplayName($displayName)
{
$this->displayName = $displayName;
}
/**
* @return string
*/
public function getDisplayName()
{
return $this->displayName;
}
/**
* An opaque tag that identifies the current version of the `Policy`. IAM uses
* this value to help manage concurrent updates, so they do not cause one
* update to be overwritten by another. If this field is present in a
* CreatePolicyRequest, the value is ignored.
*
* @param string $etag
*/
public function setEtag($etag)
{
$this->etag = $etag;
}
/**
* @return string
*/
public function getEtag()
{
return $this->etag;
}
/**
* Output only. The kind of the `Policy`. Always contains the value
* `DenyPolicy`.
*
* @param string $kind
*/
public function setKind($kind)
{
$this->kind = $kind;
}
/**
* @return string
*/
public function getKind()
{
return $this->kind;
}
/**
* Immutable. The resource name of the `Policy`, which must be unique. Format:
* `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point
* is identified by its URL-encoded full resource name, which means that the
* forward-slash character, `/`, must be written as `%2F`. For example,
* `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-
* project/denypolicies/my-deny-policy`. For organizations and folders, use
* the numeric ID in the full resource name. For projects, requests can use
* the alphanumeric or the numeric ID. Responses always contain the numeric
* ID.
*
* @param string $name
*/
public function setName($name)
{
$this->name = $name;
}
/**
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* A list of rules that specify the behavior of the `Policy`. All of the rules
* should be of the `kind` specified in the `Policy`.
*
* @param GoogleIamV2PolicyRule[] $rules
*/
public function setRules($rules)
{
$this->rules = $rules;
}
/**
* @return GoogleIamV2PolicyRule[]
*/
public function getRules()
{
return $this->rules;
}
/**
* Immutable. The globally unique ID of the `Policy`. Assigned automatically
* when the `Policy` is created.
*
* @param string $uid
*/
public function setUid($uid)
{
$this->uid = $uid;
}
/**
* @return string
*/
public function getUid()
{
return $this->uid;
}
/**
* Output only. The time when the `Policy` was last updated.
*
* @param string $updateTime
*/
public function setUpdateTime($updateTime)
{
$this->updateTime = $updateTime;
}
/**
* @return string
*/
public function getUpdateTime()
{
return $this->updateTime;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleIamV2Policy::class, 'Google_Service_PolicyTroubleshooter_GoogleIamV2Policy');
@@ -0,0 +1,68 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleIamV2PolicyRule extends \Google\Model
{
protected $denyRuleType = GoogleIamV2DenyRule::class;
protected $denyRuleDataType = '';
/**
* A user-specified description of the rule. This value can be up to 256
* characters.
*
* @var string
*/
public $description;
/**
* A rule for a deny policy.
*
* @param GoogleIamV2DenyRule $denyRule
*/
public function setDenyRule(GoogleIamV2DenyRule $denyRule)
{
$this->denyRule = $denyRule;
}
/**
* @return GoogleIamV2DenyRule
*/
public function getDenyRule()
{
return $this->denyRule;
}
/**
* A user-specified description of the rule. This value can be up to 256
* characters.
*
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleIamV2PolicyRule::class, 'Google_Service_PolicyTroubleshooter_GoogleIamV2PolicyRule');
@@ -0,0 +1,99 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleRpcStatus extends \Google\Collection
{
protected $collection_key = 'details';
/**
* The status code, which should be an enum value of google.rpc.Code.
*
* @var int
*/
public $code;
/**
* A list of messages that carry the error details. There is a common set of
* message types for APIs to use.
*
* @var array[]
*/
public $details;
/**
* A developer-facing error message, which should be in English. Any user-
* facing error message should be localized and sent in the
* google.rpc.Status.details field, or localized by the client.
*
* @var string
*/
public $message;
/**
* The status code, which should be an enum value of google.rpc.Code.
*
* @param int $code
*/
public function setCode($code)
{
$this->code = $code;
}
/**
* @return int
*/
public function getCode()
{
return $this->code;
}
/**
* A list of messages that carry the error details. There is a common set of
* message types for APIs to use.
*
* @param array[] $details
*/
public function setDetails($details)
{
$this->details = $details;
}
/**
* @return array[]
*/
public function getDetails()
{
return $this->details;
}
/**
* A developer-facing error message, which should be in English. Any user-
* facing error message should be localized and sent in the
* google.rpc.Status.details field, or localized by the client.
*
* @param string $message
*/
public function setMessage($message)
{
$this->message = $message;
}
/**
* @return string
*/
public function getMessage()
{
return $this->message;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleRpcStatus::class, 'Google_Service_PolicyTroubleshooter_GoogleRpcStatus');
@@ -0,0 +1,122 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter;
class GoogleTypeExpr extends \Google\Model
{
/**
* Optional. Description of the expression. This is a longer text which
* describes the expression, e.g. when hovered over it in a UI.
*
* @var string
*/
public $description;
/**
* Textual representation of an expression in Common Expression Language
* syntax.
*
* @var string
*/
public $expression;
/**
* Optional. String indicating the location of the expression for error
* reporting, e.g. a file name and a position in the file.
*
* @var string
*/
public $location;
/**
* Optional. Title for the expression, i.e. a short string describing its
* purpose. This can be used e.g. in UIs which allow to enter the expression.
*
* @var string
*/
public $title;
/**
* Optional. Description of the expression. This is a longer text which
* describes the expression, e.g. when hovered over it in a UI.
*
* @param string $description
*/
public function setDescription($description)
{
$this->description = $description;
}
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* Textual representation of an expression in Common Expression Language
* syntax.
*
* @param string $expression
*/
public function setExpression($expression)
{
$this->expression = $expression;
}
/**
* @return string
*/
public function getExpression()
{
return $this->expression;
}
/**
* Optional. String indicating the location of the expression for error
* reporting, e.g. a file name and a position in the file.
*
* @param string $location
*/
public function setLocation($location)
{
$this->location = $location;
}
/**
* @return string
*/
public function getLocation()
{
return $this->location;
}
/**
* Optional. Title for the expression, i.e. a short string describing its
* purpose. This can be used e.g. in UIs which allow to enter the expression.
*
* @param string $title
*/
public function setTitle($title)
{
$this->title = $title;
}
/**
* @return string
*/
public function getTitle()
{
return $this->title;
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(GoogleTypeExpr::class, 'Google_Service_PolicyTroubleshooter_GoogleTypeExpr');
@@ -0,0 +1,52 @@
<?php
/*
* Copyright 2014 Google Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
namespace Google\Service\PolicyTroubleshooter\Resource;
use Google\Service\PolicyTroubleshooter\GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyRequest;
use Google\Service\PolicyTroubleshooter\GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyResponse;
/**
* The "iam" collection of methods.
* Typical usage is:
* <code>
* $policytroubleshooterService = new Google\Service\PolicyTroubleshooter(...);
* $iam = $policytroubleshooterService->iam;
* </code>
*/
class Iam extends \Google\Service\Resource
{
/**
* Checks whether a principal has a specific permission for a specific resource,
* and explains why the principal does or doesn't have that permission.
* (iam.troubleshoot)
*
* @param GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyRequest $postBody
* @param array $optParams Optional parameters.
* @return GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyResponse
* @throws \Google\Service\Exception
*/
public function troubleshoot(GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyRequest $postBody, $optParams = [])
{
$params = ['postBody' => $postBody];
$params = array_merge($params, $optParams);
return $this->call('troubleshoot', [$params], GoogleCloudPolicytroubleshooterIamV3TroubleshootIamPolicyResponse::class);
}
}
// Adding a class alias for backwards compatibility with the previous class name.
class_alias(Iam::class, 'Google_Service_PolicyTroubleshooter_Resource_Iam');