From 0851b0db901d393707263cd676f90f01cae66bc9 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 13 Nov 2024 23:16:07 +0000 Subject: [PATCH] feat: A new value `NOT_SUPPORTED` is added to enum `IneligibilityReason` feat: A new value `NOT_ENOUGH_USAGE_HISTORY` is added to enum `IneligibilityReason` PiperOrigin-RevId: 695766513 Source-Link: https://github.com/googleapis/googleapis/commit/453365efd71565dbecb05bbdc48513a7b3236d21 Source-Link: https://github.com/googleapis/googleapis-gen/commit/9bed04e3fb23d8f25d8569172add5aa059a33694 Copy-Tag: eyJwIjoiUXVvdGFzLy5Pd2xCb3QueWFtbCIsImgiOiI5YmVkMDRlM2ZiMjNkOGYyNWQ4NTY5MTcyYWRkNWFhMDU5YTMzNjk0In0= --- .../Google/Api/Cloudquotas/V1/Cloudquotas.php | 78 ++ .../Google/Api/Cloudquotas/V1/Resources.php | Bin 0 -> 4114 bytes .../V1/CreateQuotaPreferenceRequest.php | 232 ++++++ .../Cloud/CloudQuotas/V1/DimensionsInfo.php | 186 +++++ .../CloudQuotas/V1/GetQuotaInfoRequest.php | 92 +++ .../V1/GetQuotaPreferenceRequest.php | 92 +++ .../CloudQuotas/V1/ListQuotaInfosRequest.php | 184 +++++ .../CloudQuotas/V1/ListQuotaInfosResponse.php | 105 +++ .../V1/ListQuotaPreferencesRequest.php | 290 ++++++++ .../V1/ListQuotaPreferencesResponse.php | 139 ++++ .../Cloud/CloudQuotas/V1/QuotaConfig.php | 302 ++++++++ .../CloudQuotas/V1/QuotaConfig/Origin.php | 64 ++ .../Cloud/CloudQuotas/V1/QuotaDetails.php | 119 +++ .../V1/QuotaIncreaseEligibility.php | 109 +++ .../IneligibilityReason.php | 79 ++ .../Google/Cloud/CloudQuotas/V1/QuotaInfo.php | 648 +++++++++++++++++ .../V1/QuotaInfo/ContainerType.php | 71 ++ .../Cloud/CloudQuotas/V1/QuotaPreference.php | 543 ++++++++++++++ .../Cloud/CloudQuotas/V1/QuotaSafetyCheck.php | 63 ++ .../Cloud/CloudQuotas/V1/RolloutInfo.php | 67 ++ .../V1/UpdateQuotaPreferenceRequest.php | 270 +++++++ .../create_quota_preference.php | 99 +++ .../V1/CloudQuotasClient/get_quota_info.php | 79 ++ .../get_quota_preference.php | 78 ++ .../V1/CloudQuotasClient/list_quota_infos.php | 83 +++ .../list_quota_preferences.php | 85 +++ .../update_quota_preference.php | 91 +++ .../v1/src/V1/Client/CloudQuotasClient.php | 688 ++++++++++++++++++ .../Quotas/v1/src/V1/gapic_metadata.json | 48 ++ .../resources/cloud_quotas_client_config.json | 64 ++ .../cloud_quotas_descriptor_config.php | 135 ++++ .../cloud_quotas_rest_client_config.php | 162 +++++ .../Unit/V1/Client/CloudQuotasClientTest.php | 620 ++++++++++++++++ 33 files changed, 5965 insertions(+) create mode 100644 owl-bot-staging/Quotas/v1/proto/src/GPBMetadata/Google/Api/Cloudquotas/V1/Cloudquotas.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/GPBMetadata/Google/Api/Cloudquotas/V1/Resources.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/CreateQuotaPreferenceRequest.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/DimensionsInfo.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/GetQuotaInfoRequest.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/GetQuotaPreferenceRequest.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaInfosRequest.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaInfosResponse.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaPreferencesRequest.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaPreferencesResponse.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaConfig.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaConfig/Origin.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaDetails.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaIncreaseEligibility.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaIncreaseEligibility/IneligibilityReason.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaInfo.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaInfo/ContainerType.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaPreference.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaSafetyCheck.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/RolloutInfo.php create mode 100644 owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/UpdateQuotaPreferenceRequest.php create mode 100644 owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/create_quota_preference.php create mode 100644 owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/get_quota_info.php create mode 100644 owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/get_quota_preference.php create mode 100644 owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/list_quota_infos.php create mode 100644 owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/list_quota_preferences.php create mode 100644 owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/update_quota_preference.php create mode 100644 owl-bot-staging/Quotas/v1/src/V1/Client/CloudQuotasClient.php create mode 100644 owl-bot-staging/Quotas/v1/src/V1/gapic_metadata.json create mode 100644 owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_client_config.json create mode 100644 owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_descriptor_config.php create mode 100644 owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_rest_client_config.php create mode 100644 owl-bot-staging/Quotas/v1/tests/Unit/V1/Client/CloudQuotasClientTest.php diff --git a/owl-bot-staging/Quotas/v1/proto/src/GPBMetadata/Google/Api/Cloudquotas/V1/Cloudquotas.php b/owl-bot-staging/Quotas/v1/proto/src/GPBMetadata/Google/Api/Cloudquotas/V1/Cloudquotas.php new file mode 100644 index 000000000000..42123bf06e8a --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/GPBMetadata/Google/Api/Cloudquotas/V1/Cloudquotas.php @@ -0,0 +1,78 @@ +internalAddGeneratedFile( + ' +Ö" ++google/api/cloudquotas/v1/cloudquotas.protogoogle.api.cloudquotas.v1google/api/client.proto)google/api/cloudquotas/v1/resources.protogoogle/api/field_behavior.protogoogle/api/resource.proto google/protobuf/field_mask.proto"† +ListQuotaInfosRequest< +parent ( B,àAúA&$cloudquotas.googleapis.com/QuotaInfo + page_size (BàA + +page_token ( BàA"l +ListQuotaInfosResponse9 + quota_infos ( 2$.google.api.cloudquotas.v1.QuotaInfo +next_page_token ( "Q +GetQuotaInfoRequest: +name ( B,àAúA& +$cloudquotas.googleapis.com/QuotaInfo"¾ +ListQuotaPreferencesRequestB +parent ( B2àAúA,*cloudquotas.googleapis.com/QuotaPreference + page_size (BàA + +page_token ( BàA +filter ( BàA +order_by ( BàA"“ +ListQuotaPreferencesResponseE +quota_preferences ( 2*.google.api.cloudquotas.v1.QuotaPreference +next_page_token (  + unreachable ( "] +GetQuotaPreferenceRequest@ +name ( B2àAúA, +*cloudquotas.googleapis.com/QuotaPreference"š +CreateQuotaPreferenceRequestB +parent ( B2àAúA,*cloudquotas.googleapis.com/QuotaPreference +quota_preference_id ( BàAI +quota_preference ( 2*.google.api.cloudquotas.v1.QuotaPreferenceBàAI +ignore_safety_checks (2+.google.api.cloudquotas.v1.QuotaSafetyCheck"¢ +UpdateQuotaPreferenceRequest4 + update_mask ( 2.google.protobuf.FieldMaskBàAI +quota_preference ( 2*.google.api.cloudquotas.v1.QuotaPreferenceBàA + allow_missing (BàA + validate_only (BàAI +ignore_safety_checks (2+.google.api.cloudquotas.v1.QuotaSafetyCheck2¹ + CloudQuotasÁ +ListQuotaInfos0.google.api.cloudquotas.v1.ListQuotaInfosRequest1.google.api.cloudquotas.v1.ListQuotaInfosResponse"ÉÚAparent‚Ó䓹9/v1/{parent=projects/*/locations/*/services/*}/quotaInfosZ@>/v1/{parent=organizations/*/locations/*/services/*}/quotaInfosZ:8/v1/{parent=folders/*/locations/*/services/*}/quotaInfos® + GetQuotaInfo..google.api.cloudquotas.v1.GetQuotaInfoRequest$.google.api.cloudquotas.v1.QuotaInfo"ÇÚAname‚Ó䓹9/v1/{name=projects/*/locations/*/services/*/quotaInfos/*}Z@>/v1/{name=organizations/*/locations/*/services/*/quotaInfos/*}Z:8/v1/{name=folders/*/locations/*/services/*/quotaInfos/*}Ä +ListQuotaPreferences6.google.api.cloudquotas.v1.ListQuotaPreferencesRequest7.google.api.cloudquotas.v1.ListQuotaPreferencesResponse"ºÚAparent‚Ó䓪4/v1/{parent=projects/*/locations/*}/quotaPreferencesZ53/v1/{parent=folders/*/locations/*}/quotaPreferencesZ;9/v1/{parent=organizations/*/locations/*}/quotaPreferences± +GetQuotaPreference4.google.api.cloudquotas.v1.GetQuotaPreferenceRequest*.google.api.cloudquotas.v1.QuotaPreference"¸ÚAname‚Ó䓪4/v1/{name=projects/*/locations/*/quotaPreferences/*}Z;9/v1/{name=organizations/*/locations/*/quotaPreferences/*}Z53/v1/{name=folders/*/locations/*/quotaPreferences/*}® +CreateQuotaPreference7.google.api.cloudquotas.v1.CreateQuotaPreferenceRequest*.google.api.cloudquotas.v1.QuotaPreference"¯ÚA+parent,quota_preference,quota_preference_idÚAparent,quota_preference‚Óä“à"4/v1/{parent=projects/*/locations/*}/quotaPreferences:quota_preferenceZG"3/v1/{parent=folders/*/locations/*}/quotaPreferences:quota_preferenceZM"9/v1/{parent=organizations/*/locations/*}/quotaPreferences:quota_preference¸ +UpdateQuotaPreference7.google.api.cloudquotas.v1.UpdateQuotaPreferenceRequest*.google.api.cloudquotas.v1.QuotaPreference"¹ÚAquota_preference,update_mask‚Óä““2E/v1/{quota_preference.name=projects/*/locations/*/quotaPreferences/*}:quota_preferenceZX2D/v1/{quota_preference.name=folders/*/locations/*/quotaPreferences/*}:quota_preferenceZ^2J/v1/{quota_preference.name=organizations/*/locations/*/quotaPreferences/*}:quota_preferenceNÊAcloudquotas.googleapis.comÒA.https://www.googleapis.com/auth/cloud-platformBã +com.google.api.cloudquotas.v1BCloudquotasProtoPZAcloud.google.com/go/cloudquotas/apiv1/cloudquotaspb;cloudquotaspbªGoogle.Cloud.CloudQuotas.V1ÊGoogle\\Cloud\\CloudQuotas\\V1êGoogle::Cloud::CloudQuotas::V1êAà +"cloudquotas.googleapis.com/Service:projects/{project}/locations/{location}/services/{service}8folders/{folder}/locations/{location}/services/{service}Dorganizations/{organization}/locations/{location}/services/{service}êA¨ +#cloudquotas.googleapis.com/Location\'projects/{project}/locations/{location}%folders/{folder}/locations/{location}1organizations/{organization}/locations/{location}bproto3' + , true); + + static::$is_initialized = true; + } +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/GPBMetadata/Google/Api/Cloudquotas/V1/Resources.php b/owl-bot-staging/Quotas/v1/proto/src/GPBMetadata/Google/Api/Cloudquotas/V1/Resources.php new file mode 100644 index 0000000000000000000000000000000000000000..9f2589e17b500e7021afaf1b8516d5900e053203 GIT binary patch literal 4114 zcmbtXUvt~W5idzuqL%u@z)lL&t&6Z8Th1iph{-f59k&CK5CumeXcCmiE@v=HMkG`m|1_X32`h@yG?cbsDq2%F-$&KRpM(yn zD`VduyQFFdwCcG2Wcba*kL{>>wp$H}kcleXDu8F7k|?kpqO>}DUy|4!+Oa)oaRUQ2 zpo7NDz~E^234r6;QKWQJL+~0D{0k<>E_IYBwqyKxKqHHKG^VyozeP`;DkIyC2x?!I z9ZftZroN{z1;ca5&SOQ`WU>zeA3cAnq(|zoU|=8yx)+nsv)w_HL{3P9*bh4>TCa~u zJPjdR*?F97%goV{vLnt|uU|RjQzZ^3WPW!=2}wK&y(j$K%)rI;X>d)z_9=0Pd*sAE zqkdSg&%Bx$xlT0=>hfCCaF`VH7~7}8&(M7l+Cf0V=%-bA20r=|P2#N%htu%xBMf(@ z0b${J1V7$|$4lc+x+_F02-V6QR4Zq@rQ{PwaSB_3+S2cm4LF7o4AnUGJ`uRTDDcwG&hnKlSUn|iNF6!H-?w2cBHY44zt6cgSY&pIc+Z5~Eiq8Wgui^Su ztyZ}<7?tT^D~(juL`?~I9-{AFgas7Ic_oJq+=JWVxYm$Hfoq>z+`DzYc?l%p-KB59 zzuksHqBy})lnZ?E1(cF-cuq*{h*-p>V|q+o8lTG>C{w6?eDleLt~OI;amJvH=-
!RF=Q-iK1dXq&3u*1DGYvZGo3cCVu~^nG1x7JnrbV6D?No@ouU zn88G>?i+_qty|2ZYa2$lrMC4~s;L|8Vy^x}_Ko^|79PxFTx1)OA61ajtJ4%qUBvZQ z#EGNo>*VR8>iP~cD<--6I(@vTCLZBh@^n$@Rfdb2VOe{w2oKg$5Qff5i{mQiKF|8canglq& zBwCDam(aR1qjN^Y>*7%F&b5L3Y*~f^(mb*Y@}D=B8FA*t=14qWO`@2NsHoJ0KTEKQ z;<4?-7CE)4%PEuZu~OQF?S+^kr{umS=SeHtgj?7)CPeh1diJwS{W~O*e`Vo=n}}qV zHtCCH>4fKTrZ{DgU<#-UNnegfmNC_zCk)(d{`DIESi)@i-#I8eXT4oO3=3#mI1rMd zCBn%XeNLqLE^M%QkXS>6AZCYme38&kVRIbX*t=6T*8K~$dsk41qv#(#Ibw-Qk&ur= z9I4p^!3PAf{2U6l=i$LPk0Yj8XZtj@c69<0O<#CXQD>Ud;>$=lN~GP)53wtIe8kwQ zeYB)igDdglm1<{YE%F^QTI0~@H!bX>J>yUlB&YUG!%~~i z`aP3#*P9G%%_@QS@h>ltRfY%ak8g47vic%dNuR-*$Z*6{T&N8my~P;EPm?1eLIB;t z`513E_OVN>wEITLbU1DOj2bTg1vV~iFfDVAOX+ji2z?i?T``}5mSEJb5NB~KKZL^E ztMqHw_Pw!>TxBIjIk)6L_&XH&A$s#H4e1K7Yhvx zhaw@<)EcbAY1W>0XuJ@e3A6hU$_w8+TDPI$7=?|?Gz@HBt%G8A@4p%NEsj0cCt+_Z zy$(ekcIoS6Ua6e*QWZ8djr~hETr48Igoogle.api.cloudquotas.v1.CreateQuotaPreferenceRequest + */ +class CreateQuotaPreferenceRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Value for parent. + * Example: + * `projects/123/locations/global` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. Id of the requesting object, must be unique under its parent. + * If client does not set this field, the service will generate one. + * + * Generated from protobuf field string quota_preference_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $quota_preference_id = ''; + /** + * Required. The resource being created + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaPreference quota_preference = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $quota_preference = null; + /** + * The list of quota safety checks to be ignored. + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaSafetyCheck ignore_safety_checks = 4; + */ + private $ignore_safety_checks; + + /** + * @param string $parent Required. Value for parent. + * + * Example: + * `projects/123/locations/global` + * Please see {@see CloudQuotasClient::locationName()} for help formatting this field. + * @param \Google\Cloud\CloudQuotas\V1\QuotaPreference $quotaPreference Required. The resource being created + * @param string $quotaPreferenceId Optional. Id of the requesting object, must be unique under its parent. + * If client does not set this field, the service will generate one. + * + * @return \Google\Cloud\CloudQuotas\V1\CreateQuotaPreferenceRequest + * + * @experimental + */ + public static function build(string $parent, \Google\Cloud\CloudQuotas\V1\QuotaPreference $quotaPreference, string $quotaPreferenceId): self + { + return (new self()) + ->setParent($parent) + ->setQuotaPreference($quotaPreference) + ->setQuotaPreferenceId($quotaPreferenceId); + } + + /** + * @param string $parent Required. Value for parent. + * + * Example: + * `projects/123/locations/global` + * Please see {@see CloudQuotasClient::locationName()} for help formatting this field. + * @param \Google\Cloud\CloudQuotas\V1\QuotaPreference $quotaPreference Required. The resource being created + * + * @return \Google\Cloud\CloudQuotas\V1\CreateQuotaPreferenceRequest + * + * @experimental + */ + public static function buildFromParentQuotaPreference(string $parent, \Google\Cloud\CloudQuotas\V1\QuotaPreference $quotaPreference): self + { + return (new self()) + ->setParent($parent) + ->setQuotaPreference($quotaPreference); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Value for parent. + * Example: + * `projects/123/locations/global` + * @type string $quota_preference_id + * Optional. Id of the requesting object, must be unique under its parent. + * If client does not set this field, the service will generate one. + * @type \Google\Cloud\CloudQuotas\V1\QuotaPreference $quota_preference + * Required. The resource being created + * @type array|\Google\Protobuf\Internal\RepeatedField $ignore_safety_checks + * The list of quota safety checks to be ignored. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Cloudquotas::initOnce(); + parent::__construct($data); + } + + /** + * Required. Value for parent. + * Example: + * `projects/123/locations/global` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Value for parent. + * Example: + * `projects/123/locations/global` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. Id of the requesting object, must be unique under its parent. + * If client does not set this field, the service will generate one. + * + * Generated from protobuf field string quota_preference_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getQuotaPreferenceId() + { + return $this->quota_preference_id; + } + + /** + * Optional. Id of the requesting object, must be unique under its parent. + * If client does not set this field, the service will generate one. + * + * Generated from protobuf field string quota_preference_id = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setQuotaPreferenceId($var) + { + GPBUtil::checkString($var, True); + $this->quota_preference_id = $var; + + return $this; + } + + /** + * Required. The resource being created + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaPreference quota_preference = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\CloudQuotas\V1\QuotaPreference|null + */ + public function getQuotaPreference() + { + return $this->quota_preference; + } + + public function hasQuotaPreference() + { + return isset($this->quota_preference); + } + + public function clearQuotaPreference() + { + unset($this->quota_preference); + } + + /** + * Required. The resource being created + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaPreference quota_preference = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\CloudQuotas\V1\QuotaPreference $var + * @return $this + */ + public function setQuotaPreference($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\CloudQuotas\V1\QuotaPreference::class); + $this->quota_preference = $var; + + return $this; + } + + /** + * The list of quota safety checks to be ignored. + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaSafetyCheck ignore_safety_checks = 4; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getIgnoreSafetyChecks() + { + return $this->ignore_safety_checks; + } + + /** + * The list of quota safety checks to be ignored. + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaSafetyCheck ignore_safety_checks = 4; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setIgnoreSafetyChecks($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Cloud\CloudQuotas\V1\QuotaSafetyCheck::class); + $this->ignore_safety_checks = $arr; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/DimensionsInfo.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/DimensionsInfo.php new file mode 100644 index 000000000000..e762ea504de7 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/DimensionsInfo.php @@ -0,0 +1,186 @@ +google.api.cloudquotas.v1.DimensionsInfo + */ +class DimensionsInfo extends \Google\Protobuf\Internal\Message +{ + /** + * The map of dimensions for this dimensions info. The key of a map entry + * is "region", "zone" or the name of a service specific dimension, and the + * value of a map entry is the value of the dimension. If a dimension does + * not appear in the map of dimensions, the dimensions info applies to all + * the dimension values except for those that have another DimenisonInfo + * instance configured for the specific value. + * Example: {"provider" : "Foo Inc"} where "provider" is a service specific + * dimension of a quota. + * + * Generated from protobuf field map dimensions = 1; + */ + private $dimensions; + /** + * Quota details for the specified dimensions. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaDetails details = 2; + */ + protected $details = null; + /** + * The applicable regions or zones of this dimensions info. The field will be + * set to ['global'] for quotas that are not per region or per zone. + * Otherwise, it will be set to the list of locations this dimension info is + * applicable to. + * + * Generated from protobuf field repeated string applicable_locations = 3; + */ + private $applicable_locations; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type array|\Google\Protobuf\Internal\MapField $dimensions + * The map of dimensions for this dimensions info. The key of a map entry + * is "region", "zone" or the name of a service specific dimension, and the + * value of a map entry is the value of the dimension. If a dimension does + * not appear in the map of dimensions, the dimensions info applies to all + * the dimension values except for those that have another DimenisonInfo + * instance configured for the specific value. + * Example: {"provider" : "Foo Inc"} where "provider" is a service specific + * dimension of a quota. + * @type \Google\Cloud\CloudQuotas\V1\QuotaDetails $details + * Quota details for the specified dimensions. + * @type array|\Google\Protobuf\Internal\RepeatedField $applicable_locations + * The applicable regions or zones of this dimensions info. The field will be + * set to ['global'] for quotas that are not per region or per zone. + * Otherwise, it will be set to the list of locations this dimension info is + * applicable to. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Resources::initOnce(); + parent::__construct($data); + } + + /** + * The map of dimensions for this dimensions info. The key of a map entry + * is "region", "zone" or the name of a service specific dimension, and the + * value of a map entry is the value of the dimension. If a dimension does + * not appear in the map of dimensions, the dimensions info applies to all + * the dimension values except for those that have another DimenisonInfo + * instance configured for the specific value. + * Example: {"provider" : "Foo Inc"} where "provider" is a service specific + * dimension of a quota. + * + * Generated from protobuf field map dimensions = 1; + * @return \Google\Protobuf\Internal\MapField + */ + public function getDimensions() + { + return $this->dimensions; + } + + /** + * The map of dimensions for this dimensions info. The key of a map entry + * is "region", "zone" or the name of a service specific dimension, and the + * value of a map entry is the value of the dimension. If a dimension does + * not appear in the map of dimensions, the dimensions info applies to all + * the dimension values except for those that have another DimenisonInfo + * instance configured for the specific value. + * Example: {"provider" : "Foo Inc"} where "provider" is a service specific + * dimension of a quota. + * + * Generated from protobuf field map dimensions = 1; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setDimensions($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING); + $this->dimensions = $arr; + + return $this; + } + + /** + * Quota details for the specified dimensions. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaDetails details = 2; + * @return \Google\Cloud\CloudQuotas\V1\QuotaDetails|null + */ + public function getDetails() + { + return $this->details; + } + + public function hasDetails() + { + return isset($this->details); + } + + public function clearDetails() + { + unset($this->details); + } + + /** + * Quota details for the specified dimensions. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaDetails details = 2; + * @param \Google\Cloud\CloudQuotas\V1\QuotaDetails $var + * @return $this + */ + public function setDetails($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\CloudQuotas\V1\QuotaDetails::class); + $this->details = $var; + + return $this; + } + + /** + * The applicable regions or zones of this dimensions info. The field will be + * set to ['global'] for quotas that are not per region or per zone. + * Otherwise, it will be set to the list of locations this dimension info is + * applicable to. + * + * Generated from protobuf field repeated string applicable_locations = 3; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getApplicableLocations() + { + return $this->applicable_locations; + } + + /** + * The applicable regions or zones of this dimensions info. The field will be + * set to ['global'] for quotas that are not per region or per zone. + * Otherwise, it will be set to the list of locations this dimension info is + * applicable to. + * + * Generated from protobuf field repeated string applicable_locations = 3; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setApplicableLocations($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->applicable_locations = $arr; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/GetQuotaInfoRequest.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/GetQuotaInfoRequest.php new file mode 100644 index 000000000000..d28953dfb23c --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/GetQuotaInfoRequest.php @@ -0,0 +1,92 @@ +google.api.cloudquotas.v1.GetQuotaInfoRequest + */ +class GetQuotaInfoRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The resource name of the quota info. + * An example name: + * `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. The resource name of the quota info. + * + * An example name: + * `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + * Please see {@see CloudQuotasClient::quotaInfoName()} for help formatting this field. + * + * @return \Google\Cloud\CloudQuotas\V1\GetQuotaInfoRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The resource name of the quota info. + * An example name: + * `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Cloudquotas::initOnce(); + parent::__construct($data); + } + + /** + * Required. The resource name of the quota info. + * An example name: + * `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The resource name of the quota info. + * An example name: + * `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/GetQuotaPreferenceRequest.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/GetQuotaPreferenceRequest.php new file mode 100644 index 000000000000..d4e3772f5680 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/GetQuotaPreferenceRequest.php @@ -0,0 +1,92 @@ +google.api.cloudquotas.v1.GetQuotaPreferenceRequest + */ +class GetQuotaPreferenceRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the resource + * Example name: + * `projects/123/locations/global/quota_preferences/my-config-for-us-east1` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. Name of the resource + * + * Example name: + * `projects/123/locations/global/quota_preferences/my-config-for-us-east1` + * Please see {@see CloudQuotasClient::quotaPreferenceName()} for help formatting this field. + * + * @return \Google\Cloud\CloudQuotas\V1\GetQuotaPreferenceRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. Name of the resource + * Example name: + * `projects/123/locations/global/quota_preferences/my-config-for-us-east1` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Cloudquotas::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the resource + * Example name: + * `projects/123/locations/global/quota_preferences/my-config-for-us-east1` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. Name of the resource + * Example name: + * `projects/123/locations/global/quota_preferences/my-config-for-us-east1` + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaInfosRequest.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaInfosRequest.php new file mode 100644 index 000000000000..1620a7795fd9 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaInfosRequest.php @@ -0,0 +1,184 @@ +google.api.cloudquotas.v1.ListQuotaInfosRequest + */ +class ListQuotaInfosRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Parent value of QuotaInfo resources. + * Listing across different resource containers (such as 'projects/-') is not + * allowed. + * Example names: + * `projects/123/locations/global/services/compute.googleapis.com` + * `folders/234/locations/global/services/compute.googleapis.com` + * `organizations/345/locations/global/services/compute.googleapis.com` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. Requested page size. Server may return fewer items than + * requested. If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + + /** + * @param string $parent Required. Parent value of QuotaInfo resources. + * Listing across different resource containers (such as 'projects/-') is not + * allowed. + * + * Example names: + * `projects/123/locations/global/services/compute.googleapis.com` + * `folders/234/locations/global/services/compute.googleapis.com` + * `organizations/345/locations/global/services/compute.googleapis.com` + * Please see {@see CloudQuotasClient::serviceName()} for help formatting this field. + * + * @return \Google\Cloud\CloudQuotas\V1\ListQuotaInfosRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Parent value of QuotaInfo resources. + * Listing across different resource containers (such as 'projects/-') is not + * allowed. + * Example names: + * `projects/123/locations/global/services/compute.googleapis.com` + * `folders/234/locations/global/services/compute.googleapis.com` + * `organizations/345/locations/global/services/compute.googleapis.com` + * @type int $page_size + * Optional. Requested page size. Server may return fewer items than + * requested. If unspecified, server will pick an appropriate default. + * @type string $page_token + * Optional. A token identifying a page of results the server should return. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Cloudquotas::initOnce(); + parent::__construct($data); + } + + /** + * Required. Parent value of QuotaInfo resources. + * Listing across different resource containers (such as 'projects/-') is not + * allowed. + * Example names: + * `projects/123/locations/global/services/compute.googleapis.com` + * `folders/234/locations/global/services/compute.googleapis.com` + * `organizations/345/locations/global/services/compute.googleapis.com` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Parent value of QuotaInfo resources. + * Listing across different resource containers (such as 'projects/-') is not + * allowed. + * Example names: + * `projects/123/locations/global/services/compute.googleapis.com` + * `folders/234/locations/global/services/compute.googleapis.com` + * `organizations/345/locations/global/services/compute.googleapis.com` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. Requested page size. Server may return fewer items than + * requested. If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Requested page size. Server may return fewer items than + * requested. If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaInfosResponse.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaInfosResponse.php new file mode 100644 index 000000000000..0eefa66e027b --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaInfosResponse.php @@ -0,0 +1,105 @@ +google.api.cloudquotas.v1.ListQuotaInfosResponse + */ +class ListQuotaInfosResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The list of QuotaInfo + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaInfo quota_infos = 1; + */ + private $quota_infos; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type array<\Google\Cloud\CloudQuotas\V1\QuotaInfo>|\Google\Protobuf\Internal\RepeatedField $quota_infos + * The list of QuotaInfo + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Cloudquotas::initOnce(); + parent::__construct($data); + } + + /** + * The list of QuotaInfo + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaInfo quota_infos = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getQuotaInfos() + { + return $this->quota_infos; + } + + /** + * The list of QuotaInfo + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaInfo quota_infos = 1; + * @param array<\Google\Cloud\CloudQuotas\V1\QuotaInfo>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setQuotaInfos($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\CloudQuotas\V1\QuotaInfo::class); + $this->quota_infos = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaPreferencesRequest.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaPreferencesRequest.php new file mode 100644 index 000000000000..e657eb87622d --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaPreferencesRequest.php @@ -0,0 +1,290 @@ +google.api.cloudquotas.v1.ListQuotaPreferencesRequest + */ +class ListQuotaPreferencesRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Parent value of QuotaPreference resources. + * Listing across different resource containers (such as 'projects/-') is not + * allowed. + * When the value starts with 'folders' or 'organizations', it lists the + * QuotaPreferences for org quotas in the container. It does not list the + * QuotaPreferences in the descendant projects of the container. + * Example parents: + * `projects/123/locations/global` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Optional. Requested page size. Server may return fewer items than + * requested. If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + /** + * Optional. Filter result QuotaPreferences by their state, type, + * create/update time range. + * Example filters: + * `reconciling=true AND request_type=CLOUD_CONSOLE`, + * `reconciling=true OR creation_time>2022-12-03T10:30:00` + * + * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $filter = ''; + /** + * Optional. How to order of the results. By default, the results are ordered + * by create time. + * Example orders: + * `quota_id`, + * `service, create_time` + * + * Generated from protobuf field string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $order_by = ''; + + /** + * @param string $parent Required. Parent value of QuotaPreference resources. + * Listing across different resource containers (such as 'projects/-') is not + * allowed. + * + * When the value starts with 'folders' or 'organizations', it lists the + * QuotaPreferences for org quotas in the container. It does not list the + * QuotaPreferences in the descendant projects of the container. + * + * Example parents: + * `projects/123/locations/global` + * Please see {@see CloudQuotasClient::locationName()} for help formatting this field. + * + * @return \Google\Cloud\CloudQuotas\V1\ListQuotaPreferencesRequest + * + * @experimental + */ + public static function build(string $parent): self + { + return (new self()) + ->setParent($parent); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. Parent value of QuotaPreference resources. + * Listing across different resource containers (such as 'projects/-') is not + * allowed. + * When the value starts with 'folders' or 'organizations', it lists the + * QuotaPreferences for org quotas in the container. It does not list the + * QuotaPreferences in the descendant projects of the container. + * Example parents: + * `projects/123/locations/global` + * @type int $page_size + * Optional. Requested page size. Server may return fewer items than + * requested. If unspecified, server will pick an appropriate default. + * @type string $page_token + * Optional. A token identifying a page of results the server should return. + * @type string $filter + * Optional. Filter result QuotaPreferences by their state, type, + * create/update time range. + * Example filters: + * `reconciling=true AND request_type=CLOUD_CONSOLE`, + * `reconciling=true OR creation_time>2022-12-03T10:30:00` + * @type string $order_by + * Optional. How to order of the results. By default, the results are ordered + * by create time. + * Example orders: + * `quota_id`, + * `service, create_time` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Cloudquotas::initOnce(); + parent::__construct($data); + } + + /** + * Required. Parent value of QuotaPreference resources. + * Listing across different resource containers (such as 'projects/-') is not + * allowed. + * When the value starts with 'folders' or 'organizations', it lists the + * QuotaPreferences for org quotas in the container. It does not list the + * QuotaPreferences in the descendant projects of the container. + * Example parents: + * `projects/123/locations/global` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. Parent value of QuotaPreference resources. + * Listing across different resource containers (such as 'projects/-') is not + * allowed. + * When the value starts with 'folders' or 'organizations', it lists the + * QuotaPreferences for org quotas in the container. It does not list the + * QuotaPreferences in the descendant projects of the container. + * Example parents: + * `projects/123/locations/global` + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Optional. Requested page size. Server may return fewer items than + * requested. If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Requested page size. Server may return fewer items than + * requested. If unspecified, server will pick an appropriate default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. A token identifying a page of results the server should return. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + + /** + * Optional. Filter result QuotaPreferences by their state, type, + * create/update time range. + * Example filters: + * `reconciling=true AND request_type=CLOUD_CONSOLE`, + * `reconciling=true OR creation_time>2022-12-03T10:30:00` + * + * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Optional. Filter result QuotaPreferences by their state, type, + * create/update time range. + * Example filters: + * `reconciling=true AND request_type=CLOUD_CONSOLE`, + * `reconciling=true OR creation_time>2022-12-03T10:30:00` + * + * Generated from protobuf field string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + + /** + * Optional. How to order of the results. By default, the results are ordered + * by create time. + * Example orders: + * `quota_id`, + * `service, create_time` + * + * Generated from protobuf field string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getOrderBy() + { + return $this->order_by; + } + + /** + * Optional. How to order of the results. By default, the results are ordered + * by create time. + * Example orders: + * `quota_id`, + * `service, create_time` + * + * Generated from protobuf field string order_by = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setOrderBy($var) + { + GPBUtil::checkString($var, True); + $this->order_by = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaPreferencesResponse.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaPreferencesResponse.php new file mode 100644 index 000000000000..123679124c15 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/ListQuotaPreferencesResponse.php @@ -0,0 +1,139 @@ +google.api.cloudquotas.v1.ListQuotaPreferencesResponse + */ +class ListQuotaPreferencesResponse extends \Google\Protobuf\Internal\Message +{ + /** + * The list of QuotaPreference + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaPreference quota_preferences = 1; + */ + private $quota_preferences; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + /** + * Locations that could not be reached. + * + * Generated from protobuf field repeated string unreachable = 3; + */ + private $unreachable; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type array<\Google\Cloud\CloudQuotas\V1\QuotaPreference>|\Google\Protobuf\Internal\RepeatedField $quota_preferences + * The list of QuotaPreference + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * @type array|\Google\Protobuf\Internal\RepeatedField $unreachable + * Locations that could not be reached. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Cloudquotas::initOnce(); + parent::__construct($data); + } + + /** + * The list of QuotaPreference + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaPreference quota_preferences = 1; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getQuotaPreferences() + { + return $this->quota_preferences; + } + + /** + * The list of QuotaPreference + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaPreference quota_preferences = 1; + * @param array<\Google\Cloud\CloudQuotas\V1\QuotaPreference>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setQuotaPreferences($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\CloudQuotas\V1\QuotaPreference::class); + $this->quota_preferences = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + + /** + * Locations that could not be reached. + * + * Generated from protobuf field repeated string unreachable = 3; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getUnreachable() + { + return $this->unreachable; + } + + /** + * Locations that could not be reached. + * + * Generated from protobuf field repeated string unreachable = 3; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setUnreachable($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->unreachable = $arr; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaConfig.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaConfig.php new file mode 100644 index 000000000000..d1eadeec4495 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaConfig.php @@ -0,0 +1,302 @@ +google.api.cloudquotas.v1.QuotaConfig + */ +class QuotaConfig extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The preferred value. Must be greater than or equal to -1. If set + * to -1, it means the value is "unlimited". + * + * Generated from protobuf field int64 preferred_value = 1 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $preferred_value = 0; + /** + * Output only. Optional details about the state of this quota preference. + * + * Generated from protobuf field string state_detail = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $state_detail = ''; + /** + * Output only. Granted quota value. + * + * Generated from protobuf field .google.protobuf.Int64Value granted_value = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $granted_value = null; + /** + * Output only. The trace id that the Google Cloud uses to provision the + * requested quota. This trace id may be used by the client to contact Cloud + * support to track the state of a quota preference request. The trace id is + * only produced for increase requests and is unique for each request. The + * quota decrease requests do not have a trace id. + * + * Generated from protobuf field string trace_id = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $trace_id = ''; + /** + * Optional. The annotations map for clients to store small amounts of + * arbitrary data. Do not put PII or other sensitive information here. See + * https://google.aip.dev/128#annotations + * + * Generated from protobuf field map annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $annotations; + /** + * Output only. The origin of the quota preference request. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaConfig.Origin request_origin = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $request_origin = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $preferred_value + * Required. The preferred value. Must be greater than or equal to -1. If set + * to -1, it means the value is "unlimited". + * @type string $state_detail + * Output only. Optional details about the state of this quota preference. + * @type \Google\Protobuf\Int64Value $granted_value + * Output only. Granted quota value. + * @type string $trace_id + * Output only. The trace id that the Google Cloud uses to provision the + * requested quota. This trace id may be used by the client to contact Cloud + * support to track the state of a quota preference request. The trace id is + * only produced for increase requests and is unique for each request. The + * quota decrease requests do not have a trace id. + * @type array|\Google\Protobuf\Internal\MapField $annotations + * Optional. The annotations map for clients to store small amounts of + * arbitrary data. Do not put PII or other sensitive information here. See + * https://google.aip.dev/128#annotations + * @type int $request_origin + * Output only. The origin of the quota preference request. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Resources::initOnce(); + parent::__construct($data); + } + + /** + * Required. The preferred value. Must be greater than or equal to -1. If set + * to -1, it means the value is "unlimited". + * + * Generated from protobuf field int64 preferred_value = 1 [(.google.api.field_behavior) = REQUIRED]; + * @return int|string + */ + public function getPreferredValue() + { + return $this->preferred_value; + } + + /** + * Required. The preferred value. Must be greater than or equal to -1. If set + * to -1, it means the value is "unlimited". + * + * Generated from protobuf field int64 preferred_value = 1 [(.google.api.field_behavior) = REQUIRED]; + * @param int|string $var + * @return $this + */ + public function setPreferredValue($var) + { + GPBUtil::checkInt64($var); + $this->preferred_value = $var; + + return $this; + } + + /** + * Output only. Optional details about the state of this quota preference. + * + * Generated from protobuf field string state_detail = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getStateDetail() + { + return $this->state_detail; + } + + /** + * Output only. Optional details about the state of this quota preference. + * + * Generated from protobuf field string state_detail = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setStateDetail($var) + { + GPBUtil::checkString($var, True); + $this->state_detail = $var; + + return $this; + } + + /** + * Output only. Granted quota value. + * + * Generated from protobuf field .google.protobuf.Int64Value granted_value = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Int64Value|null + */ + public function getGrantedValue() + { + return $this->granted_value; + } + + public function hasGrantedValue() + { + return isset($this->granted_value); + } + + public function clearGrantedValue() + { + unset($this->granted_value); + } + + /** + * Returns the unboxed value from getGrantedValue() + + * Output only. Granted quota value. + * + * Generated from protobuf field .google.protobuf.Int64Value granted_value = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string|null + */ + public function getGrantedValueUnwrapped() + { + return $this->readWrapperValue("granted_value"); + } + + /** + * Output only. Granted quota value. + * + * Generated from protobuf field .google.protobuf.Int64Value granted_value = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Int64Value $var + * @return $this + */ + public function setGrantedValue($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Int64Value::class); + $this->granted_value = $var; + + return $this; + } + + /** + * Sets the field by wrapping a primitive type in a Google\Protobuf\Int64Value object. + + * Output only. Granted quota value. + * + * Generated from protobuf field .google.protobuf.Int64Value granted_value = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string|null $var + * @return $this + */ + public function setGrantedValueUnwrapped($var) + { + $this->writeWrapperValue("granted_value", $var); + return $this;} + + /** + * Output only. The trace id that the Google Cloud uses to provision the + * requested quota. This trace id may be used by the client to contact Cloud + * support to track the state of a quota preference request. The trace id is + * only produced for increase requests and is unique for each request. The + * quota decrease requests do not have a trace id. + * + * Generated from protobuf field string trace_id = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getTraceId() + { + return $this->trace_id; + } + + /** + * Output only. The trace id that the Google Cloud uses to provision the + * requested quota. This trace id may be used by the client to contact Cloud + * support to track the state of a quota preference request. The trace id is + * only produced for increase requests and is unique for each request. The + * quota decrease requests do not have a trace id. + * + * Generated from protobuf field string trace_id = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setTraceId($var) + { + GPBUtil::checkString($var, True); + $this->trace_id = $var; + + return $this; + } + + /** + * Optional. The annotations map for clients to store small amounts of + * arbitrary data. Do not put PII or other sensitive information here. See + * https://google.aip.dev/128#annotations + * + * Generated from protobuf field map annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\Internal\MapField + */ + public function getAnnotations() + { + return $this->annotations; + } + + /** + * Optional. The annotations map for clients to store small amounts of + * arbitrary data. Do not put PII or other sensitive information here. See + * https://google.aip.dev/128#annotations + * + * Generated from protobuf field map annotations = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setAnnotations($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING); + $this->annotations = $arr; + + return $this; + } + + /** + * Output only. The origin of the quota preference request. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaConfig.Origin request_origin = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getRequestOrigin() + { + return $this->request_origin; + } + + /** + * Output only. The origin of the quota preference request. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaConfig.Origin request_origin = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setRequestOrigin($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\CloudQuotas\V1\QuotaConfig\Origin::class); + $this->request_origin = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaConfig/Origin.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaConfig/Origin.php new file mode 100644 index 000000000000..e4945a8aba16 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaConfig/Origin.php @@ -0,0 +1,64 @@ +google.api.cloudquotas.v1.QuotaConfig.Origin + */ +class Origin +{ + /** + * The unspecified value. + * + * Generated from protobuf enum ORIGIN_UNSPECIFIED = 0; + */ + const ORIGIN_UNSPECIFIED = 0; + /** + * Created through Cloud Console. + * + * Generated from protobuf enum CLOUD_CONSOLE = 1; + */ + const CLOUD_CONSOLE = 1; + /** + * Generated by automatic quota adjustment. + * + * Generated from protobuf enum AUTO_ADJUSTER = 2; + */ + const AUTO_ADJUSTER = 2; + + private static $valueToName = [ + self::ORIGIN_UNSPECIFIED => 'ORIGIN_UNSPECIFIED', + self::CLOUD_CONSOLE => 'CLOUD_CONSOLE', + self::AUTO_ADJUSTER => 'AUTO_ADJUSTER', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(Origin::class, \Google\Cloud\CloudQuotas\V1\QuotaConfig_Origin::class); + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaDetails.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaDetails.php new file mode 100644 index 000000000000..989b3f46d03b --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaDetails.php @@ -0,0 +1,119 @@ +google.api.cloudquotas.v1.QuotaDetails + */ +class QuotaDetails extends \Google\Protobuf\Internal\Message +{ + /** + * The value currently in effect and being enforced. + * + * Generated from protobuf field int64 value = 1; + */ + protected $value = 0; + /** + * Rollout information of this quota. + * This field is present only if the effective limit will change due to the + * ongoing rollout of the service config. + * + * Generated from protobuf field .google.api.cloudquotas.v1.RolloutInfo rollout_info = 3; + */ + protected $rollout_info = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $value + * The value currently in effect and being enforced. + * @type \Google\Cloud\CloudQuotas\V1\RolloutInfo $rollout_info + * Rollout information of this quota. + * This field is present only if the effective limit will change due to the + * ongoing rollout of the service config. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Resources::initOnce(); + parent::__construct($data); + } + + /** + * The value currently in effect and being enforced. + * + * Generated from protobuf field int64 value = 1; + * @return int|string + */ + public function getValue() + { + return $this->value; + } + + /** + * The value currently in effect and being enforced. + * + * Generated from protobuf field int64 value = 1; + * @param int|string $var + * @return $this + */ + public function setValue($var) + { + GPBUtil::checkInt64($var); + $this->value = $var; + + return $this; + } + + /** + * Rollout information of this quota. + * This field is present only if the effective limit will change due to the + * ongoing rollout of the service config. + * + * Generated from protobuf field .google.api.cloudquotas.v1.RolloutInfo rollout_info = 3; + * @return \Google\Cloud\CloudQuotas\V1\RolloutInfo|null + */ + public function getRolloutInfo() + { + return $this->rollout_info; + } + + public function hasRolloutInfo() + { + return isset($this->rollout_info); + } + + public function clearRolloutInfo() + { + unset($this->rollout_info); + } + + /** + * Rollout information of this quota. + * This field is present only if the effective limit will change due to the + * ongoing rollout of the service config. + * + * Generated from protobuf field .google.api.cloudquotas.v1.RolloutInfo rollout_info = 3; + * @param \Google\Cloud\CloudQuotas\V1\RolloutInfo $var + * @return $this + */ + public function setRolloutInfo($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\CloudQuotas\V1\RolloutInfo::class); + $this->rollout_info = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaIncreaseEligibility.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaIncreaseEligibility.php new file mode 100644 index 000000000000..daf06c473eb6 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaIncreaseEligibility.php @@ -0,0 +1,109 @@ +google.api.cloudquotas.v1.QuotaIncreaseEligibility + */ +class QuotaIncreaseEligibility extends \Google\Protobuf\Internal\Message +{ + /** + * Whether a higher quota value can be requested for the quota. + * + * Generated from protobuf field bool is_eligible = 1; + */ + protected $is_eligible = false; + /** + * The reason of why it is ineligible to request increased value of the quota. + * If the is_eligible field is true, it defaults to + * INELIGIBILITY_REASON_UNSPECIFIED. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaIncreaseEligibility.IneligibilityReason ineligibility_reason = 2; + */ + protected $ineligibility_reason = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type bool $is_eligible + * Whether a higher quota value can be requested for the quota. + * @type int $ineligibility_reason + * The reason of why it is ineligible to request increased value of the quota. + * If the is_eligible field is true, it defaults to + * INELIGIBILITY_REASON_UNSPECIFIED. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Resources::initOnce(); + parent::__construct($data); + } + + /** + * Whether a higher quota value can be requested for the quota. + * + * Generated from protobuf field bool is_eligible = 1; + * @return bool + */ + public function getIsEligible() + { + return $this->is_eligible; + } + + /** + * Whether a higher quota value can be requested for the quota. + * + * Generated from protobuf field bool is_eligible = 1; + * @param bool $var + * @return $this + */ + public function setIsEligible($var) + { + GPBUtil::checkBool($var); + $this->is_eligible = $var; + + return $this; + } + + /** + * The reason of why it is ineligible to request increased value of the quota. + * If the is_eligible field is true, it defaults to + * INELIGIBILITY_REASON_UNSPECIFIED. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaIncreaseEligibility.IneligibilityReason ineligibility_reason = 2; + * @return int + */ + public function getIneligibilityReason() + { + return $this->ineligibility_reason; + } + + /** + * The reason of why it is ineligible to request increased value of the quota. + * If the is_eligible field is true, it defaults to + * INELIGIBILITY_REASON_UNSPECIFIED. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaIncreaseEligibility.IneligibilityReason ineligibility_reason = 2; + * @param int $var + * @return $this + */ + public function setIneligibilityReason($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\CloudQuotas\V1\QuotaIncreaseEligibility\IneligibilityReason::class); + $this->ineligibility_reason = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaIncreaseEligibility/IneligibilityReason.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaIncreaseEligibility/IneligibilityReason.php new file mode 100644 index 000000000000..e4861a1587df --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaIncreaseEligibility/IneligibilityReason.php @@ -0,0 +1,79 @@ +google.api.cloudquotas.v1.QuotaIncreaseEligibility.IneligibilityReason + */ +class IneligibilityReason +{ + /** + * Default value when is_eligible is true. + * + * Generated from protobuf enum INELIGIBILITY_REASON_UNSPECIFIED = 0; + */ + const INELIGIBILITY_REASON_UNSPECIFIED = 0; + /** + * The container is not linked with a valid billing account. + * + * Generated from protobuf enum NO_VALID_BILLING_ACCOUNT = 1; + */ + const NO_VALID_BILLING_ACCOUNT = 1; + /** + * Quota increase is not supported for the quota. + * + * Generated from protobuf enum NOT_SUPPORTED = 3; + */ + const NOT_SUPPORTED = 3; + /** + * There is not enough usage history to determine the eligibility. + * + * Generated from protobuf enum NOT_ENOUGH_USAGE_HISTORY = 4; + */ + const NOT_ENOUGH_USAGE_HISTORY = 4; + /** + * Other reasons. + * + * Generated from protobuf enum OTHER = 2; + */ + const OTHER = 2; + + private static $valueToName = [ + self::INELIGIBILITY_REASON_UNSPECIFIED => 'INELIGIBILITY_REASON_UNSPECIFIED', + self::NO_VALID_BILLING_ACCOUNT => 'NO_VALID_BILLING_ACCOUNT', + self::NOT_SUPPORTED => 'NOT_SUPPORTED', + self::NOT_ENOUGH_USAGE_HISTORY => 'NOT_ENOUGH_USAGE_HISTORY', + self::OTHER => 'OTHER', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(IneligibilityReason::class, \Google\Cloud\CloudQuotas\V1\QuotaIncreaseEligibility_IneligibilityReason::class); + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaInfo.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaInfo.php new file mode 100644 index 000000000000..6de76fb1156f --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaInfo.php @@ -0,0 +1,648 @@ +google.api.cloudquotas.v1.QuotaInfo + */ +class QuotaInfo extends \Google\Protobuf\Internal\Message +{ + /** + * Resource name of this QuotaInfo. + * The ID component following "locations/" must be "global". + * Example: + * `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + * + * Generated from protobuf field string name = 1; + */ + protected $name = ''; + /** + * The id of the quota, which is unquie within the service. + * Example: `CpusPerProjectPerRegion` + * + * Generated from protobuf field string quota_id = 2; + */ + protected $quota_id = ''; + /** + * The metric of the quota. It specifies the resources consumption the quota + * is defined for. + * Example: `compute.googleapis.com/cpus` + * + * Generated from protobuf field string metric = 3; + */ + protected $metric = ''; + /** + * The name of the service in which the quota is defined. + * Example: `compute.googleapis.com` + * + * Generated from protobuf field string service = 4; + */ + protected $service = ''; + /** + * Whether this is a precise quota. A precise quota is tracked with absolute + * precision. In contrast, an imprecise quota is not tracked with precision. + * + * Generated from protobuf field bool is_precise = 5; + */ + protected $is_precise = false; + /** + * The reset time interval for the quota. Refresh interval applies to rate + * quota only. + * Example: "minute" for per minute, "day" for per day, or "10 seconds" for + * every 10 seconds. + * + * Generated from protobuf field string refresh_interval = 6; + */ + protected $refresh_interval = ''; + /** + * The container type of the QuotaInfo. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaInfo.ContainerType container_type = 7; + */ + protected $container_type = 0; + /** + * The dimensions the quota is defined on. + * + * Generated from protobuf field repeated string dimensions = 8; + */ + private $dimensions; + /** + * The display name of the quota metric + * + * Generated from protobuf field string metric_display_name = 9; + */ + protected $metric_display_name = ''; + /** + * The display name of the quota. + * + * Generated from protobuf field string quota_display_name = 10; + */ + protected $quota_display_name = ''; + /** + * The unit in which the metric value is reported, e.g., "MByte". + * + * Generated from protobuf field string metric_unit = 11; + */ + protected $metric_unit = ''; + /** + * Whether it is eligible to request a higher quota value for this quota. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaIncreaseEligibility quota_increase_eligibility = 12; + */ + protected $quota_increase_eligibility = null; + /** + * Whether the quota value is fixed or adjustable + * + * Generated from protobuf field bool is_fixed = 13; + */ + protected $is_fixed = false; + /** + * The collection of dimensions info ordered by their dimensions from more + * specific ones to less specific ones. + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.DimensionsInfo dimensions_infos = 14; + */ + private $dimensions_infos; + /** + * Whether the quota is a concurrent quota. Concurrent quotas are enforced + * on the total number of concurrent operations in flight at any given time. + * + * Generated from protobuf field bool is_concurrent = 15; + */ + protected $is_concurrent = false; + /** + * URI to the page where users can request more quota for the cloud + * service—for example, + * https://console.cloud.google.com/iam-admin/quotas. + * + * Generated from protobuf field string service_request_quota_uri = 17; + */ + protected $service_request_quota_uri = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Resource name of this QuotaInfo. + * The ID component following "locations/" must be "global". + * Example: + * `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + * @type string $quota_id + * The id of the quota, which is unquie within the service. + * Example: `CpusPerProjectPerRegion` + * @type string $metric + * The metric of the quota. It specifies the resources consumption the quota + * is defined for. + * Example: `compute.googleapis.com/cpus` + * @type string $service + * The name of the service in which the quota is defined. + * Example: `compute.googleapis.com` + * @type bool $is_precise + * Whether this is a precise quota. A precise quota is tracked with absolute + * precision. In contrast, an imprecise quota is not tracked with precision. + * @type string $refresh_interval + * The reset time interval for the quota. Refresh interval applies to rate + * quota only. + * Example: "minute" for per minute, "day" for per day, or "10 seconds" for + * every 10 seconds. + * @type int $container_type + * The container type of the QuotaInfo. + * @type array|\Google\Protobuf\Internal\RepeatedField $dimensions + * The dimensions the quota is defined on. + * @type string $metric_display_name + * The display name of the quota metric + * @type string $quota_display_name + * The display name of the quota. + * @type string $metric_unit + * The unit in which the metric value is reported, e.g., "MByte". + * @type \Google\Cloud\CloudQuotas\V1\QuotaIncreaseEligibility $quota_increase_eligibility + * Whether it is eligible to request a higher quota value for this quota. + * @type bool $is_fixed + * Whether the quota value is fixed or adjustable + * @type array<\Google\Cloud\CloudQuotas\V1\DimensionsInfo>|\Google\Protobuf\Internal\RepeatedField $dimensions_infos + * The collection of dimensions info ordered by their dimensions from more + * specific ones to less specific ones. + * @type bool $is_concurrent + * Whether the quota is a concurrent quota. Concurrent quotas are enforced + * on the total number of concurrent operations in flight at any given time. + * @type string $service_request_quota_uri + * URI to the page where users can request more quota for the cloud + * service—for example, + * https://console.cloud.google.com/iam-admin/quotas. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Resources::initOnce(); + parent::__construct($data); + } + + /** + * Resource name of this QuotaInfo. + * The ID component following "locations/" must be "global". + * Example: + * `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + * + * Generated from protobuf field string name = 1; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Resource name of this QuotaInfo. + * The ID component following "locations/" must be "global". + * Example: + * `projects/123/locations/global/services/compute.googleapis.com/quotaInfos/CpusPerProjectPerRegion` + * + * Generated from protobuf field string name = 1; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * The id of the quota, which is unquie within the service. + * Example: `CpusPerProjectPerRegion` + * + * Generated from protobuf field string quota_id = 2; + * @return string + */ + public function getQuotaId() + { + return $this->quota_id; + } + + /** + * The id of the quota, which is unquie within the service. + * Example: `CpusPerProjectPerRegion` + * + * Generated from protobuf field string quota_id = 2; + * @param string $var + * @return $this + */ + public function setQuotaId($var) + { + GPBUtil::checkString($var, True); + $this->quota_id = $var; + + return $this; + } + + /** + * The metric of the quota. It specifies the resources consumption the quota + * is defined for. + * Example: `compute.googleapis.com/cpus` + * + * Generated from protobuf field string metric = 3; + * @return string + */ + public function getMetric() + { + return $this->metric; + } + + /** + * The metric of the quota. It specifies the resources consumption the quota + * is defined for. + * Example: `compute.googleapis.com/cpus` + * + * Generated from protobuf field string metric = 3; + * @param string $var + * @return $this + */ + public function setMetric($var) + { + GPBUtil::checkString($var, True); + $this->metric = $var; + + return $this; + } + + /** + * The name of the service in which the quota is defined. + * Example: `compute.googleapis.com` + * + * Generated from protobuf field string service = 4; + * @return string + */ + public function getService() + { + return $this->service; + } + + /** + * The name of the service in which the quota is defined. + * Example: `compute.googleapis.com` + * + * Generated from protobuf field string service = 4; + * @param string $var + * @return $this + */ + public function setService($var) + { + GPBUtil::checkString($var, True); + $this->service = $var; + + return $this; + } + + /** + * Whether this is a precise quota. A precise quota is tracked with absolute + * precision. In contrast, an imprecise quota is not tracked with precision. + * + * Generated from protobuf field bool is_precise = 5; + * @return bool + */ + public function getIsPrecise() + { + return $this->is_precise; + } + + /** + * Whether this is a precise quota. A precise quota is tracked with absolute + * precision. In contrast, an imprecise quota is not tracked with precision. + * + * Generated from protobuf field bool is_precise = 5; + * @param bool $var + * @return $this + */ + public function setIsPrecise($var) + { + GPBUtil::checkBool($var); + $this->is_precise = $var; + + return $this; + } + + /** + * The reset time interval for the quota. Refresh interval applies to rate + * quota only. + * Example: "minute" for per minute, "day" for per day, or "10 seconds" for + * every 10 seconds. + * + * Generated from protobuf field string refresh_interval = 6; + * @return string + */ + public function getRefreshInterval() + { + return $this->refresh_interval; + } + + /** + * The reset time interval for the quota. Refresh interval applies to rate + * quota only. + * Example: "minute" for per minute, "day" for per day, or "10 seconds" for + * every 10 seconds. + * + * Generated from protobuf field string refresh_interval = 6; + * @param string $var + * @return $this + */ + public function setRefreshInterval($var) + { + GPBUtil::checkString($var, True); + $this->refresh_interval = $var; + + return $this; + } + + /** + * The container type of the QuotaInfo. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaInfo.ContainerType container_type = 7; + * @return int + */ + public function getContainerType() + { + return $this->container_type; + } + + /** + * The container type of the QuotaInfo. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaInfo.ContainerType container_type = 7; + * @param int $var + * @return $this + */ + public function setContainerType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\CloudQuotas\V1\QuotaInfo\ContainerType::class); + $this->container_type = $var; + + return $this; + } + + /** + * The dimensions the quota is defined on. + * + * Generated from protobuf field repeated string dimensions = 8; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getDimensions() + { + return $this->dimensions; + } + + /** + * The dimensions the quota is defined on. + * + * Generated from protobuf field repeated string dimensions = 8; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setDimensions($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->dimensions = $arr; + + return $this; + } + + /** + * The display name of the quota metric + * + * Generated from protobuf field string metric_display_name = 9; + * @return string + */ + public function getMetricDisplayName() + { + return $this->metric_display_name; + } + + /** + * The display name of the quota metric + * + * Generated from protobuf field string metric_display_name = 9; + * @param string $var + * @return $this + */ + public function setMetricDisplayName($var) + { + GPBUtil::checkString($var, True); + $this->metric_display_name = $var; + + return $this; + } + + /** + * The display name of the quota. + * + * Generated from protobuf field string quota_display_name = 10; + * @return string + */ + public function getQuotaDisplayName() + { + return $this->quota_display_name; + } + + /** + * The display name of the quota. + * + * Generated from protobuf field string quota_display_name = 10; + * @param string $var + * @return $this + */ + public function setQuotaDisplayName($var) + { + GPBUtil::checkString($var, True); + $this->quota_display_name = $var; + + return $this; + } + + /** + * The unit in which the metric value is reported, e.g., "MByte". + * + * Generated from protobuf field string metric_unit = 11; + * @return string + */ + public function getMetricUnit() + { + return $this->metric_unit; + } + + /** + * The unit in which the metric value is reported, e.g., "MByte". + * + * Generated from protobuf field string metric_unit = 11; + * @param string $var + * @return $this + */ + public function setMetricUnit($var) + { + GPBUtil::checkString($var, True); + $this->metric_unit = $var; + + return $this; + } + + /** + * Whether it is eligible to request a higher quota value for this quota. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaIncreaseEligibility quota_increase_eligibility = 12; + * @return \Google\Cloud\CloudQuotas\V1\QuotaIncreaseEligibility|null + */ + public function getQuotaIncreaseEligibility() + { + return $this->quota_increase_eligibility; + } + + public function hasQuotaIncreaseEligibility() + { + return isset($this->quota_increase_eligibility); + } + + public function clearQuotaIncreaseEligibility() + { + unset($this->quota_increase_eligibility); + } + + /** + * Whether it is eligible to request a higher quota value for this quota. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaIncreaseEligibility quota_increase_eligibility = 12; + * @param \Google\Cloud\CloudQuotas\V1\QuotaIncreaseEligibility $var + * @return $this + */ + public function setQuotaIncreaseEligibility($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\CloudQuotas\V1\QuotaIncreaseEligibility::class); + $this->quota_increase_eligibility = $var; + + return $this; + } + + /** + * Whether the quota value is fixed or adjustable + * + * Generated from protobuf field bool is_fixed = 13; + * @return bool + */ + public function getIsFixed() + { + return $this->is_fixed; + } + + /** + * Whether the quota value is fixed or adjustable + * + * Generated from protobuf field bool is_fixed = 13; + * @param bool $var + * @return $this + */ + public function setIsFixed($var) + { + GPBUtil::checkBool($var); + $this->is_fixed = $var; + + return $this; + } + + /** + * The collection of dimensions info ordered by their dimensions from more + * specific ones to less specific ones. + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.DimensionsInfo dimensions_infos = 14; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getDimensionsInfos() + { + return $this->dimensions_infos; + } + + /** + * The collection of dimensions info ordered by their dimensions from more + * specific ones to less specific ones. + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.DimensionsInfo dimensions_infos = 14; + * @param array<\Google\Cloud\CloudQuotas\V1\DimensionsInfo>|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setDimensionsInfos($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\CloudQuotas\V1\DimensionsInfo::class); + $this->dimensions_infos = $arr; + + return $this; + } + + /** + * Whether the quota is a concurrent quota. Concurrent quotas are enforced + * on the total number of concurrent operations in flight at any given time. + * + * Generated from protobuf field bool is_concurrent = 15; + * @return bool + */ + public function getIsConcurrent() + { + return $this->is_concurrent; + } + + /** + * Whether the quota is a concurrent quota. Concurrent quotas are enforced + * on the total number of concurrent operations in flight at any given time. + * + * Generated from protobuf field bool is_concurrent = 15; + * @param bool $var + * @return $this + */ + public function setIsConcurrent($var) + { + GPBUtil::checkBool($var); + $this->is_concurrent = $var; + + return $this; + } + + /** + * URI to the page where users can request more quota for the cloud + * service—for example, + * https://console.cloud.google.com/iam-admin/quotas. + * + * Generated from protobuf field string service_request_quota_uri = 17; + * @return string + */ + public function getServiceRequestQuotaUri() + { + return $this->service_request_quota_uri; + } + + /** + * URI to the page where users can request more quota for the cloud + * service—for example, + * https://console.cloud.google.com/iam-admin/quotas. + * + * Generated from protobuf field string service_request_quota_uri = 17; + * @param string $var + * @return $this + */ + public function setServiceRequestQuotaUri($var) + { + GPBUtil::checkString($var, True); + $this->service_request_quota_uri = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaInfo/ContainerType.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaInfo/ContainerType.php new file mode 100644 index 000000000000..d571476865a3 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaInfo/ContainerType.php @@ -0,0 +1,71 @@ +google.api.cloudquotas.v1.QuotaInfo.ContainerType + */ +class ContainerType +{ + /** + * Unspecified container type. + * + * Generated from protobuf enum CONTAINER_TYPE_UNSPECIFIED = 0; + */ + const CONTAINER_TYPE_UNSPECIFIED = 0; + /** + * consumer project + * + * Generated from protobuf enum PROJECT = 1; + */ + const PROJECT = 1; + /** + * folder + * + * Generated from protobuf enum FOLDER = 2; + */ + const FOLDER = 2; + /** + * organization + * + * Generated from protobuf enum ORGANIZATION = 3; + */ + const ORGANIZATION = 3; + + private static $valueToName = [ + self::CONTAINER_TYPE_UNSPECIFIED => 'CONTAINER_TYPE_UNSPECIFIED', + self::PROJECT => 'PROJECT', + self::FOLDER => 'FOLDER', + self::ORGANIZATION => 'ORGANIZATION', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + +// Adding a class alias for backwards compatibility with the previous class name. +class_alias(ContainerType::class, \Google\Cloud\CloudQuotas\V1\QuotaInfo_ContainerType::class); + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaPreference.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaPreference.php new file mode 100644 index 000000000000..fde3b44c65a7 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaPreference.php @@ -0,0 +1,543 @@ +google.api.cloudquotas.v1.QuotaPreference + */ +class QuotaPreference extends \Google\Protobuf\Internal\Message +{ + /** + * Required except in the CREATE requests. + * The resource name of the quota preference. + * The ID component following "locations/" must be "global". + * Example: + * `projects/123/locations/global/quotaPreferences/my-config-for-us-east1` + * + * Generated from protobuf field string name = 1; + */ + protected $name = ''; + /** + * Immutable. The dimensions that this quota preference applies to. The key of + * the map entry is the name of a dimension, such as "region", "zone", + * "network_id", and the value of the map entry is the dimension value. + * If a dimension is missing from the map of dimensions, the quota preference + * applies to all the dimension values except for those that have other quota + * preferences configured for the specific value. + * NOTE: QuotaPreferences can only be applied across all values of "user" and + * "resource" dimension. Do not set values for "user" or "resource" in the + * dimension map. + * Example: {"provider", "Foo Inc"} where "provider" is a service specific + * dimension. + * + * Generated from protobuf field map dimensions = 2 [(.google.api.field_behavior) = IMMUTABLE]; + */ + private $dimensions; + /** + * Required. Preferred quota configuration. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaConfig quota_config = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $quota_config = null; + /** + * Optional. The current etag of the quota preference. If an etag is provided + * on update and does not match the current server's etag of the quota + * preference, the request will be blocked and an ABORTED error will be + * returned. See https://google.aip.dev/134#etags for more details on etags. + * + * Generated from protobuf field string etag = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $etag = ''; + /** + * Output only. Create time stamp + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. Update time stamp + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; + /** + * Required. The name of the service to which the quota preference is applied. + * + * Generated from protobuf field string service = 7 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $service = ''; + /** + * Required. The id of the quota to which the quota preference is applied. A + * quota name is unique in the service. Example: `CpusPerProjectPerRegion` + * + * Generated from protobuf field string quota_id = 8 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $quota_id = ''; + /** + * Output only. Is the quota preference pending Google Cloud approval and + * fulfillment. + * + * Generated from protobuf field bool reconciling = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $reconciling = false; + /** + * The reason / justification for this quota preference. + * + * Generated from protobuf field string justification = 11; + */ + protected $justification = ''; + /** + * Input only. An email address that can be used to contact the the user, in + * case Google Cloud needs more information to make a decision before + * additional quota can be granted. + * When requesting a quota increase, the email address is required. + * When requesting a quota decrease, the email address is optional. + * For example, the email address is optional when the + * `QuotaConfig.preferred_value` is smaller than the + * `QuotaDetails.reset_value`. + * + * Generated from protobuf field string contact_email = 12 [(.google.api.field_behavior) = INPUT_ONLY]; + */ + protected $contact_email = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required except in the CREATE requests. + * The resource name of the quota preference. + * The ID component following "locations/" must be "global". + * Example: + * `projects/123/locations/global/quotaPreferences/my-config-for-us-east1` + * @type array|\Google\Protobuf\Internal\MapField $dimensions + * Immutable. The dimensions that this quota preference applies to. The key of + * the map entry is the name of a dimension, such as "region", "zone", + * "network_id", and the value of the map entry is the dimension value. + * If a dimension is missing from the map of dimensions, the quota preference + * applies to all the dimension values except for those that have other quota + * preferences configured for the specific value. + * NOTE: QuotaPreferences can only be applied across all values of "user" and + * "resource" dimension. Do not set values for "user" or "resource" in the + * dimension map. + * Example: {"provider", "Foo Inc"} where "provider" is a service specific + * dimension. + * @type \Google\Cloud\CloudQuotas\V1\QuotaConfig $quota_config + * Required. Preferred quota configuration. + * @type string $etag + * Optional. The current etag of the quota preference. If an etag is provided + * on update and does not match the current server's etag of the quota + * preference, the request will be blocked and an ABORTED error will be + * returned. See https://google.aip.dev/134#etags for more details on etags. + * @type \Google\Protobuf\Timestamp $create_time + * Output only. Create time stamp + * @type \Google\Protobuf\Timestamp $update_time + * Output only. Update time stamp + * @type string $service + * Required. The name of the service to which the quota preference is applied. + * @type string $quota_id + * Required. The id of the quota to which the quota preference is applied. A + * quota name is unique in the service. Example: `CpusPerProjectPerRegion` + * @type bool $reconciling + * Output only. Is the quota preference pending Google Cloud approval and + * fulfillment. + * @type string $justification + * The reason / justification for this quota preference. + * @type string $contact_email + * Input only. An email address that can be used to contact the the user, in + * case Google Cloud needs more information to make a decision before + * additional quota can be granted. + * When requesting a quota increase, the email address is required. + * When requesting a quota decrease, the email address is optional. + * For example, the email address is optional when the + * `QuotaConfig.preferred_value` is smaller than the + * `QuotaDetails.reset_value`. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Resources::initOnce(); + parent::__construct($data); + } + + /** + * Required except in the CREATE requests. + * The resource name of the quota preference. + * The ID component following "locations/" must be "global". + * Example: + * `projects/123/locations/global/quotaPreferences/my-config-for-us-east1` + * + * Generated from protobuf field string name = 1; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required except in the CREATE requests. + * The resource name of the quota preference. + * The ID component following "locations/" must be "global". + * Example: + * `projects/123/locations/global/quotaPreferences/my-config-for-us-east1` + * + * Generated from protobuf field string name = 1; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Immutable. The dimensions that this quota preference applies to. The key of + * the map entry is the name of a dimension, such as "region", "zone", + * "network_id", and the value of the map entry is the dimension value. + * If a dimension is missing from the map of dimensions, the quota preference + * applies to all the dimension values except for those that have other quota + * preferences configured for the specific value. + * NOTE: QuotaPreferences can only be applied across all values of "user" and + * "resource" dimension. Do not set values for "user" or "resource" in the + * dimension map. + * Example: {"provider", "Foo Inc"} where "provider" is a service specific + * dimension. + * + * Generated from protobuf field map dimensions = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * @return \Google\Protobuf\Internal\MapField + */ + public function getDimensions() + { + return $this->dimensions; + } + + /** + * Immutable. The dimensions that this quota preference applies to. The key of + * the map entry is the name of a dimension, such as "region", "zone", + * "network_id", and the value of the map entry is the dimension value. + * If a dimension is missing from the map of dimensions, the quota preference + * applies to all the dimension values except for those that have other quota + * preferences configured for the specific value. + * NOTE: QuotaPreferences can only be applied across all values of "user" and + * "resource" dimension. Do not set values for "user" or "resource" in the + * dimension map. + * Example: {"provider", "Foo Inc"} where "provider" is a service specific + * dimension. + * + * Generated from protobuf field map dimensions = 2 [(.google.api.field_behavior) = IMMUTABLE]; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setDimensions($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING); + $this->dimensions = $arr; + + return $this; + } + + /** + * Required. Preferred quota configuration. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaConfig quota_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\CloudQuotas\V1\QuotaConfig|null + */ + public function getQuotaConfig() + { + return $this->quota_config; + } + + public function hasQuotaConfig() + { + return isset($this->quota_config); + } + + public function clearQuotaConfig() + { + unset($this->quota_config); + } + + /** + * Required. Preferred quota configuration. + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaConfig quota_config = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\CloudQuotas\V1\QuotaConfig $var + * @return $this + */ + public function setQuotaConfig($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\CloudQuotas\V1\QuotaConfig::class); + $this->quota_config = $var; + + return $this; + } + + /** + * Optional. The current etag of the quota preference. If an etag is provided + * on update and does not match the current server's etag of the quota + * preference, the request will be blocked and an ABORTED error will be + * returned. See https://google.aip.dev/134#etags for more details on etags. + * + * Generated from protobuf field string etag = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getEtag() + { + return $this->etag; + } + + /** + * Optional. The current etag of the quota preference. If an etag is provided + * on update and does not match the current server's etag of the quota + * preference, the request will be blocked and an ABORTED error will be + * returned. See https://google.aip.dev/134#etags for more details on etags. + * + * Generated from protobuf field string etag = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setEtag($var) + { + GPBUtil::checkString($var, True); + $this->etag = $var; + + return $this; + } + + /** + * Output only. Create time stamp + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. Create time stamp + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. Update time stamp + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. Update time stamp + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + + /** + * Required. The name of the service to which the quota preference is applied. + * + * Generated from protobuf field string service = 7 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getService() + { + return $this->service; + } + + /** + * Required. The name of the service to which the quota preference is applied. + * + * Generated from protobuf field string service = 7 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setService($var) + { + GPBUtil::checkString($var, True); + $this->service = $var; + + return $this; + } + + /** + * Required. The id of the quota to which the quota preference is applied. A + * quota name is unique in the service. Example: `CpusPerProjectPerRegion` + * + * Generated from protobuf field string quota_id = 8 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getQuotaId() + { + return $this->quota_id; + } + + /** + * Required. The id of the quota to which the quota preference is applied. A + * quota name is unique in the service. Example: `CpusPerProjectPerRegion` + * + * Generated from protobuf field string quota_id = 8 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setQuotaId($var) + { + GPBUtil::checkString($var, True); + $this->quota_id = $var; + + return $this; + } + + /** + * Output only. Is the quota preference pending Google Cloud approval and + * fulfillment. + * + * Generated from protobuf field bool reconciling = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return bool + */ + public function getReconciling() + { + return $this->reconciling; + } + + /** + * Output only. Is the quota preference pending Google Cloud approval and + * fulfillment. + * + * Generated from protobuf field bool reconciling = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param bool $var + * @return $this + */ + public function setReconciling($var) + { + GPBUtil::checkBool($var); + $this->reconciling = $var; + + return $this; + } + + /** + * The reason / justification for this quota preference. + * + * Generated from protobuf field string justification = 11; + * @return string + */ + public function getJustification() + { + return $this->justification; + } + + /** + * The reason / justification for this quota preference. + * + * Generated from protobuf field string justification = 11; + * @param string $var + * @return $this + */ + public function setJustification($var) + { + GPBUtil::checkString($var, True); + $this->justification = $var; + + return $this; + } + + /** + * Input only. An email address that can be used to contact the the user, in + * case Google Cloud needs more information to make a decision before + * additional quota can be granted. + * When requesting a quota increase, the email address is required. + * When requesting a quota decrease, the email address is optional. + * For example, the email address is optional when the + * `QuotaConfig.preferred_value` is smaller than the + * `QuotaDetails.reset_value`. + * + * Generated from protobuf field string contact_email = 12 [(.google.api.field_behavior) = INPUT_ONLY]; + * @return string + */ + public function getContactEmail() + { + return $this->contact_email; + } + + /** + * Input only. An email address that can be used to contact the the user, in + * case Google Cloud needs more information to make a decision before + * additional quota can be granted. + * When requesting a quota increase, the email address is required. + * When requesting a quota decrease, the email address is optional. + * For example, the email address is optional when the + * `QuotaConfig.preferred_value` is smaller than the + * `QuotaDetails.reset_value`. + * + * Generated from protobuf field string contact_email = 12 [(.google.api.field_behavior) = INPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setContactEmail($var) + { + GPBUtil::checkString($var, True); + $this->contact_email = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaSafetyCheck.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaSafetyCheck.php new file mode 100644 index 000000000000..659dd6869ac3 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/QuotaSafetyCheck.php @@ -0,0 +1,63 @@ +google.api.cloudquotas.v1.QuotaSafetyCheck + */ +class QuotaSafetyCheck +{ + /** + * Unspecified quota safety check. + * + * Generated from protobuf enum QUOTA_SAFETY_CHECK_UNSPECIFIED = 0; + */ + const QUOTA_SAFETY_CHECK_UNSPECIFIED = 0; + /** + * Validates that a quota mutation would not cause the consumer's effective + * limit to be lower than the consumer's quota usage. + * + * Generated from protobuf enum QUOTA_DECREASE_BELOW_USAGE = 1; + */ + const QUOTA_DECREASE_BELOW_USAGE = 1; + /** + * Validates that a quota mutation would not cause the consumer's effective + * limit to decrease by more than 10 percent. + * + * Generated from protobuf enum QUOTA_DECREASE_PERCENTAGE_TOO_HIGH = 2; + */ + const QUOTA_DECREASE_PERCENTAGE_TOO_HIGH = 2; + + private static $valueToName = [ + self::QUOTA_SAFETY_CHECK_UNSPECIFIED => 'QUOTA_SAFETY_CHECK_UNSPECIFIED', + self::QUOTA_DECREASE_BELOW_USAGE => 'QUOTA_DECREASE_BELOW_USAGE', + self::QUOTA_DECREASE_PERCENTAGE_TOO_HIGH => 'QUOTA_DECREASE_PERCENTAGE_TOO_HIGH', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/RolloutInfo.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/RolloutInfo.php new file mode 100644 index 000000000000..1d0c7e5fec54 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/RolloutInfo.php @@ -0,0 +1,67 @@ +google.api.cloudquotas.v1.RolloutInfo + */ +class RolloutInfo extends \Google\Protobuf\Internal\Message +{ + /** + * Whether there is an ongoing rollout for a quota or not. + * + * Generated from protobuf field bool ongoing_rollout = 1; + */ + protected $ongoing_rollout = false; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type bool $ongoing_rollout + * Whether there is an ongoing rollout for a quota or not. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Resources::initOnce(); + parent::__construct($data); + } + + /** + * Whether there is an ongoing rollout for a quota or not. + * + * Generated from protobuf field bool ongoing_rollout = 1; + * @return bool + */ + public function getOngoingRollout() + { + return $this->ongoing_rollout; + } + + /** + * Whether there is an ongoing rollout for a quota or not. + * + * Generated from protobuf field bool ongoing_rollout = 1; + * @param bool $var + * @return $this + */ + public function setOngoingRollout($var) + { + GPBUtil::checkBool($var); + $this->ongoing_rollout = $var; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/UpdateQuotaPreferenceRequest.php b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/UpdateQuotaPreferenceRequest.php new file mode 100644 index 000000000000..adb2aaf264fa --- /dev/null +++ b/owl-bot-staging/Quotas/v1/proto/src/Google/Cloud/CloudQuotas/V1/UpdateQuotaPreferenceRequest.php @@ -0,0 +1,270 @@ +google.api.cloudquotas.v1.UpdateQuotaPreferenceRequest + */ +class UpdateQuotaPreferenceRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Field mask is used to specify the fields to be overwritten in the + * QuotaPreference resource by the update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. If the + * user does not provide a mask then all fields will be overwritten. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $update_mask = null; + /** + * Required. The resource being updated + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaPreference quota_preference = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $quota_preference = null; + /** + * Optional. If set to true, and the quota preference is not found, a new one + * will be created. In this situation, `update_mask` is ignored. + * + * Generated from protobuf field bool allow_missing = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $allow_missing = false; + /** + * Optional. If set to true, validate the request, but do not actually update. + * Note that a request being valid does not mean that the request is + * guaranteed to be fulfilled. + * + * Generated from protobuf field bool validate_only = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $validate_only = false; + /** + * The list of quota safety checks to be ignored. + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaSafetyCheck ignore_safety_checks = 5; + */ + private $ignore_safety_checks; + + /** + * @param \Google\Cloud\CloudQuotas\V1\QuotaPreference $quotaPreference Required. The resource being updated + * @param \Google\Protobuf\FieldMask $updateMask Optional. Field mask is used to specify the fields to be overwritten in the + * QuotaPreference resource by the update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. If the + * user does not provide a mask then all fields will be overwritten. + * + * @return \Google\Cloud\CloudQuotas\V1\UpdateQuotaPreferenceRequest + * + * @experimental + */ + public static function build(\Google\Cloud\CloudQuotas\V1\QuotaPreference $quotaPreference, \Google\Protobuf\FieldMask $updateMask): self + { + return (new self()) + ->setQuotaPreference($quotaPreference) + ->setUpdateMask($updateMask); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\FieldMask $update_mask + * Optional. Field mask is used to specify the fields to be overwritten in the + * QuotaPreference resource by the update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. If the + * user does not provide a mask then all fields will be overwritten. + * @type \Google\Cloud\CloudQuotas\V1\QuotaPreference $quota_preference + * Required. The resource being updated + * @type bool $allow_missing + * Optional. If set to true, and the quota preference is not found, a new one + * will be created. In this situation, `update_mask` is ignored. + * @type bool $validate_only + * Optional. If set to true, validate the request, but do not actually update. + * Note that a request being valid does not mean that the request is + * guaranteed to be fulfilled. + * @type array|\Google\Protobuf\Internal\RepeatedField $ignore_safety_checks + * The list of quota safety checks to be ignored. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Api\Cloudquotas\V1\Cloudquotas::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Field mask is used to specify the fields to be overwritten in the + * QuotaPreference resource by the update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. If the + * user does not provide a mask then all fields will be overwritten. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\FieldMask|null + */ + public function getUpdateMask() + { + return $this->update_mask; + } + + public function hasUpdateMask() + { + return isset($this->update_mask); + } + + public function clearUpdateMask() + { + unset($this->update_mask); + } + + /** + * Optional. Field mask is used to specify the fields to be overwritten in the + * QuotaPreference resource by the update. + * The fields specified in the update_mask are relative to the resource, not + * the full request. A field will be overwritten if it is in the mask. If the + * user does not provide a mask then all fields will be overwritten. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\FieldMask $var + * @return $this + */ + public function setUpdateMask($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class); + $this->update_mask = $var; + + return $this; + } + + /** + * Required. The resource being updated + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaPreference quota_preference = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\CloudQuotas\V1\QuotaPreference|null + */ + public function getQuotaPreference() + { + return $this->quota_preference; + } + + public function hasQuotaPreference() + { + return isset($this->quota_preference); + } + + public function clearQuotaPreference() + { + unset($this->quota_preference); + } + + /** + * Required. The resource being updated + * + * Generated from protobuf field .google.api.cloudquotas.v1.QuotaPreference quota_preference = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\CloudQuotas\V1\QuotaPreference $var + * @return $this + */ + public function setQuotaPreference($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\CloudQuotas\V1\QuotaPreference::class); + $this->quota_preference = $var; + + return $this; + } + + /** + * Optional. If set to true, and the quota preference is not found, a new one + * will be created. In this situation, `update_mask` is ignored. + * + * Generated from protobuf field bool allow_missing = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getAllowMissing() + { + return $this->allow_missing; + } + + /** + * Optional. If set to true, and the quota preference is not found, a new one + * will be created. In this situation, `update_mask` is ignored. + * + * Generated from protobuf field bool allow_missing = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setAllowMissing($var) + { + GPBUtil::checkBool($var); + $this->allow_missing = $var; + + return $this; + } + + /** + * Optional. If set to true, validate the request, but do not actually update. + * Note that a request being valid does not mean that the request is + * guaranteed to be fulfilled. + * + * Generated from protobuf field bool validate_only = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getValidateOnly() + { + return $this->validate_only; + } + + /** + * Optional. If set to true, validate the request, but do not actually update. + * Note that a request being valid does not mean that the request is + * guaranteed to be fulfilled. + * + * Generated from protobuf field bool validate_only = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setValidateOnly($var) + { + GPBUtil::checkBool($var); + $this->validate_only = $var; + + return $this; + } + + /** + * The list of quota safety checks to be ignored. + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaSafetyCheck ignore_safety_checks = 5; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getIgnoreSafetyChecks() + { + return $this->ignore_safety_checks; + } + + /** + * The list of quota safety checks to be ignored. + * + * Generated from protobuf field repeated .google.api.cloudquotas.v1.QuotaSafetyCheck ignore_safety_checks = 5; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setIgnoreSafetyChecks($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Cloud\CloudQuotas\V1\QuotaSafetyCheck::class); + $this->ignore_safety_checks = $arr; + + return $this; + } + +} + diff --git a/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/create_quota_preference.php b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/create_quota_preference.php new file mode 100644 index 000000000000..0ce0e3044216 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/create_quota_preference.php @@ -0,0 +1,99 @@ +setPreferredValue($quotaPreferenceQuotaConfigPreferredValue); + $quotaPreference = (new QuotaPreference()) + ->setQuotaConfig($quotaPreferenceQuotaConfig) + ->setService($quotaPreferenceService) + ->setQuotaId($quotaPreferenceQuotaId); + $request = (new CreateQuotaPreferenceRequest()) + ->setParent($formattedParent) + ->setQuotaPreference($quotaPreference); + + // Call the API and handle any network failures. + try { + /** @var QuotaPreference $response */ + $response = $cloudQuotasClient->createQuotaPreference($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CloudQuotasClient::locationName('[PROJECT]', '[LOCATION]'); + $quotaPreferenceQuotaConfigPreferredValue = 0; + $quotaPreferenceService = '[SERVICE]'; + $quotaPreferenceQuotaId = '[QUOTA_ID]'; + + create_quota_preference_sample( + $formattedParent, + $quotaPreferenceQuotaConfigPreferredValue, + $quotaPreferenceService, + $quotaPreferenceQuotaId + ); +} +// [END cloudquotas_v1_generated_CloudQuotas_CreateQuotaPreference_sync] diff --git a/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/get_quota_info.php b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/get_quota_info.php new file mode 100644 index 000000000000..4a0cea6ac5a3 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/get_quota_info.php @@ -0,0 +1,79 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var QuotaInfo $response */ + $response = $cloudQuotasClient->getQuotaInfo($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CloudQuotasClient::quotaInfoName( + '[PROJECT]', + '[LOCATION]', + '[SERVICE]', + '[QUOTA_INFO]' + ); + + get_quota_info_sample($formattedName); +} +// [END cloudquotas_v1_generated_CloudQuotas_GetQuotaInfo_sync] diff --git a/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/get_quota_preference.php b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/get_quota_preference.php new file mode 100644 index 000000000000..9ef87f2cde11 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/get_quota_preference.php @@ -0,0 +1,78 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var QuotaPreference $response */ + $response = $cloudQuotasClient->getQuotaPreference($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = CloudQuotasClient::quotaPreferenceName( + '[PROJECT]', + '[LOCATION]', + '[QUOTA_PREFERENCE]' + ); + + get_quota_preference_sample($formattedName); +} +// [END cloudquotas_v1_generated_CloudQuotas_GetQuotaPreference_sync] diff --git a/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/list_quota_infos.php b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/list_quota_infos.php new file mode 100644 index 000000000000..6b69cee4cc76 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/list_quota_infos.php @@ -0,0 +1,83 @@ +setParent($formattedParent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $cloudQuotasClient->listQuotaInfos($request); + + /** @var QuotaInfo $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CloudQuotasClient::serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + + list_quota_infos_sample($formattedParent); +} +// [END cloudquotas_v1_generated_CloudQuotas_ListQuotaInfos_sync] diff --git a/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/list_quota_preferences.php b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/list_quota_preferences.php new file mode 100644 index 000000000000..54fa1a273da9 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/list_quota_preferences.php @@ -0,0 +1,85 @@ +setParent($formattedParent); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $cloudQuotasClient->listQuotaPreferences($request); + + /** @var QuotaPreference $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = CloudQuotasClient::locationName('[PROJECT]', '[LOCATION]'); + + list_quota_preferences_sample($formattedParent); +} +// [END cloudquotas_v1_generated_CloudQuotas_ListQuotaPreferences_sync] diff --git a/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/update_quota_preference.php b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/update_quota_preference.php new file mode 100644 index 000000000000..b8e6bc6b5af3 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/samples/V1/CloudQuotasClient/update_quota_preference.php @@ -0,0 +1,91 @@ +setPreferredValue($quotaPreferenceQuotaConfigPreferredValue); + $quotaPreference = (new QuotaPreference()) + ->setQuotaConfig($quotaPreferenceQuotaConfig) + ->setService($quotaPreferenceService) + ->setQuotaId($quotaPreferenceQuotaId); + $request = (new UpdateQuotaPreferenceRequest()) + ->setQuotaPreference($quotaPreference); + + // Call the API and handle any network failures. + try { + /** @var QuotaPreference $response */ + $response = $cloudQuotasClient->updateQuotaPreference($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $quotaPreferenceQuotaConfigPreferredValue = 0; + $quotaPreferenceService = '[SERVICE]'; + $quotaPreferenceQuotaId = '[QUOTA_ID]'; + + update_quota_preference_sample( + $quotaPreferenceQuotaConfigPreferredValue, + $quotaPreferenceService, + $quotaPreferenceQuotaId + ); +} +// [END cloudquotas_v1_generated_CloudQuotas_UpdateQuotaPreference_sync] diff --git a/owl-bot-staging/Quotas/v1/src/V1/Client/CloudQuotasClient.php b/owl-bot-staging/Quotas/v1/src/V1/Client/CloudQuotasClient.php new file mode 100644 index 000000000000..eeb11abe8efe --- /dev/null +++ b/owl-bot-staging/Quotas/v1/src/V1/Client/CloudQuotasClient.php @@ -0,0 +1,688 @@ + createQuotaPreferenceAsync(CreateQuotaPreferenceRequest $request, array $optionalArgs = []) + * @method PromiseInterface getQuotaInfoAsync(GetQuotaInfoRequest $request, array $optionalArgs = []) + * @method PromiseInterface getQuotaPreferenceAsync(GetQuotaPreferenceRequest $request, array $optionalArgs = []) + * @method PromiseInterface listQuotaInfosAsync(ListQuotaInfosRequest $request, array $optionalArgs = []) + * @method PromiseInterface listQuotaPreferencesAsync(ListQuotaPreferencesRequest $request, array $optionalArgs = []) + * @method PromiseInterface updateQuotaPreferenceAsync(UpdateQuotaPreferenceRequest $request, array $optionalArgs = []) + */ +final class CloudQuotasClient +{ + use GapicClientTrait; + use ResourceHelperTrait; + + /** The name of the service. */ + private const SERVICE_NAME = 'google.api.cloudquotas.v1.CloudQuotas'; + + /** + * The default address of the service. + * + * @deprecated SERVICE_ADDRESS_TEMPLATE should be used instead. + */ + private const SERVICE_ADDRESS = 'cloudquotas.googleapis.com'; + + /** The address template of the service. */ + private const SERVICE_ADDRESS_TEMPLATE = 'cloudquotas.UNIVERSE_DOMAIN'; + + /** The default port of the service. */ + private const DEFAULT_SERVICE_PORT = 443; + + /** The name of the code generator, to be included in the agent header. */ + private const CODEGEN_NAME = 'gapic'; + + /** The default scopes required by the service. */ + public static $serviceScopes = [ + 'https://www.googleapis.com/auth/cloud-platform', + ]; + + private static function getClientDefaults() + { + return [ + 'serviceName' => self::SERVICE_NAME, + 'apiEndpoint' => self::SERVICE_ADDRESS . ':' . self::DEFAULT_SERVICE_PORT, + 'clientConfig' => __DIR__ . '/../resources/cloud_quotas_client_config.json', + 'descriptorsConfigPath' => __DIR__ . '/../resources/cloud_quotas_descriptor_config.php', + 'gcpApiConfigPath' => __DIR__ . '/../resources/cloud_quotas_grpc_config.json', + 'credentialsConfig' => [ + 'defaultScopes' => self::$serviceScopes, + ], + 'transportConfig' => [ + 'rest' => [ + 'restClientConfigPath' => __DIR__ . '/../resources/cloud_quotas_rest_client_config.php', + ], + ], + ]; + } + + /** + * Formats a string containing the fully-qualified path to represent a + * folder_location resource. + * + * @param string $folder + * @param string $location + * + * @return string The formatted folder_location resource. + */ + public static function folderLocationName(string $folder, string $location): string + { + return self::getPathTemplate('folderLocation')->render([ + 'folder' => $folder, + 'location' => $location, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * folder_location_quota_preference resource. + * + * @param string $folder + * @param string $location + * @param string $quotaPreference + * + * @return string The formatted folder_location_quota_preference resource. + */ + public static function folderLocationQuotaPreferenceName(string $folder, string $location, string $quotaPreference): string + { + return self::getPathTemplate('folderLocationQuotaPreference')->render([ + 'folder' => $folder, + 'location' => $location, + 'quota_preference' => $quotaPreference, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * folder_location_service resource. + * + * @param string $folder + * @param string $location + * @param string $service + * + * @return string The formatted folder_location_service resource. + */ + public static function folderLocationServiceName(string $folder, string $location, string $service): string + { + return self::getPathTemplate('folderLocationService')->render([ + 'folder' => $folder, + 'location' => $location, + 'service' => $service, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * folder_location_service_quota_info resource. + * + * @param string $folder + * @param string $location + * @param string $service + * @param string $quotaInfo + * + * @return string The formatted folder_location_service_quota_info resource. + */ + public static function folderLocationServiceQuotaInfoName(string $folder, string $location, string $service, string $quotaInfo): string + { + return self::getPathTemplate('folderLocationServiceQuotaInfo')->render([ + 'folder' => $folder, + 'location' => $location, + 'service' => $service, + 'quota_info' => $quotaInfo, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a location + * resource. + * + * @param string $project + * @param string $location + * + * @return string The formatted location resource. + */ + public static function locationName(string $project, string $location): string + { + return self::getPathTemplate('location')->render([ + 'project' => $project, + 'location' => $location, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * organization_location resource. + * + * @param string $organization + * @param string $location + * + * @return string The formatted organization_location resource. + */ + public static function organizationLocationName(string $organization, string $location): string + { + return self::getPathTemplate('organizationLocation')->render([ + 'organization' => $organization, + 'location' => $location, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * organization_location_quota_preference resource. + * + * @param string $organization + * @param string $location + * @param string $quotaPreference + * + * @return string The formatted organization_location_quota_preference resource. + */ + public static function organizationLocationQuotaPreferenceName(string $organization, string $location, string $quotaPreference): string + { + return self::getPathTemplate('organizationLocationQuotaPreference')->render([ + 'organization' => $organization, + 'location' => $location, + 'quota_preference' => $quotaPreference, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * organization_location_service resource. + * + * @param string $organization + * @param string $location + * @param string $service + * + * @return string The formatted organization_location_service resource. + */ + public static function organizationLocationServiceName(string $organization, string $location, string $service): string + { + return self::getPathTemplate('organizationLocationService')->render([ + 'organization' => $organization, + 'location' => $location, + 'service' => $service, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * organization_location_service_quota_info resource. + * + * @param string $organization + * @param string $location + * @param string $service + * @param string $quotaInfo + * + * @return string The formatted organization_location_service_quota_info resource. + */ + public static function organizationLocationServiceQuotaInfoName(string $organization, string $location, string $service, string $quotaInfo): string + { + return self::getPathTemplate('organizationLocationServiceQuotaInfo')->render([ + 'organization' => $organization, + 'location' => $location, + 'service' => $service, + 'quota_info' => $quotaInfo, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * project_location resource. + * + * @param string $project + * @param string $location + * + * @return string The formatted project_location resource. + */ + public static function projectLocationName(string $project, string $location): string + { + return self::getPathTemplate('projectLocation')->render([ + 'project' => $project, + 'location' => $location, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * project_location_quota_preference resource. + * + * @param string $project + * @param string $location + * @param string $quotaPreference + * + * @return string The formatted project_location_quota_preference resource. + */ + public static function projectLocationQuotaPreferenceName(string $project, string $location, string $quotaPreference): string + { + return self::getPathTemplate('projectLocationQuotaPreference')->render([ + 'project' => $project, + 'location' => $location, + 'quota_preference' => $quotaPreference, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * project_location_service resource. + * + * @param string $project + * @param string $location + * @param string $service + * + * @return string The formatted project_location_service resource. + */ + public static function projectLocationServiceName(string $project, string $location, string $service): string + { + return self::getPathTemplate('projectLocationService')->render([ + 'project' => $project, + 'location' => $location, + 'service' => $service, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * project_location_service_quota_info resource. + * + * @param string $project + * @param string $location + * @param string $service + * @param string $quotaInfo + * + * @return string The formatted project_location_service_quota_info resource. + */ + public static function projectLocationServiceQuotaInfoName(string $project, string $location, string $service, string $quotaInfo): string + { + return self::getPathTemplate('projectLocationServiceQuotaInfo')->render([ + 'project' => $project, + 'location' => $location, + 'service' => $service, + 'quota_info' => $quotaInfo, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a quota_info + * resource. + * + * @param string $project + * @param string $location + * @param string $service + * @param string $quotaInfo + * + * @return string The formatted quota_info resource. + */ + public static function quotaInfoName(string $project, string $location, string $service, string $quotaInfo): string + { + return self::getPathTemplate('quotaInfo')->render([ + 'project' => $project, + 'location' => $location, + 'service' => $service, + 'quota_info' => $quotaInfo, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a + * quota_preference resource. + * + * @param string $project + * @param string $location + * @param string $quotaPreference + * + * @return string The formatted quota_preference resource. + */ + public static function quotaPreferenceName(string $project, string $location, string $quotaPreference): string + { + return self::getPathTemplate('quotaPreference')->render([ + 'project' => $project, + 'location' => $location, + 'quota_preference' => $quotaPreference, + ]); + } + + /** + * Formats a string containing the fully-qualified path to represent a service + * resource. + * + * @param string $project + * @param string $location + * @param string $service + * + * @return string The formatted service resource. + */ + public static function serviceName(string $project, string $location, string $service): string + { + return self::getPathTemplate('service')->render([ + 'project' => $project, + 'location' => $location, + 'service' => $service, + ]); + } + + /** + * Parses a formatted name string and returns an associative array of the components in the name. + * The following name formats are supported: + * Template: Pattern + * - folderLocation: folders/{folder}/locations/{location} + * - folderLocationQuotaPreference: folders/{folder}/locations/{location}/quotaPreferences/{quota_preference} + * - folderLocationService: folders/{folder}/locations/{location}/services/{service} + * - folderLocationServiceQuotaInfo: folders/{folder}/locations/{location}/services/{service}/quotaInfos/{quota_info} + * - location: projects/{project}/locations/{location} + * - organizationLocation: organizations/{organization}/locations/{location} + * - organizationLocationQuotaPreference: organizations/{organization}/locations/{location}/quotaPreferences/{quota_preference} + * - organizationLocationService: organizations/{organization}/locations/{location}/services/{service} + * - organizationLocationServiceQuotaInfo: organizations/{organization}/locations/{location}/services/{service}/quotaInfos/{quota_info} + * - projectLocation: projects/{project}/locations/{location} + * - projectLocationQuotaPreference: projects/{project}/locations/{location}/quotaPreferences/{quota_preference} + * - projectLocationService: projects/{project}/locations/{location}/services/{service} + * - projectLocationServiceQuotaInfo: projects/{project}/locations/{location}/services/{service}/quotaInfos/{quota_info} + * - quotaInfo: projects/{project}/locations/{location}/services/{service}/quotaInfos/{quota_info} + * - quotaPreference: projects/{project}/locations/{location}/quotaPreferences/{quota_preference} + * - service: projects/{project}/locations/{location}/services/{service} + * + * The optional $template argument can be supplied to specify a particular pattern, + * and must match one of the templates listed above. If no $template argument is + * provided, or if the $template argument does not match one of the templates + * listed, then parseName will check each of the supported templates, and return + * the first match. + * + * @param string $formattedName The formatted name string + * @param string $template Optional name of template to match + * + * @return array An associative array from name component IDs to component values. + * + * @throws ValidationException If $formattedName could not be matched. + */ + public static function parseName(string $formattedName, string $template = null): array + { + return self::parseFormattedName($formattedName, $template); + } + + /** + * Constructor. + * + * @param array $options { + * Optional. Options for configuring the service API wrapper. + * + * @type string $apiEndpoint + * The address of the API remote host. May optionally include the port, formatted + * as ":". Default 'cloudquotas.googleapis.com:443'. + * @type string|array|FetchAuthTokenInterface|CredentialsWrapper $credentials + * The credentials to be used by the client to authorize API calls. This option + * accepts either a path to a credentials file, or a decoded credentials file as a + * PHP array. + * *Advanced usage*: In addition, this option can also accept a pre-constructed + * {@see \Google\Auth\FetchAuthTokenInterface} object or + * {@see \Google\ApiCore\CredentialsWrapper} object. Note that when one of these + * objects are provided, any settings in $credentialsConfig will be ignored. + * @type array $credentialsConfig + * Options used to configure credentials, including auth token caching, for the + * client. For a full list of supporting configuration options, see + * {@see \Google\ApiCore\CredentialsWrapper::build()} . + * @type bool $disableRetries + * Determines whether or not retries defined by the client configuration should be + * disabled. Defaults to `false`. + * @type string|array $clientConfig + * Client method configuration, including retry settings. This option can be either + * a path to a JSON file, or a PHP array containing the decoded JSON data. By + * default this settings points to the default client config file, which is + * provided in the resources folder. + * @type string|TransportInterface $transport + * The transport used for executing network requests. May be either the string + * `rest` or `grpc`. Defaults to `grpc` if gRPC support is detected on the system. + * *Advanced usage*: Additionally, it is possible to pass in an already + * instantiated {@see \Google\ApiCore\Transport\TransportInterface} object. Note + * that when this object is provided, any settings in $transportConfig, and any + * $apiEndpoint setting, will be ignored. + * @type array $transportConfig + * Configuration options that will be used to construct the transport. Options for + * each supported transport type should be passed in a key for that transport. For + * example: + * $transportConfig = [ + * 'grpc' => [...], + * 'rest' => [...], + * ]; + * See the {@see \Google\ApiCore\Transport\GrpcTransport::build()} and + * {@see \Google\ApiCore\Transport\RestTransport::build()} methods for the + * supported options. + * @type callable $clientCertSource + * A callable which returns the client cert as a string. This can be used to + * provide a certificate and private key to the transport layer for mTLS. + * } + * + * @throws ValidationException + */ + public function __construct(array $options = []) + { + $clientOptions = $this->buildClientOptions($options); + $this->setClientOptions($clientOptions); + } + + /** Handles execution of the async variants for each documented method. */ + public function __call($method, $args) + { + if (substr($method, -5) !== 'Async') { + trigger_error('Call to undefined method ' . __CLASS__ . "::$method()", E_USER_ERROR); + } + + array_unshift($args, substr($method, 0, -5)); + return call_user_func_array([$this, 'startAsyncCall'], $args); + } + + /** + * Creates a new QuotaPreference that declares the desired value for a quota. + * + * The async variant is {@see CloudQuotasClient::createQuotaPreferenceAsync()} . + * + * @example samples/V1/CloudQuotasClient/create_quota_preference.php + * + * @param CreateQuotaPreferenceRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return QuotaPreference + * + * @throws ApiException Thrown if the API call fails. + */ + public function createQuotaPreference(CreateQuotaPreferenceRequest $request, array $callOptions = []): QuotaPreference + { + return $this->startApiCall('CreateQuotaPreference', $request, $callOptions)->wait(); + } + + /** + * Retrieve the QuotaInfo of a quota for a project, folder or organization. + * + * The async variant is {@see CloudQuotasClient::getQuotaInfoAsync()} . + * + * @example samples/V1/CloudQuotasClient/get_quota_info.php + * + * @param GetQuotaInfoRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return QuotaInfo + * + * @throws ApiException Thrown if the API call fails. + */ + public function getQuotaInfo(GetQuotaInfoRequest $request, array $callOptions = []): QuotaInfo + { + return $this->startApiCall('GetQuotaInfo', $request, $callOptions)->wait(); + } + + /** + * Gets details of a single QuotaPreference. + * + * The async variant is {@see CloudQuotasClient::getQuotaPreferenceAsync()} . + * + * @example samples/V1/CloudQuotasClient/get_quota_preference.php + * + * @param GetQuotaPreferenceRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return QuotaPreference + * + * @throws ApiException Thrown if the API call fails. + */ + public function getQuotaPreference(GetQuotaPreferenceRequest $request, array $callOptions = []): QuotaPreference + { + return $this->startApiCall('GetQuotaPreference', $request, $callOptions)->wait(); + } + + /** + * Lists QuotaInfos of all quotas for a given project, folder or organization. + * + * The async variant is {@see CloudQuotasClient::listQuotaInfosAsync()} . + * + * @example samples/V1/CloudQuotasClient/list_quota_infos.php + * + * @param ListQuotaInfosRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function listQuotaInfos(ListQuotaInfosRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('ListQuotaInfos', $request, $callOptions); + } + + /** + * Lists QuotaPreferences in a given project, folder or organization. + * + * The async variant is {@see CloudQuotasClient::listQuotaPreferencesAsync()} . + * + * @example samples/V1/CloudQuotasClient/list_quota_preferences.php + * + * @param ListQuotaPreferencesRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function listQuotaPreferences(ListQuotaPreferencesRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('ListQuotaPreferences', $request, $callOptions); + } + + /** + * Updates the parameters of a single QuotaPreference. It can updates the + * config in any states, not just the ones pending approval. + * + * The async variant is {@see CloudQuotasClient::updateQuotaPreferenceAsync()} . + * + * @example samples/V1/CloudQuotasClient/update_quota_preference.php + * + * @param UpdateQuotaPreferenceRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return QuotaPreference + * + * @throws ApiException Thrown if the API call fails. + */ + public function updateQuotaPreference(UpdateQuotaPreferenceRequest $request, array $callOptions = []): QuotaPreference + { + return $this->startApiCall('UpdateQuotaPreference', $request, $callOptions)->wait(); + } +} diff --git a/owl-bot-staging/Quotas/v1/src/V1/gapic_metadata.json b/owl-bot-staging/Quotas/v1/src/V1/gapic_metadata.json new file mode 100644 index 000000000000..79ee8e757dba --- /dev/null +++ b/owl-bot-staging/Quotas/v1/src/V1/gapic_metadata.json @@ -0,0 +1,48 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services\/RPCs to the corresponding library clients\/methods", + "language": "php", + "protoPackage": "google.api.cloudquotas.v1", + "libraryPackage": "Google\\Cloud\\CloudQuotas\\V1", + "services": { + "CloudQuotas": { + "clients": { + "grpc": { + "libraryClient": "CloudQuotasGapicClient", + "rpcs": { + "CreateQuotaPreference": { + "methods": [ + "createQuotaPreference" + ] + }, + "GetQuotaInfo": { + "methods": [ + "getQuotaInfo" + ] + }, + "GetQuotaPreference": { + "methods": [ + "getQuotaPreference" + ] + }, + "ListQuotaInfos": { + "methods": [ + "listQuotaInfos" + ] + }, + "ListQuotaPreferences": { + "methods": [ + "listQuotaPreferences" + ] + }, + "UpdateQuotaPreference": { + "methods": [ + "updateQuotaPreference" + ] + } + } + } + } + } + } +} \ No newline at end of file diff --git a/owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_client_config.json b/owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_client_config.json new file mode 100644 index 000000000000..ae40b97f70f5 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_client_config.json @@ -0,0 +1,64 @@ +{ + "interfaces": { + "google.api.cloudquotas.v1.CloudQuotas": { + "retry_codes": { + "no_retry_codes": [], + "retry_policy_1_codes": [ + "UNAVAILABLE" + ] + }, + "retry_params": { + "no_retry_params": { + "initial_retry_delay_millis": 0, + "retry_delay_multiplier": 0.0, + "max_retry_delay_millis": 0, + "initial_rpc_timeout_millis": 0, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 0, + "total_timeout_millis": 0 + }, + "retry_policy_1_params": { + "initial_retry_delay_millis": 1000, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 10000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1.0, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 60000 + } + }, + "methods": { + "CreateQuotaPreference": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "GetQuotaInfo": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "GetQuotaPreference": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "ListQuotaInfos": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "ListQuotaPreferences": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + }, + "UpdateQuotaPreference": { + "timeout_millis": 60000, + "retry_codes_name": "retry_policy_1_codes", + "retry_params_name": "retry_policy_1_params" + } + } + } + } +} diff --git a/owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_descriptor_config.php b/owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_descriptor_config.php new file mode 100644 index 000000000000..41d398d899d5 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_descriptor_config.php @@ -0,0 +1,135 @@ + [ + 'google.api.cloudquotas.v1.CloudQuotas' => [ + 'CreateQuotaPreference' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\CloudQuotas\V1\QuotaPreference', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'GetQuotaInfo' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\CloudQuotas\V1\QuotaInfo', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'GetQuotaPreference' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\CloudQuotas\V1\QuotaPreference', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'ListQuotaInfos' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getQuotaInfos', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\CloudQuotas\V1\ListQuotaInfosResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'ListQuotaPreferences' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getQuotaPreferences', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\CloudQuotas\V1\ListQuotaPreferencesResponse', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], + 'UpdateQuotaPreference' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\CloudQuotas\V1\QuotaPreference', + 'headerParams' => [ + [ + 'keyName' => 'quota_preference.name', + 'fieldAccessors' => [ + 'getQuotaPreference', + 'getName', + ], + ], + ], + ], + 'templateMap' => [ + 'folderLocation' => 'folders/{folder}/locations/{location}', + 'folderLocationQuotaPreference' => 'folders/{folder}/locations/{location}/quotaPreferences/{quota_preference}', + 'folderLocationService' => 'folders/{folder}/locations/{location}/services/{service}', + 'folderLocationServiceQuotaInfo' => 'folders/{folder}/locations/{location}/services/{service}/quotaInfos/{quota_info}', + 'location' => 'projects/{project}/locations/{location}', + 'organizationLocation' => 'organizations/{organization}/locations/{location}', + 'organizationLocationQuotaPreference' => 'organizations/{organization}/locations/{location}/quotaPreferences/{quota_preference}', + 'organizationLocationService' => 'organizations/{organization}/locations/{location}/services/{service}', + 'organizationLocationServiceQuotaInfo' => 'organizations/{organization}/locations/{location}/services/{service}/quotaInfos/{quota_info}', + 'projectLocation' => 'projects/{project}/locations/{location}', + 'projectLocationQuotaPreference' => 'projects/{project}/locations/{location}/quotaPreferences/{quota_preference}', + 'projectLocationService' => 'projects/{project}/locations/{location}/services/{service}', + 'projectLocationServiceQuotaInfo' => 'projects/{project}/locations/{location}/services/{service}/quotaInfos/{quota_info}', + 'quotaInfo' => 'projects/{project}/locations/{location}/services/{service}/quotaInfos/{quota_info}', + 'quotaPreference' => 'projects/{project}/locations/{location}/quotaPreferences/{quota_preference}', + 'service' => 'projects/{project}/locations/{location}/services/{service}', + ], + ], + ], +]; diff --git a/owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_rest_client_config.php b/owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_rest_client_config.php new file mode 100644 index 000000000000..b9078725af73 --- /dev/null +++ b/owl-bot-staging/Quotas/v1/src/V1/resources/cloud_quotas_rest_client_config.php @@ -0,0 +1,162 @@ + [ + 'google.api.cloudquotas.v1.CloudQuotas' => [ + 'CreateQuotaPreference' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/quotaPreferences', + 'body' => 'quota_preference', + 'additionalBindings' => [ + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{parent=folders/*/locations/*}/quotaPreferences', + 'body' => 'quota_preference', + ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{parent=organizations/*/locations/*}/quotaPreferences', + 'body' => 'quota_preference', + ], + ], + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'GetQuotaInfo' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/services/*/quotaInfos/*}', + 'additionalBindings' => [ + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=organizations/*/locations/*/services/*/quotaInfos/*}', + ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=folders/*/locations/*/services/*/quotaInfos/*}', + ], + ], + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetQuotaPreference' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/quotaPreferences/*}', + 'additionalBindings' => [ + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=organizations/*/locations/*/quotaPreferences/*}', + ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=folders/*/locations/*/quotaPreferences/*}', + ], + ], + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'ListQuotaInfos' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*/services/*}/quotaInfos', + 'additionalBindings' => [ + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=organizations/*/locations/*/services/*}/quotaInfos', + ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=folders/*/locations/*/services/*}/quotaInfos', + ], + ], + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'ListQuotaPreferences' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/quotaPreferences', + 'additionalBindings' => [ + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=folders/*/locations/*}/quotaPreferences', + ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{parent=organizations/*/locations/*}/quotaPreferences', + ], + ], + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], + 'UpdateQuotaPreference' => [ + 'method' => 'patch', + 'uriTemplate' => '/v1/{quota_preference.name=projects/*/locations/*/quotaPreferences/*}', + 'body' => 'quota_preference', + 'additionalBindings' => [ + [ + 'method' => 'patch', + 'uriTemplate' => '/v1/{quota_preference.name=folders/*/locations/*/quotaPreferences/*}', + 'body' => 'quota_preference', + ], + [ + 'method' => 'patch', + 'uriTemplate' => '/v1/{quota_preference.name=organizations/*/locations/*/quotaPreferences/*}', + 'body' => 'quota_preference', + ], + ], + 'placeholders' => [ + 'quota_preference.name' => [ + 'getters' => [ + 'getQuotaPreference', + 'getName', + ], + ], + ], + ], + ], + ], + 'numericEnums' => true, +]; diff --git a/owl-bot-staging/Quotas/v1/tests/Unit/V1/Client/CloudQuotasClientTest.php b/owl-bot-staging/Quotas/v1/tests/Unit/V1/Client/CloudQuotasClientTest.php new file mode 100644 index 000000000000..136af5b7439c --- /dev/null +++ b/owl-bot-staging/Quotas/v1/tests/Unit/V1/Client/CloudQuotasClientTest.php @@ -0,0 +1,620 @@ +getMockBuilder(CredentialsWrapper::class)->disableOriginalConstructor()->getMock(); + } + + /** @return CloudQuotasClient */ + private function createClient(array $options = []) + { + $options += [ + 'credentials' => $this->createCredentials(), + ]; + return new CloudQuotasClient($options); + } + + /** @test */ + public function createQuotaPreferenceTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $etag = 'etag3123477'; + $service = 'service1984153269'; + $quotaId = 'quotaId-879230910'; + $reconciling = false; + $justification = 'justification1864993522'; + $contactEmail = 'contactEmail947010237'; + $expectedResponse = new QuotaPreference(); + $expectedResponse->setName($name); + $expectedResponse->setEtag($etag); + $expectedResponse->setService($service); + $expectedResponse->setQuotaId($quotaId); + $expectedResponse->setReconciling($reconciling); + $expectedResponse->setJustification($justification); + $expectedResponse->setContactEmail($contactEmail); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $quotaPreference = new QuotaPreference(); + $quotaPreferenceQuotaConfig = new QuotaConfig(); + $quotaConfigPreferredValue = 557434902; + $quotaPreferenceQuotaConfig->setPreferredValue($quotaConfigPreferredValue); + $quotaPreference->setQuotaConfig($quotaPreferenceQuotaConfig); + $quotaPreferenceService = 'quotaPreferenceService-1057995326'; + $quotaPreference->setService($quotaPreferenceService); + $quotaPreferenceQuotaId = 'quotaPreferenceQuotaId1917192384'; + $quotaPreference->setQuotaId($quotaPreferenceQuotaId); + $request = (new CreateQuotaPreferenceRequest()) + ->setParent($formattedParent) + ->setQuotaPreference($quotaPreference); + $response = $gapicClient->createQuotaPreference($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.api.cloudquotas.v1.CloudQuotas/CreateQuotaPreference', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getQuotaPreference(); + $this->assertProtobufEquals($quotaPreference, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function createQuotaPreferenceExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode([ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], JSON_PRETTY_PRINT); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $quotaPreference = new QuotaPreference(); + $quotaPreferenceQuotaConfig = new QuotaConfig(); + $quotaConfigPreferredValue = 557434902; + $quotaPreferenceQuotaConfig->setPreferredValue($quotaConfigPreferredValue); + $quotaPreference->setQuotaConfig($quotaPreferenceQuotaConfig); + $quotaPreferenceService = 'quotaPreferenceService-1057995326'; + $quotaPreference->setService($quotaPreferenceService); + $quotaPreferenceQuotaId = 'quotaPreferenceQuotaId1917192384'; + $quotaPreference->setQuotaId($quotaPreferenceQuotaId); + $request = (new CreateQuotaPreferenceRequest()) + ->setParent($formattedParent) + ->setQuotaPreference($quotaPreference); + try { + $gapicClient->createQuotaPreference($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getQuotaInfoTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $quotaId = 'quotaId-879230910'; + $metric = 'metric-1077545552'; + $service = 'service1984153269'; + $isPrecise = true; + $refreshInterval = 'refreshInterval1816824233'; + $metricDisplayName = 'metricDisplayName900625943'; + $quotaDisplayName = 'quotaDisplayName-1616924081'; + $metricUnit = 'metricUnit-1737381197'; + $isFixed = false; + $isConcurrent = true; + $serviceRequestQuotaUri = 'serviceRequestQuotaUri-773207445'; + $expectedResponse = new QuotaInfo(); + $expectedResponse->setName($name2); + $expectedResponse->setQuotaId($quotaId); + $expectedResponse->setMetric($metric); + $expectedResponse->setService($service); + $expectedResponse->setIsPrecise($isPrecise); + $expectedResponse->setRefreshInterval($refreshInterval); + $expectedResponse->setMetricDisplayName($metricDisplayName); + $expectedResponse->setQuotaDisplayName($quotaDisplayName); + $expectedResponse->setMetricUnit($metricUnit); + $expectedResponse->setIsFixed($isFixed); + $expectedResponse->setIsConcurrent($isConcurrent); + $expectedResponse->setServiceRequestQuotaUri($serviceRequestQuotaUri); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->quotaInfoName('[PROJECT]', '[LOCATION]', '[SERVICE]', '[QUOTA_INFO]'); + $request = (new GetQuotaInfoRequest()) + ->setName($formattedName); + $response = $gapicClient->getQuotaInfo($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.api.cloudquotas.v1.CloudQuotas/GetQuotaInfo', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getQuotaInfoExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode([ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], JSON_PRETTY_PRINT); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->quotaInfoName('[PROJECT]', '[LOCATION]', '[SERVICE]', '[QUOTA_INFO]'); + $request = (new GetQuotaInfoRequest()) + ->setName($formattedName); + try { + $gapicClient->getQuotaInfo($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getQuotaPreferenceTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $etag = 'etag3123477'; + $service = 'service1984153269'; + $quotaId = 'quotaId-879230910'; + $reconciling = false; + $justification = 'justification1864993522'; + $contactEmail = 'contactEmail947010237'; + $expectedResponse = new QuotaPreference(); + $expectedResponse->setName($name2); + $expectedResponse->setEtag($etag); + $expectedResponse->setService($service); + $expectedResponse->setQuotaId($quotaId); + $expectedResponse->setReconciling($reconciling); + $expectedResponse->setJustification($justification); + $expectedResponse->setContactEmail($contactEmail); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->quotaPreferenceName('[PROJECT]', '[LOCATION]', '[QUOTA_PREFERENCE]'); + $request = (new GetQuotaPreferenceRequest()) + ->setName($formattedName); + $response = $gapicClient->getQuotaPreference($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.api.cloudquotas.v1.CloudQuotas/GetQuotaPreference', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getQuotaPreferenceExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode([ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], JSON_PRETTY_PRINT); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->quotaPreferenceName('[PROJECT]', '[LOCATION]', '[QUOTA_PREFERENCE]'); + $request = (new GetQuotaPreferenceRequest()) + ->setName($formattedName); + try { + $gapicClient->getQuotaPreference($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listQuotaInfosTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $quotaInfosElement = new QuotaInfo(); + $quotaInfos = [ + $quotaInfosElement, + ]; + $expectedResponse = new ListQuotaInfosResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setQuotaInfos($quotaInfos); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + $request = (new ListQuotaInfosRequest()) + ->setParent($formattedParent); + $response = $gapicClient->listQuotaInfos($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getQuotaInfos()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.api.cloudquotas.v1.CloudQuotas/ListQuotaInfos', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listQuotaInfosExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode([ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], JSON_PRETTY_PRINT); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->serviceName('[PROJECT]', '[LOCATION]', '[SERVICE]'); + $request = (new ListQuotaInfosRequest()) + ->setParent($formattedParent); + try { + $gapicClient->listQuotaInfos($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listQuotaPreferencesTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $quotaPreferencesElement = new QuotaPreference(); + $quotaPreferences = [ + $quotaPreferencesElement, + ]; + $expectedResponse = new ListQuotaPreferencesResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setQuotaPreferences($quotaPreferences); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListQuotaPreferencesRequest()) + ->setParent($formattedParent); + $response = $gapicClient->listQuotaPreferences($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getQuotaPreferences()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.api.cloudquotas.v1.CloudQuotas/ListQuotaPreferences', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listQuotaPreferencesExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode([ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], JSON_PRETTY_PRINT); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListQuotaPreferencesRequest()) + ->setParent($formattedParent); + try { + $gapicClient->listQuotaPreferences($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function updateQuotaPreferenceTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $etag = 'etag3123477'; + $service = 'service1984153269'; + $quotaId = 'quotaId-879230910'; + $reconciling = false; + $justification = 'justification1864993522'; + $contactEmail = 'contactEmail947010237'; + $expectedResponse = new QuotaPreference(); + $expectedResponse->setName($name); + $expectedResponse->setEtag($etag); + $expectedResponse->setService($service); + $expectedResponse->setQuotaId($quotaId); + $expectedResponse->setReconciling($reconciling); + $expectedResponse->setJustification($justification); + $expectedResponse->setContactEmail($contactEmail); + $transport->addResponse($expectedResponse); + // Mock request + $quotaPreference = new QuotaPreference(); + $quotaPreferenceQuotaConfig = new QuotaConfig(); + $quotaConfigPreferredValue = 557434902; + $quotaPreferenceQuotaConfig->setPreferredValue($quotaConfigPreferredValue); + $quotaPreference->setQuotaConfig($quotaPreferenceQuotaConfig); + $quotaPreferenceService = 'quotaPreferenceService-1057995326'; + $quotaPreference->setService($quotaPreferenceService); + $quotaPreferenceQuotaId = 'quotaPreferenceQuotaId1917192384'; + $quotaPreference->setQuotaId($quotaPreferenceQuotaId); + $request = (new UpdateQuotaPreferenceRequest()) + ->setQuotaPreference($quotaPreference); + $response = $gapicClient->updateQuotaPreference($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.api.cloudquotas.v1.CloudQuotas/UpdateQuotaPreference', $actualFuncCall); + $actualValue = $actualRequestObject->getQuotaPreference(); + $this->assertProtobufEquals($quotaPreference, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function updateQuotaPreferenceExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode([ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], JSON_PRETTY_PRINT); + $transport->addResponse(null, $status); + // Mock request + $quotaPreference = new QuotaPreference(); + $quotaPreferenceQuotaConfig = new QuotaConfig(); + $quotaConfigPreferredValue = 557434902; + $quotaPreferenceQuotaConfig->setPreferredValue($quotaConfigPreferredValue); + $quotaPreference->setQuotaConfig($quotaPreferenceQuotaConfig); + $quotaPreferenceService = 'quotaPreferenceService-1057995326'; + $quotaPreference->setService($quotaPreferenceService); + $quotaPreferenceQuotaId = 'quotaPreferenceQuotaId1917192384'; + $quotaPreference->setQuotaId($quotaPreferenceQuotaId); + $request = (new UpdateQuotaPreferenceRequest()) + ->setQuotaPreference($quotaPreference); + try { + $gapicClient->updateQuotaPreference($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function createQuotaPreferenceAsyncTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $etag = 'etag3123477'; + $service = 'service1984153269'; + $quotaId = 'quotaId-879230910'; + $reconciling = false; + $justification = 'justification1864993522'; + $contactEmail = 'contactEmail947010237'; + $expectedResponse = new QuotaPreference(); + $expectedResponse->setName($name); + $expectedResponse->setEtag($etag); + $expectedResponse->setService($service); + $expectedResponse->setQuotaId($quotaId); + $expectedResponse->setReconciling($reconciling); + $expectedResponse->setJustification($justification); + $expectedResponse->setContactEmail($contactEmail); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $quotaPreference = new QuotaPreference(); + $quotaPreferenceQuotaConfig = new QuotaConfig(); + $quotaConfigPreferredValue = 557434902; + $quotaPreferenceQuotaConfig->setPreferredValue($quotaConfigPreferredValue); + $quotaPreference->setQuotaConfig($quotaPreferenceQuotaConfig); + $quotaPreferenceService = 'quotaPreferenceService-1057995326'; + $quotaPreference->setService($quotaPreferenceService); + $quotaPreferenceQuotaId = 'quotaPreferenceQuotaId1917192384'; + $quotaPreference->setQuotaId($quotaPreferenceQuotaId); + $request = (new CreateQuotaPreferenceRequest()) + ->setParent($formattedParent) + ->setQuotaPreference($quotaPreference); + $response = $gapicClient->createQuotaPreferenceAsync($request)->wait(); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.api.cloudquotas.v1.CloudQuotas/CreateQuotaPreference', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getQuotaPreference(); + $this->assertProtobufEquals($quotaPreference, $actualValue); + $this->assertTrue($transport->isExhausted()); + } +}