📂 File Browser

AgentAI/vendor/google/apiclient-services/src/ServiceManagement
🌙 Dark Mode
🎯 Quick Launch:

📁 Directories

📁 Resource/ 🔓 Open

📄 Files

🐘 Advice.php
▶ Open 📄 View Source
🐘 Api.php
▶ Open 📄 View Source
🐘 Aspect.php
▶ Open 📄 View Source
🐘 AspectRule.php
▶ Open 📄 View Source
🐘 AuditConfig.php
▶ Open 📄 View Source
🐘 AuditLogConfig.php
▶ Open 📄 View Source
🐘 AuthProvider.php
▶ Open 📄 View Source
🐘 AuthRequirement.php
▶ Open 📄 View Source
🐘 Authentication.php
▶ Open 📄 View Source
🐘 AuthenticationRule.php
▶ Open 📄 View Source
🐘 Backend.php
▶ Open 📄 View Source
🐘 BackendRule.php
▶ Open 📄 View Source
🐘 BatchingConfigProto.php
▶ Open 📄 View Source
🐘 BatchingDescriptorProto.php
▶ Open 📄 View Source
🐘 BatchingSettingsProto.php
▶ Open 📄 View Source
🐘 Billing.php
▶ Open 📄 View Source
🐘 BillingDestination.php
▶ Open 📄 View Source
🐘 Binding.php
▶ Open 📄 View Source
🐘 ChangeReport.php
▶ Open 📄 View Source
🐘 ClientLibrarySettings.php
▶ Open 📄 View Source
🐘 CommonLanguageSettings.php
▶ Open 📄 View Source
🐘 ConfigChange.php
▶ Open 📄 View Source
🐘 ConfigFile.php
▶ Open 📄 View Source
🐘 ConfigRef.php
▶ Open 📄 View Source
🐘 ConfigSource.php
▶ Open 📄 View Source
🐘 Context.php
▶ Open 📄 View Source
🐘 ContextRule.php
▶ Open 📄 View Source
🐘 Control.php
▶ Open 📄 View Source
🐘 CppSettings.php
▶ Open 📄 View Source
🐘 CustomError.php
▶ Open 📄 View Source
🐘 CustomErrorRule.php
▶ Open 📄 View Source
🐘 CustomHttpPattern.php
▶ Open 📄 View Source
🐘 DeleteServiceStrategy.php
▶ Open 📄 View Source
🐘 Diagnostic.php
▶ Open 📄 View Source
🐘 Documentation.php
▶ Open 📄 View Source
🐘 DocumentationRule.php
▶ Open 📄 View Source
🐘 DotnetSettings.php
▶ Open 📄 View Source
🐘 EnableServiceResponse.php
▶ Open 📄 View Source
🐘 Endpoint.php
▶ Open 📄 View Source
🐘 Enum.php
▶ Open 📄 View Source
🐘 EnumValue.php
▶ Open 📄 View Source
🐘 ExperimentalFeatures.php
▶ Open 📄 View Source
🐘 Expr.php
▶ Open 📄 View Source
🐘 Field.php
▶ Open 📄 View Source
🐘 FieldPolicy.php
▶ Open 📄 View Source
🐘 FlowErrorDetails.php
▶ Open 📄 View Source
🐘 GenerateConfigReportRequest.php
▶ Open 📄 View Source
🐘 GenerateConfigReportResponse.php
▶ Open 📄 View Source
🐘 GetIamPolicyRequest.php
▶ Open 📄 View Source
🐘 GetPolicyOptions.php
▶ Open 📄 View Source
🐘 GoSettings.php
▶ Open 📄 View Source
🐘 Http.php
▶ Open 📄 View Source
🐘 HttpRule.php
▶ Open 📄 View Source
🐘 JavaSettings.php
▶ Open 📄 View Source
🐘 JwtLocation.php
▶ Open 📄 View Source
🐘 LabelDescriptor.php
▶ Open 📄 View Source
🐘 ListOperationsResponse.php
▶ Open 📄 View Source
🐘 ListServiceConfigsResponse.php
▶ Open 📄 View Source
🐘 ListServiceRolloutsResponse.php
▶ Open 📄 View Source
🐘 ListServicesResponse.php
▶ Open 📄 View Source
🐘 LogDescriptor.php
▶ Open 📄 View Source
🐘 Logging.php
▶ Open 📄 View Source
🐘 LoggingDestination.php
▶ Open 📄 View Source
🐘 LongRunning.php
▶ Open 📄 View Source
🐘 ManagedService.php
▶ Open 📄 View Source
🐘 Method.php
▶ Open 📄 View Source
🐘 MethodPolicy.php
▶ Open 📄 View Source
🐘 MethodSettings.php
▶ Open 📄 View Source
🐘 MetricDescriptor.php
▶ Open 📄 View Source
🐘 MetricDescriptorMetadata.php
▶ Open 📄 View Source
🐘 MetricRule.php
▶ Open 📄 View Source
🐘 Mixin.php
▶ Open 📄 View Source
🐘 MonitoredResourceDescriptor.php
▶ Open 📄 View Source
🐘 Monitoring.php
▶ Open 📄 View Source
🐘 MonitoringDestination.php
▶ Open 📄 View Source
🐘 NodeSettings.php
▶ Open 📄 View Source
🐘 OAuthRequirements.php
▶ Open 📄 View Source
🐘 Operation.php
▶ Open 📄 View Source
🐘 OperationInfo.php
▶ Open 📄 View Source
🐘 OperationMetadata.php
▶ Open 📄 View Source
🐘 Option.php
▶ Open 📄 View Source
🐘 Page.php
▶ Open 📄 View Source
🐘 PhpSettings.php
▶ Open 📄 View Source
🐘 Policy.php
▶ Open 📄 View Source
🐘 Publishing.php
▶ Open 📄 View Source
🐘 PythonSettings.php
▶ Open 📄 View Source
🐘 Quota.php
▶ Open 📄 View Source
🐘 QuotaLimit.php
▶ Open 📄 View Source
🐘 ResourceReference.php
▶ Open 📄 View Source
🐘 Rollout.php
▶ Open 📄 View Source
🐘 RubySettings.php
▶ Open 📄 View Source
🐘 SelectiveGapicGeneration.php
▶ Open 📄 View Source
🐘 Service.php
▶ Open 📄 View Source
🐘 SetIamPolicyRequest.php
▶ Open 📄 View Source
🐘 SourceContext.php
▶ Open 📄 View Source
🐘 SourceInfo.php
▶ Open 📄 View Source
🐘 Status.php
▶ Open 📄 View Source
🐘 Step.php
▶ Open 📄 View Source
🐘 SubmitConfigSourceRequest.php
▶ Open 📄 View Source
🐘 SubmitConfigSourceResponse.php
▶ Open 📄 View Source
🐘 SystemParameter.php
▶ Open 📄 View Source
🐘 SystemParameterRule.php
▶ Open 📄 View Source
🐘 SystemParameters.php
▶ Open 📄 View Source
🐘 TestIamPermissionsRequest.php
▶ Open 📄 View Source
🐘 TestIamPermissionsResponse.php
▶ Open 📄 View Source
🐘 TrafficPercentStrategy.php
▶ Open 📄 View Source
🐘 Type.php
▶ Open 📄 View Source
🐘 UndeleteServiceResponse.php
▶ Open 📄 View Source
🐘 Usage.php
▶ Open 📄 View Source
🐘 UsageRule.php
▶ Open 📄 View Source

📄 Source: Policy.php

<?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\ServiceManagement;

class Policy extends \Google\Collection
{
  protected $collection_key = 'bindings';
  protected $auditConfigsType = AuditConfig::class;
  protected $auditConfigsDataType = 'array';
  protected $bindingsType = Binding::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 AuditConfig[] $auditConfigs
   */
  public function setAuditConfigs($auditConfigs)
  {
    $this->auditConfigs = $auditConfigs;
  }
  /**
   * @return AuditConfig[]
   */
  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 Binding[] $bindings
   */
  public function setBindings($bindings)
  {
    $this->bindings = $bindings;
  }
  /**
   * @return Binding[]
   */
  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(Policy::class, 'Google_Service_ServiceManagement_Policy');
← Back