diff --git a/account.json b/account.json new file mode 100644 index 0000000..be8a28c --- /dev/null +++ b/account.json @@ -0,0 +1,12 @@ +{ + "type": "service_account", + "project_id": "esy-web-279616", + "private_key_id": "1028eb629a868bdd6b0722e208a25f0b54788285", + "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCl7Iq0fY+P/Uf4\nef8Px/bU1l2/BV8dM8i7tAC1nDPztTQriw6zUQrnloAKHT6RZh5YXh0bKLVB3ZF0\nWtzx53bGw7Ufn3Xy7at1Cbk2tmamw5dYdUzRpiPFQKPr2NbIMHUEUBZkU9TlV4J4\nhLOwEvAFURRN08m2wOmRPpOvyzy0FL/ibjMY7rKuPvXfMrFtdFKsXbDT1iCV4UG8\nFwou0jKLXro/yRJ45P2KWprvS8X0dAwfHVcfLZbdT+ifW5FtCZh7xITe7UyhW+Zj\nkSZXhMbUga9AWHKzfUyesW+QvBmsJRarcwrSdn1PggJj7CICTFJDo0u9S5+mk9/+\ncsvEQAqNAgMBAAECggEABsCQiHXPoNFy21bDnXXKwrCSkhJ642pXEeRqXvmjV5iZ\nLehzybJTmkcSoNa91BbuxzPVRWSrs6l7oNuNwD5mJAKU3VuU5jTr1FB3/BUCKmkt\nQIlNff6f2AggY5moa+8k4+8KajzLHiYohhUIZvLuV5kMFXq367sABkwgoHfJ2Z4p\nxqBM3B5/x/1JxheBYhc1pgLxza40eE/mKJMP6eC1VPkru0ntxLcFbcoGKwL/dP8l\nnCGiHRFtt5Weh2wW2A9F0ZkfmdhtUyh9kIKiEZmq/AXbPm5g0+v9Mpn9omWw/Ogu\nTrsKZ5F5YWK9XSFf2HaNWKI0u1b3j05KUSX510WhQQKBgQDOZGqULtmQqNi12kQX\nMvkw3D3ExMH4fziJ8oi6t4Bpp93iAnE5q/9zdWmTxICSVGoY6zhMAsfTSmzeA6Fp\nW7aRjNDeyw3skHV/mf0Kg015AwyaAlhKOLMSh2fX+p3Ptr5dUHe90vqYzI0PVAFc\noBAIhzBzaTIViccyf+CKCM72EQKBgQDNzg+SlnFKeyuHNLUPX2Ek9ZldXFkoU6wI\nRptp9ux/S+PWLgSGF8mX04e7t5eccc+H9Rhfm+ndM4nbkfkZXgHtzASGBUeaFSQl\n/tU6nmRcudwNcIbN7yUdt8Ll+KqusEYRSfVWJ4XIyNMW+WKQ/Wjw1Vo8rfkzgVA3\nrM81zk5gvQKBgF2Oz3FUu3MD1xi4VF1f0e4AKE/mETegE/UUaD6bqC481iv5h3Hp\nMecYtj8xuEac1WtuVRq/t+1js24An06vMFdSSex0h19RLLInD7mQQ7IzW6cEoRkk\nEqi3kK8rABaEdE7Ah0cZOFfDgb4NCoD+XcY/4gqvCPESf6W4qgRoccjBAoGAO/xZ\nsaJD9y+baldEhuyIBhvHzdyC6CwrMmZSGjqsiBX4nI7hJqx8R9KR93b1q9XIZZpc\ntlFdgunovqT3dBtgeI1ErEORsSmEVcbHI8TS/+v0Zb5srE2OBfFvz1QBe9VJNvTV\nm3z9k55lWIbr4dLa6YdmO9WBky+X0AKAivBNDAkCgYBJvrnMytfe1FLQcV1EJxkY\nIfeDI7POJBnpeN/DAE5/8231rRmhqsKmTGzieKysRi+s0Yx9V4q4ixR6O9+smpXI\nAWyV3QME6AhLicuzoWobYj5wgV9vHYNMawkSgljBWLmU20aWhRpYqESr355QrPCU\nx0HwZXICbVUERaSfD1ALyQ==\n-----END PRIVATE KEY-----\n", + "client_email": "root-user@esy-web-279616.iam.gserviceaccount.com", + "client_id": "103002399867175151805", + "auth_uri": "https://accounts.google.com/o/oauth2/auth", + "token_uri": "https://oauth2.googleapis.com/token", + "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", + "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/root-user%40esy-web-279616.iam.gserviceaccount.com" +} diff --git a/assets/admin.js b/assets/admin.js index a675373..645d260 100644 --- a/assets/admin.js +++ b/assets/admin.js @@ -5,6 +5,37 @@ import {AutoSubmit} from './class/AutoSubmit' function script() { customElements.define('auto-submit',AutoSubmit,{extends:'form'}) + } -document.addEventListener('DOMContentLoaded', script); +function full() { + const sidebar = document.getElementById('sidebar'); + const sidebarToggle = document.getElementById('sidebar-toggle'); + + sidebarToggle.addEventListener('click', function () { + sidebar.classList.toggle('-translate-x-full'); + }); + const submenuToggles = document.querySelectorAll('[data-submenu-toggle]'); + + submenuToggles.forEach(button => { + button.addEventListener('click', function () { + const targetId = this.dataset.submenuToggle; + const submenu = document.getElementById(`submenu-${targetId}`); + const arrowIcon = this.querySelector('.arrow-icon'); + + if (submenu && arrowIcon) { + // Toggle the 'active' class on the submenu + submenu.classList.toggle('active'); + // Toggle the 'rotate' class on the arrow icon + arrowIcon.classList.toggle('rotate'); + } + }); + }); +} + +document.addEventListener('DOMContentLoaded', ()=>{ + script(); +}); +document.addEventListener("turbo:load", ()=> { + full() +}); diff --git a/assets/admin.scss b/assets/admin.scss index 0bd61db..f235f4f 100644 --- a/assets/admin.scss +++ b/assets/admin.scss @@ -5,3 +5,16 @@ h1,h2,h3,h4,h5,h6, label,span,input,{ font-family: 'Intel One Mono', monospace; } + +.card-server { + padding: 0 !important; + .header{ + border-bottom: 1px solid var(--color-gray-700); + padding: 0.5rem; + background: var(--color-gray-700); + } +} + +.bg-RUNNING{ + background: green; +} diff --git a/assets/app.js b/assets/app.js index 838f8e7..287e513 100644 --- a/assets/app.js +++ b/assets/app.js @@ -21,6 +21,7 @@ document.addEventListener('DOMContentLoaded', () => { }); return svg; } + document.querySelectorAll('input[type="password"]').forEach(input=>{ // Crée un conteneur div pour l'input et l'icône const wrapperDiv = document.createElement('div'); diff --git a/composer.json b/composer.json index ae58d38..9cef4ff 100644 --- a/composer.json +++ b/composer.json @@ -12,6 +12,7 @@ "doctrine/doctrine-migrations-bundle": "^3.4.2", "doctrine/orm": "^3.5", "docusealco/docuseal-php": "^1.0", + "google/cloud": "^0.296.0", "imagine/imagine": "^1.5", "knplabs/knp-paginator-bundle": "^6.8", "lasserafn/php-initial-avatar-generator": "^4.4", diff --git a/composer.lock b/composer.lock index c879555..68ece12 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ab21fae440d89f3e53d04857bce70e32", + "content-hash": "d68cad60163f361459326f5402d1f396", "packages": [ { "name": "aws/aws-crt-php", @@ -1528,6 +1528,1076 @@ ], "time": "2025-03-06T22:45:56+00:00" }, + { + "name": "firebase/php-jwt", + "version": "v6.11.1", + "source": { + "type": "git", + "url": "https://github.com/firebase/php-jwt.git", + "reference": "d1e91ecf8c598d073d0995afa8cd5c75c6e19e66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/d1e91ecf8c598d073d0995afa8cd5c75c6e19e66", + "reference": "d1e91ecf8c598d073d0995afa8cd5c75c6e19e66", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "guzzlehttp/guzzle": "^7.4", + "phpspec/prophecy-phpunit": "^2.0", + "phpunit/phpunit": "^9.5", + "psr/cache": "^2.0||^3.0", + "psr/http-client": "^1.0", + "psr/http-factory": "^1.0" + }, + "suggest": { + "ext-sodium": "Support EdDSA (Ed25519) signatures", + "paragonie/sodium_compat": "Support EdDSA (Ed25519) signatures when libsodium is not present" + }, + "type": "library", + "autoload": { + "psr-4": { + "Firebase\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Neuman Vong", + "email": "neuman+pear@twilio.com", + "role": "Developer" + }, + { + "name": "Anant Narayanan", + "email": "anant@php.net", + "role": "Developer" + } + ], + "description": "A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec.", + "homepage": "https://github.com/firebase/php-jwt", + "keywords": [ + "jwt", + "php" + ], + "support": { + "issues": "https://github.com/firebase/php-jwt/issues", + "source": "https://github.com/firebase/php-jwt/tree/v6.11.1" + }, + "time": "2025-04-09T20:32:01+00:00" + }, + { + "name": "google/auth", + "version": "v1.47.1", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-auth-library-php.git", + "reference": "d7a0a215ec42ca0c8cb40e9ae0c5960aa9a024b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-auth-library-php/zipball/d7a0a215ec42ca0c8cb40e9ae0c5960aa9a024b7", + "reference": "d7a0a215ec42ca0c8cb40e9ae0c5960aa9a024b7", + "shasum": "" + }, + "require": { + "firebase/php-jwt": "^6.0", + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/psr7": "^2.4.5", + "php": "^8.0", + "psr/cache": "^2.0||^3.0", + "psr/http-message": "^1.1||^2.0", + "psr/log": "^3.0" + }, + "require-dev": { + "guzzlehttp/promises": "^2.0", + "kelvinmo/simplejwt": "0.7.1", + "phpseclib/phpseclib": "^3.0.35", + "phpspec/prophecy-phpunit": "^2.1", + "phpunit/phpunit": "^9.6", + "sebastian/comparator": ">=1.2.3", + "squizlabs/php_codesniffer": "^3.5", + "symfony/process": "^6.0||^7.0", + "webmozart/assert": "^1.11" + }, + "suggest": { + "phpseclib/phpseclib": "May be used in place of OpenSSL for signing strings or for token management. Please require version ^2." + }, + "type": "library", + "autoload": { + "psr-4": { + "Google\\Auth\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "Google Auth Library for PHP", + "homepage": "https://github.com/google/google-auth-library-php", + "keywords": [ + "Authentication", + "google", + "oauth2" + ], + "support": { + "docs": "https://cloud.google.com/php/docs/reference/auth/latest", + "issues": "https://github.com/googleapis/google-auth-library-php/issues", + "source": "https://github.com/googleapis/google-auth-library-php/tree/v1.47.1" + }, + "time": "2025-07-09T15:26:02+00:00" + }, + { + "name": "google/cloud", + "version": "v0.296.0", + "source": { + "type": "git", + "url": "https://github.com/googleapis/google-cloud-php.git", + "reference": "96251a48c873b323531a06b0d1677af5b86b3e1a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/google-cloud-php/zipball/96251a48c873b323531a06b0d1677af5b86b3e1a", + "reference": "96251a48c873b323531a06b0d1677af5b86b3e1a", + "shasum": "" + }, + "require": { + "google/auth": "^1.42", + "google/gax": "^1.36.0", + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/psr7": "^2.6", + "monolog/monolog": "^2.9||^3.0", + "php": "^8.1", + "psr/http-message": "^1.0|^2.0", + "ramsey/uuid": "^4.0", + "rize/uri-template": "~0.3" + }, + "replace": { + "google/access-context-manager": "1.0.4", + "google/analytics-admin": "0.29.1", + "google/analytics-data": "0.22.3", + "google/apps-chat": "0.11.2", + "google/apps-events-subscriptions": "0.3.1", + "google/apps-meet": "0.4.1", + "google/cloud-access-approval": "2.0.5", + "google/cloud-advisorynotifications": "1.1.1", + "google/cloud-ai-platform": "1.32.1", + "google/cloud-alloydb": "1.4.1", + "google/cloud-api-gateway": "2.0.4", + "google/cloud-api-keys": "1.0.5", + "google/cloud-apigee-connect": "2.0.5", + "google/cloud-apigee-registry": "1.0.4", + "google/cloud-apihub": "0.2.1", + "google/cloud-appengine-admin": "2.0.4", + "google/cloud-apphub": "0.3.1", + "google/cloud-artifact-registry": "1.2.1", + "google/cloud-asset": "2.2.3", + "google/cloud-assured-workloads": "1.0.5", + "google/cloud-automl": "2.0.5", + "google/cloud-backupdr": "0.6.2", + "google/cloud-bare-metal-solution": "1.0.5", + "google/cloud-batch": "1.2.2", + "google/cloud-beyondcorp-appconnections": "1.0.5", + "google/cloud-beyondcorp-appconnectors": "1.0.5", + "google/cloud-beyondcorp-appgateways": "1.0.5", + "google/cloud-beyondcorp-clientconnectorservices": "1.0.5", + "google/cloud-beyondcorp-clientgateways": "1.0.5", + "google/cloud-bigquery": "1.33.1", + "google/cloud-bigquery-analyticshub": "1.2.1", + "google/cloud-bigquery-connection": "2.0.5", + "google/cloud-bigquery-data-exchange": "0.5.2", + "google/cloud-bigquery-datapolicies": "1.0.5", + "google/cloud-bigquery-migration": "1.1.5", + "google/cloud-bigquery-reservation": "2.2.1", + "google/cloud-bigquery-storage": "2.1.5", + "google/cloud-bigquerydatatransfer": "2.1.5", + "google/cloud-bigtable": "2.15.0", + "google/cloud-billing": "2.1.3", + "google/cloud-billing-budgets": "2.0.5", + "google/cloud-binary-authorization": "1.0.5", + "google/cloud-build": "1.0.4", + "google/cloud-certificate-manager": "1.0.4", + "google/cloud-channel": "2.2.1", + "google/cloud-chronicle": "0.1.2", + "google/cloud-cloudcontrolspartner": "0.4.1", + "google/cloud-commerce-consumer-procurement": "1.2.2", + "google/cloud-common-protos": "0.8.1", + "google/cloud-compute": "1.32.0", + "google/cloud-confidentialcomputing": "1.4.1", + "google/cloud-config": "1.4.1", + "google/cloud-configdelivery": "0.2.0", + "google/cloud-contact-center-insights": "2.3.3", + "google/cloud-container": "2.5.0", + "google/cloud-container-analysis": "1.1.1", + "google/cloud-core": "1.64.1", + "google/cloud-data-catalog": "2.3.2", + "google/cloud-data-fusion": "1.0.5", + "google/cloud-datacatalog-lineage": "1.1.1", + "google/cloud-dataflow": "0.8.2", + "google/cloud-dataform": "0.8.1", + "google/cloud-datalabeling": "0.6.3", + "google/cloud-dataplex": "1.7.1", + "google/cloud-dataproc": "2.6.1", + "google/cloud-dataproc-metastore": "1.1.1", + "google/cloud-datastore": "1.33.1", + "google/cloud-datastore-admin": "1.0.4", + "google/cloud-datastream": "2.3.1", + "google/cloud-deploy": "1.5.7", + "google/cloud-developerconnect": "0.4.1", + "google/cloud-devicestreaming": "0.1.1", + "google/cloud-dialogflow": "2.1.2", + "google/cloud-dialogflow-cx": "0.8.1", + "google/cloud-discoveryengine": "1.6.1", + "google/cloud-dlp": "2.6.1", + "google/cloud-dms": "2.0.6", + "google/cloud-document-ai": "2.2.2", + "google/cloud-domains": "1.0.4", + "google/cloud-edgenetwork": "1.2.3", + "google/cloud-error-reporting": "0.23.1", + "google/cloud-essential-contacts": "1.0.5", + "google/cloud-eventarc": "2.1.5", + "google/cloud-eventarc-publishing": "1.1.6", + "google/cloud-filestore": "2.1.1", + "google/cloud-financialservices": "0.1.1", + "google/cloud-firestore": "1.52.0", + "google/cloud-functions": "2.0.6", + "google/cloud-geminidataanalytics": "0.1.0", + "google/cloud-gke-backup": "1.2.1", + "google/cloud-gke-connect-gateway": "1.0.2", + "google/cloud-gke-hub": "1.0.5", + "google/cloud-gke-multi-cloud": "1.2.2", + "google/cloud-gsuite-addons": "1.0.4", + "google/cloud-iam": "1.1.1", + "google/cloud-iam-credentials": "2.0.4", + "google/cloud-iap": "2.1.2", + "google/cloud-ids": "1.0.4", + "google/cloud-kms": "2.3.1", + "google/cloud-kms-inventory": "1.1.1", + "google/cloud-language": "1.0.1", + "google/cloud-life-sciences": "0.7.3", + "google/cloud-logging": "1.32.3", + "google/cloud-lustre": "0.2.0", + "google/cloud-managed-identities": "2.0.5", + "google/cloud-managedkafka": "0.6.1", + "google/cloud-managedkafka-schemaregistry": "0.1.1", + "google/cloud-media-translation": "0.5.2", + "google/cloud-memcache": "2.0.4", + "google/cloud-memorystore": "0.4.2", + "google/cloud-migrationcenter": "1.1.2", + "google/cloud-modelarmor": "0.3.1", + "google/cloud-monitoring": "2.1.2", + "google/cloud-netapp": "1.6.1", + "google/cloud-network-connectivity": "2.2.2", + "google/cloud-network-management": "2.4.2", + "google/cloud-network-security": "1.0.4", + "google/cloud-networkservices": "0.6.1", + "google/cloud-notebooks": "1.0.5", + "google/cloud-optimization": "1.0.5", + "google/cloud-oracledatabase": "0.6.1", + "google/cloud-orchestration-airflow": "2.1.8", + "google/cloud-org-policy": "1.2.2", + "google/cloud-osconfig": "2.0.5", + "google/cloud-oslogin": "2.0.5", + "google/cloud-parallelstore": "0.11.3", + "google/cloud-parametermanager": "0.4.1", + "google/cloud-policy-troubleshooter": "2.0.5", + "google/cloud-policysimulator": "1.1.1", + "google/cloud-policytroubleshooter-iam": "0.3.1", + "google/cloud-private-catalog": "0.5.3", + "google/cloud-privilegedaccessmanager": "0.2.1", + "google/cloud-profiler": "2.0.4", + "google/cloud-pubsub": "2.13.2", + "google/cloud-quotas": "1.4.1", + "google/cloud-rapidmigrationassessment": "1.1.2", + "google/cloud-recaptcha-enterprise": "2.1.3", + "google/cloud-recommendations-ai": "0.8.2", + "google/cloud-recommender": "2.0.5", + "google/cloud-redis": "2.1.6", + "google/cloud-redis-cluster": "0.5.1", + "google/cloud-resource-manager": "1.0.4", + "google/cloud-retail": "2.3.1", + "google/cloud-run": "1.8.0", + "google/cloud-scheduler": "2.0.5", + "google/cloud-secret-manager": "2.1.1", + "google/cloud-securesourcemanager": "1.4.1", + "google/cloud-security-center": "2.2.1", + "google/cloud-security-private-ca": "2.1.1", + "google/cloud-security-public-ca": "1.0.5", + "google/cloud-securitycentermanagement": "1.2.1", + "google/cloud-service-control": "2.0.4", + "google/cloud-service-directory": "2.0.6", + "google/cloud-service-management": "2.0.5", + "google/cloud-service-usage": "2.0.4", + "google/cloud-servicehealth": "0.3.1", + "google/cloud-shell": "2.0.5", + "google/cloud-spanner": "1.103.0", + "google/cloud-speech": "2.1.1", + "google/cloud-sql-admin": "1.2.6", + "google/cloud-storage": "1.48.2", + "google/cloud-storage-control": "1.4.1", + "google/cloud-storage-transfer": "2.2.1", + "google/cloud-storagebatchoperations": "0.1.2", + "google/cloud-storageinsights": "1.2.1", + "google/cloud-support": "1.2.1", + "google/cloud-talent": "2.1.3", + "google/cloud-tasks": "2.0.2", + "google/cloud-telcoautomation": "1.1.1", + "google/cloud-text-to-speech": "2.2.2", + "google/cloud-tpu": "2.1.2", + "google/cloud-trace": "1.8.10", + "google/cloud-translate": "2.0.3", + "google/cloud-video-live-stream": "1.2.1", + "google/cloud-video-stitcher": "1.0.4", + "google/cloud-video-transcoder": "1.1.0", + "google/cloud-videointelligence": "2.0.5", + "google/cloud-vision": "2.0.3", + "google/cloud-vm-migration": "1.0.5", + "google/cloud-vmware-engine": "1.1.4", + "google/cloud-vpc-access": "2.0.5", + "google/cloud-web-risk": "2.1.1", + "google/cloud-web-security-scanner": "1.0.5", + "google/cloud-workflows": "1.1.1", + "google/common-protos": "4.12.2", + "google/geo-common-protos": "0.2.1", + "google/grafeas": "1.2.2", + "google/longrunning": "0.4.7", + "google/maps-fleetengine": "0.4.1", + "google/maps-fleetengine-delivery": "0.4.1", + "google/maps-routeoptimization": "0.4.1", + "google/shopping-common-protos": "0.4.1", + "google/shopping-css": "0.6.2", + "google/shopping-merchant-accounts": "0.9.1", + "google/shopping-merchant-conversions": "0.2.1", + "google/shopping-merchant-datasources": "0.5.1", + "google/shopping-merchant-inventories": "0.6.1", + "google/shopping-merchant-lfp": "0.3.2", + "google/shopping-merchant-notifications": "0.2.1", + "google/shopping-merchant-ordertracking": "0.1.1", + "google/shopping-merchant-products": "0.6.1", + "google/shopping-merchant-promotions": "0.2.1", + "google/shopping-merchant-quota": "0.2.1", + "google/shopping-merchant-reports": "0.9.1", + "google/shopping-merchant-reviews": "0.3.1", + "googleads/ad-manager": "0.3.1", + "googleads/marketingplatform-admin": "0.2.1" + }, + "require-dev": { + "dg/bypass-finals": "^1.7", + "erusev/parsedown": "^1.6", + "flix-tech/avro-php": "^5.0.0", + "google/cloud-tools": "^0.16.0", + "kreait/firebase-php": "^6.9", + "opis/closure": "^3.0", + "phpdocumentor/reflection": "^5.0||^6.0", + "phpseclib/phpseclib": "^3.0", + "phpspec/prophecy-phpunit": "^2.1", + "phpunit/phpunit": "^9.6", + "psr/log": "^2.0||^3.0" + }, + "suggest": { + "opis/closure": "May be used to serialize closures to process jobs in the batch daemon. Please require version ^3.", + "phpseclib/phpseclib": "May be used in place of OpenSSL for creating signed Cloud Storage URLs. Please require version ^2." + }, + "bin": [ + "Core/bin/google-cloud-batch" + ], + "type": "library", + "autoload": { + "files": [ + "BigQueryStorage/metadata/descriptor_fix.php" + ], + "psr-4": { + "Grafeas\\": "Grafeas/src", + "Google\\Api\\": "CommonProtos/src/Api", + "Google\\Geo\\": "GeoCommonProtos/src", + "Google\\Iam\\": "CommonProtos/src/Iam", + "Google\\Rpc\\": "CommonProtos/src/Rpc", + "Google\\Type\\": "CommonProtos/src/Type", + "Google\\Cloud\\": [ + "CloudCommonProtos/src", + "CommonProtos/src/Cloud" + ], + "Google\\Apps\\Card\\": "AppsChat/src/Card", + "Google\\Apps\\Chat\\": "AppsChat/src/Chat", + "Google\\Apps\\Meet\\": "AppsMeet/src", + "Google\\Cloud\\Dlp\\": "Dlp/src", + "Google\\Cloud\\Iam\\": "Iam/src", + "Google\\Cloud\\Iap\\": "Iap/src", + "Google\\Cloud\\Ids\\": "Ids/src", + "Google\\Cloud\\Kms\\": "Kms/src", + "Google\\Cloud\\Run\\": "Run/src", + "Google\\Cloud\\Sql\\": "SqlAdmin/src", + "Google\\Cloud\\Tpu\\": "Tpu/src", + "Google\\Cloud\\Core\\": "Core/src", + "Google\\Cloud\\Asset\\": "Asset/src", + "Google\\Cloud\\Batch\\": "Batch/src", + "Google\\Cloud\\Build\\": "Build/src", + "Google\\Cloud\\Redis\\": "Redis/src", + "Google\\Cloud\\Shell\\": "Shell/src", + "Google\\Cloud\\Tasks\\": "Tasks/src", + "Google\\Cloud\\Trace\\": "Trace/src", + "Google\\LongRunning\\": "LongRunning/src/LongRunning", + "GPBMetadata\\Grafeas\\": "Grafeas/metadata", + "Google\\Cloud\\ApiHub\\": "ApiHub/src", + "Google\\Cloud\\AppHub\\": "AppHub/src", + "Google\\Cloud\\AutoMl\\": "AutoMl/src", + "Google\\Cloud\\Config\\": "Config/src", + "Google\\Cloud\\Deploy\\": "Deploy/src", + "Google\\Cloud\\GkeHub\\": "GkeHub/src", + "Google\\Cloud\\Lustre\\": "Lustre/src", + "Google\\Cloud\\NetApp\\": "NetApp/src", + "Google\\Cloud\\PubSub\\": "PubSub/src", + "Google\\Cloud\\Retail\\": "Retail/src", + "Google\\Cloud\\Speech\\": "Speech/src", + "Google\\Cloud\\Talent\\": "Talent/src", + "Google\\Cloud\\Vision\\": "Vision/src", + "Google\\Shopping\\Css\\": "ShoppingCss/src", + "Google\\Ads\\AdManager\\": "AdsAdManager/src", + "Google\\Cloud\\AlloyDb\\": "AlloyDb/src", + "Google\\Cloud\\ApiKeys\\": "ApiKeys/src", + "Google\\Cloud\\Billing\\": "Billing/src", + "Google\\Cloud\\Channel\\": "Channel/src", + "Google\\Cloud\\Compute\\": "Compute/src", + "Google\\Cloud\\Domains\\": "Domains/src", + "Google\\Cloud\\Logging\\": "Logging/src", + "Google\\Cloud\\OsLogin\\": "OsLogin/src", + "Google\\Cloud\\Spanner\\": "Spanner/src", + "Google\\Cloud\\Storage\\": "Storage/src", + "Google\\Cloud\\Support\\": "Support/src", + "Google\\Cloud\\WebRisk\\": "WebRisk/src", + "Google\\Shopping\\Type\\": "ShoppingCommonProtos/src/Type", + "Google\\Analytics\\Data\\": "AnalyticsData/src", + "Google\\Cloud\\BackupDR\\": "BackupDr/src", + "Google\\Cloud\\BigQuery\\": "BigQuery/src", + "Google\\Cloud\\Bigtable\\": "Bigtable/src", + "Google\\Cloud\\CloudDms\\": "Dms/src", + "Google\\Cloud\\Dataflow\\": "Dataflow/src", + "Google\\Cloud\\Dataform\\": "Dataform/src", + "Google\\Cloud\\Dataplex\\": "Dataplex/src", + "Google\\Cloud\\Dataproc\\": "Dataproc/src", + "Google\\Cloud\\Eventarc\\": "Eventarc/src", + "Google\\Cloud\\Language\\": "Language/src", + "Google\\Cloud\\Memcache\\": "Memcache/src", + "Google\\Cloud\\OsConfig\\": "OsConfig/src", + "Google\\Cloud\\Profiler\\": "Profiler/src", + "GPBMetadata\\Google\\Api\\": "CommonProtos/metadata/Api", + "GPBMetadata\\Google\\Geo\\": "GeoCommonProtos/metadata", + "GPBMetadata\\Google\\Iam\\": [ + "Iam/metadata", + "CommonProtos/metadata/Iam" + ], + "GPBMetadata\\Google\\Rpc\\": [ + "CloudCommonProtos/metadata/Rpc", + "CommonProtos/metadata/Rpc" + ], + "Google\\Analytics\\Admin\\": "AnalyticsAdmin/src", + "Google\\Cloud\\AppEngine\\": "AppEngineAdmin/src", + "Google\\Cloud\\Chronicle\\": "Chronicle/src", + "Google\\Cloud\\Container\\": "Container/src", + "Google\\Cloud\\Datastore\\": "Datastore/src", + "Google\\Cloud\\Filestore\\": "Filestore/src", + "Google\\Cloud\\Firestore\\": "Firestore/src", + "Google\\Cloud\\Functions\\": "Functions/src", + "Google\\Cloud\\GkeBackup\\": "GkeBackup/src", + "Google\\Cloud\\Metastore\\": "DataprocMetastore/src", + "Google\\Cloud\\Notebooks\\": "Notebooks/src", + "Google\\Cloud\\OrgPolicy\\": [ + "OrgPolicy/src", + "Asset/external/protos/Cloud/OrgPolicy" + ], + "Google\\Cloud\\Scheduler\\": "Scheduler/src", + "Google\\Cloud\\Translate\\": "Translate/src", + "Google\\Cloud\\VpcAccess\\": "VpcAccess/src", + "Google\\Cloud\\Workflows\\": "Workflows/src", + "GPBMetadata\\Google\\Chat\\": "AppsChat/metadata/Chat", + "GPBMetadata\\Google\\Type\\": "CommonProtos/metadata/Type", + "Google\\Apps\\Script\\Type\\": "GSuiteAddOns/external/protos", + "Google\\Cloud\\AIPlatform\\": "AiPlatform/src", + "Google\\Cloud\\ApiGateway\\": "ApiGateway/src", + "Google\\Cloud\\DataFusion\\": "DataFusion/src", + "Google\\Cloud\\Datastream\\": "Datastream/src", + "Google\\Cloud\\Dialogflow\\": "Dialogflow/src", + "Google\\Cloud\\DocumentAI\\": "DocumentAi/src", + "Google\\Cloud\\ModelArmor\\": "ModelArmor/src", + "Google\\Cloud\\Monitoring\\": "Monitoring/src", + "Google\\Maps\\FleetEngine\\": "MapsFleetEngine/src", + "GPBMetadata\\Google\\Cloud\\": "CommonProtos/metadata/Cloud", + "Google\\Cloud\\CloudQuotas\\": "Quotas/src", + "Google\\Cloud\\DataCatalog\\": "DataCatalog/src", + "Google\\Cloud\\EdgeNetwork\\": "EdgeNetwork/src", + "Google\\Cloud\\Memorystore\\": "Memorystore/src", + "Google\\Cloud\\Recommender\\": "Recommender/src", + "Google\\Cloud\\VMMigration\\": "VmMigration/src", + "GPBMetadata\\Google\\Pubsub\\": "PubSub/metadata", + "Google\\Cloud\\DataLabeling\\": "DataLabeling/src", + "Google\\Cloud\\GSuiteAddOns\\": "GSuiteAddOns/src", + "Google\\Cloud\\LifeSciences\\": "LifeSciences/src", + "Google\\Cloud\\ManagedKafka\\": "ManagedKafka/src", + "Google\\Cloud\\Optimization\\": "Optimization/src", + "Google\\Cloud\\ServiceUsage\\": "ServiceUsage/src", + "Google\\Cloud\\TextToSpeech\\": "TextToSpeech/src", + "Google\\Cloud\\VmwareEngine\\": "VmwareEngine/src", + "GPBMetadata\\Google\\Logging\\": [ + "Logging/metadata", + "CommonProtos/metadata/Logging" + ], + "GPBMetadata\\Google\\Spanner\\": "Spanner/metadata", + "Google\\ApiCore\\LongRunning\\": "LongRunning/src/ApiCore/LongRunning", + "Google\\Cloud\\ApigeeConnect\\": "ApigeeConnect/src", + "Google\\Cloud\\Dialogflow\\Cx\\": "DialogflowCx/src", + "Google\\Cloud\\GkeMultiCloud\\": "GkeMultiCloud/src", + "Google\\Cloud\\Kms\\Inventory\\": "KmsInventory/src", + "Google\\Cloud\\Parallelstore\\": "Parallelstore/src", + "Google\\Cloud\\Redis\\Cluster\\": "RedisCluster/src", + "Google\\Cloud\\SecretManager\\": "SecretManager/src", + "Google\\Cloud\\ServiceHealth\\": "ServiceHealth/src", + "GPBMetadata\\Google\\Bigtable\\": "Bigtable/metadata", + "GPBMetadata\\Google\\Dataflow\\": "Dataflow/metadata", + "GPBMetadata\\Google\\Devtools\\": "CloudCommonProtos/metadata/Devtools", + "Google\\Cloud\\AccessApproval\\": "AccessApproval/src", + "Google\\Cloud\\ApigeeRegistry\\": "ApigeeRegistry/src", + "Google\\Cloud\\ConfigDelivery\\": "ConfigDelivery/src", + "Google\\Cloud\\ErrorReporting\\": "ErrorReporting/src", + "Google\\Cloud\\OracleDatabase\\": "OracleDatabase/src", + "Google\\Cloud\\PrivateCatalog\\": "PrivateCatalog/src", + "Google\\Cloud\\SecurityCenter\\": "SecurityCenter/src", + "Google\\Cloud\\ServiceControl\\": "ServiceControl/src", + "Google\\Cloud\\Video\\Stitcher\\": "VideoStitcher/src", + "GPBMetadata\\Google\\Appengine\\": "AppEngineAdmin/metadata", + "GPBMetadata\\Google\\Apps\\Card\\": "AppsChat/metadata/Card", + "GPBMetadata\\Google\\Apps\\Meet\\": "AppsMeet/metadata", + "GPBMetadata\\Google\\Cloud\\Iap\\": "Iap/metadata", + "GPBMetadata\\Google\\Cloud\\Ids\\": "Ids/metadata", + "GPBMetadata\\Google\\Cloud\\Kms\\": "Kms/metadata", + "GPBMetadata\\Google\\Cloud\\Run\\": "Run/metadata", + "GPBMetadata\\Google\\Cloud\\Sql\\": "SqlAdmin/metadata", + "GPBMetadata\\Google\\Cloud\\Tpu\\": "Tpu/metadata", + "GPBMetadata\\Google\\Container\\": "Container/metadata", + "GPBMetadata\\Google\\Datastore\\": "Datastore/metadata", + "GPBMetadata\\Google\\Firestore\\": "Firestore/metadata", + "Google\\Cloud\\Billing\\Budgets\\": "BillingBudgets/src", + "Google\\Cloud\\Datastore\\Admin\\": "DatastoreAdmin/src", + "Google\\Cloud\\DeviceStreaming\\": "DeviceStreaming/src", + "Google\\Cloud\\DiscoveryEngine\\": "DiscoveryEngine/src", + "Google\\Cloud\\Iam\\Credentials\\": "IamCredentials/src", + "Google\\Cloud\\MigrationCenter\\": "MigrationCenter/src", + "Google\\Cloud\\NetworkSecurity\\": "NetworkSecurity/src", + "Google\\Cloud\\NetworkServices\\": "NetworkServices/src", + "Google\\Cloud\\PolicySimulator\\": "PolicySimulator/src", + "Google\\Cloud\\ResourceManager\\": "ResourceManager/src", + "Google\\Cloud\\StorageInsights\\": "StorageInsights/src", + "Google\\Cloud\\StorageTransfer\\": "StorageTransfer/src", + "Google\\Cloud\\Storage\\Control\\": "StorageControl/src", + "Google\\Cloud\\TelcoAutomation\\": "TelcoAutomation/src", + "Google\\Shopping\\Merchant\\Lfp\\": "ShoppingMerchantLfp/src", + "GPBMetadata\\Google\\Monitoring\\": "Monitoring/metadata", + "Google\\Cloud\\ArtifactRegistry\\": "ArtifactRegistry/src", + "Google\\Cloud\\AssuredWorkloads\\": "AssuredWorkloads/src", + "Google\\Cloud\\BigQuery\\Storage\\": "BigQueryStorage/src", + "Google\\Cloud\\DeveloperConnect\\": "DeveloperConnect/src", + "Google\\Cloud\\MediaTranslation\\": "MediaTranslation/src", + "Google\\Cloud\\ParameterManager\\": "ParameterManager/src", + "Google\\Cloud\\ServiceDirectory\\": "ServiceDirectory/src", + "Google\\Cloud\\Video\\LiveStream\\": "VideoLiveStream/src", + "Google\\Cloud\\Video\\Transcoder\\": "VideoTranscoder/src", + "Google\\Maps\\RouteOptimization\\": "MapsRouteOptimization/src", + "GPBMetadata\\Google\\Api\\Apikeys\\": "ApiKeys/metadata", + "GPBMetadata\\Google\\Cloud\\Asset\\": "Asset/metadata", + "GPBMetadata\\Google\\Cloud\\Audit\\": "CloudCommonProtos/metadata/Audit", + "GPBMetadata\\Google\\Cloud\\Batch\\": "Batch/metadata", + "GPBMetadata\\Google\\Cloud\\Redis\\": "Redis/metadata", + "GPBMetadata\\Google\\Cloud\\Shell\\": "Shell/metadata", + "GPBMetadata\\Google\\Cloud\\Tasks\\": "Tasks/metadata", + "GPBMetadata\\Google\\Longrunning\\": "LongRunning/metadata/Longrunning", + "GPBMetadata\\Google\\Privacy\\Dlp\\": "Dlp/metadata", + "Google\\Cloud\\BareMetalSolution\\": "BareMetalSolution/src", + "Google\\Cloud\\ContainerAnalysis\\": "ContainerAnalysis/src", + "Google\\Cloud\\EssentialContacts\\": "EssentialContacts/src", + "Google\\Cloud\\FinancialServices\\": "FinancialServices/src", + "Google\\Cloud\\ManagedIdentities\\": "ManagedIdentities/src", + "Google\\Cloud\\NetworkManagement\\": "NetworkManagement/src", + "Google\\Cloud\\Security\\PublicCA\\": "SecurityPublicCA/src", + "Google\\Cloud\\ServiceManagement\\": "ServiceManagement/src", + "Google\\Cloud\\VideoIntelligence\\": "VideoIntelligence/src", + "Google\\Shopping\\Merchant\\Quota\\": "ShoppingMerchantQuota/src", + "GPBMetadata\\Google\\Cloud\\Apihub\\": "ApiHub/metadata", + "GPBMetadata\\Google\\Cloud\\Apphub\\": "AppHub/metadata", + "GPBMetadata\\Google\\Cloud\\Automl\\": "AutoMl/metadata", + "GPBMetadata\\Google\\Cloud\\Common\\": "CloudCommonProtos/metadata/Common", + "GPBMetadata\\Google\\Cloud\\Config\\": "Config/metadata", + "GPBMetadata\\Google\\Cloud\\Deploy\\": "Deploy/metadata", + "GPBMetadata\\Google\\Cloud\\Gkehub\\": "GkeHub/metadata", + "GPBMetadata\\Google\\Cloud\\Lustre\\": "Lustre/metadata", + "GPBMetadata\\Google\\Cloud\\Netapp\\": "NetApp/metadata", + "GPBMetadata\\Google\\Cloud\\Retail\\": "Retail/metadata", + "GPBMetadata\\Google\\Cloud\\Speech\\": "Speech/metadata", + "GPBMetadata\\Google\\Cloud\\Talent\\": "Talent/metadata", + "GPBMetadata\\Google\\Cloud\\Vision\\": "Vision/metadata", + "GPBMetadata\\Google\\Shopping\\Css\\": "ShoppingCss/metadata", + "Google\\Cloud\\BigQuery\\Migration\\": "BigQueryMigration/src", + "Google\\Cloud\\CertificateManager\\": "CertificateManager/src", + "Google\\Cloud\\GkeConnect\\Gateway\\": "GkeConnectGateway/src", + "Google\\Cloud\\Security\\PrivateCA\\": "SecurityPrivateCa/src", + "Google\\Cloud\\WebSecurityScanner\\": "WebSecurityScanner/src", + "GPBMetadata\\Google\\Ads\\Admanager\\": "AdsAdManager/metadata", + "GPBMetadata\\Google\\Cloud\\Alloydb\\": "AlloyDb/metadata", + "GPBMetadata\\Google\\Cloud\\Billing\\": "Billing/metadata", + "GPBMetadata\\Google\\Cloud\\Channel\\": "Channel/metadata", + "GPBMetadata\\Google\\Cloud\\Compute\\": "Compute/metadata", + "GPBMetadata\\Google\\Cloud\\Domains\\": "Domains/metadata", + "GPBMetadata\\Google\\Cloud\\Oslogin\\": "OsLogin/metadata", + "GPBMetadata\\Google\\Cloud\\Secrets\\": "SecretManager/metadata", + "GPBMetadata\\Google\\Cloud\\Support\\": "Support/metadata", + "GPBMetadata\\Google\\Cloud\\Webrisk\\": "WebRisk/metadata", + "GPBMetadata\\Google\\Shopping\\Type\\": "ShoppingCommonProtos/metadata/Type", + "Google\\Apps\\Events\\Subscriptions\\": "AppsEventsSubscriptions/src", + "Google\\Cloud\\BigQuery\\Connection\\": "BigQueryConnection/src", + "Google\\Cloud\\BinaryAuthorization\\": "BinaryAuthorization/src", + "Google\\Cloud\\DataCatalog\\Lineage\\": "DataCatalogLineage/src", + "Google\\Cloud\\Eventarc\\Publishing\\": "EventarcPublishing/src", + "Google\\Cloud\\GeminiDataAnalytics\\": "GeminiDataAnalytics/src", + "Google\\Cloud\\NetworkConnectivity\\": "NetworkConnectivity/src", + "Google\\Cloud\\RecaptchaEnterprise\\": "RecaptchaEnterprise/src", + "Google\\Cloud\\SecureSourceManager\\": "SecureSourceManager/src", + "Google\\Maps\\FleetEngine\\Delivery\\": "MapsFleetEngineDelivery/src", + "Google\\Shopping\\Merchant\\Reports\\": "ShoppingMerchantReports/src", + "Google\\Shopping\\Merchant\\Reviews\\": "ShoppingMerchantReviews/src", + "GPBMetadata\\Google\\Analytics\\Data\\": "AnalyticsData/metadata", + "GPBMetadata\\Google\\Cloud\\Backupdr\\": "BackupDr/metadata", + "GPBMetadata\\Google\\Cloud\\Clouddms\\": "Dms/metadata", + "GPBMetadata\\Google\\Cloud\\Dataform\\": "Dataform/metadata", + "GPBMetadata\\Google\\Cloud\\Dataplex\\": "Dataplex/metadata", + "GPBMetadata\\Google\\Cloud\\Dataproc\\": "Dataproc/metadata", + "GPBMetadata\\Google\\Cloud\\Eventarc\\": "Eventarc/metadata", + "GPBMetadata\\Google\\Cloud\\Language\\": "Language/metadata", + "GPBMetadata\\Google\\Cloud\\Memcache\\": "Memcache/metadata", + "GPBMetadata\\Google\\Cloud\\Osconfig\\": "OsConfig/metadata", + "GPBMetadata\\Google\\Devtools\\Build\\": "Build/metadata", + "Google\\Cloud\\BigQuery\\Reservation\\": "BigQueryReservation/src", + "Google\\Cloud\\CloudControlsPartner\\": "ControlsPartner/src", + "Google\\Cloud\\PolicyTroubleshooter\\": "PolicyTroubleshooter/src", + "Google\\Cloud\\RecommendationEngine\\": "RecommendationEngine/src", + "Google\\Shopping\\Merchant\\Accounts\\": "ShoppingMerchantAccounts/src", + "Google\\Shopping\\Merchant\\Products\\": "ShoppingMerchantProducts/src", + "GPBMetadata\\Google\\Analytics\\Admin\\": "AnalyticsAdmin/metadata", + "GPBMetadata\\Google\\Api\\Cloudquotas\\": "Quotas/metadata", + "GPBMetadata\\Google\\Cloud\\Chronicle\\": "Chronicle/metadata", + "GPBMetadata\\Google\\Cloud\\Filestore\\": "Filestore/metadata", + "GPBMetadata\\Google\\Cloud\\Functions\\": "Functions/metadata", + "GPBMetadata\\Google\\Cloud\\Gkebackup\\": "GkeBackup/metadata", + "GPBMetadata\\Google\\Cloud\\Metastore\\": "DataprocMetastore/metadata", + "GPBMetadata\\Google\\Cloud\\Notebooks\\": "Notebooks/metadata", + "GPBMetadata\\Google\\Cloud\\Orgpolicy\\": [ + "OrgPolicy/metadata", + "Asset/external/metadata/Cloud/Orgpolicy" + ], + "GPBMetadata\\Google\\Cloud\\Scheduler\\": "Scheduler/metadata", + "GPBMetadata\\Google\\Cloud\\Translate\\": "Translate/metadata", + "GPBMetadata\\Google\\Cloud\\Vpcaccess\\": "VpcAccess/metadata", + "GPBMetadata\\Google\\Cloud\\Workflows\\": "Workflows/metadata", + "GPBMetadata\\Google\\Datastore\\Admin\\": "DatastoreAdmin/metadata", + "GPBMetadata\\Google\\Iam\\Credentials\\": "IamCredentials/metadata", + "GPBMetadata\\Google\\Storage\\Control\\": "StorageControl/metadata", + "GPBMetadata\\Google\\Storagetransfer\\": "StorageTransfer/metadata", + "Google\\Ads\\MarketingPlatform\\Admin\\": "AdsMarketingPlatformAdmin/src", + "Google\\Cloud\\AdvisoryNotifications\\": "AdvisoryNotifications/src", + "Google\\Cloud\\BigQuery\\AnalyticsHub\\": "BigQueryAnalyticsHub/src", + "Google\\Cloud\\BigQuery\\DataExchange\\": "BigQueryDataExchange/src", + "Google\\Cloud\\BigQuery\\DataPolicies\\": "BigQueryDataPolicies/src", + "Google\\Cloud\\BigQuery\\DataTransfer\\": "BigQueryDataTransfer/src", + "Google\\Cloud\\ConfidentialComputing\\": "ConfidentialComputing/src", + "Google\\Cloud\\ContactCenterInsights\\": "ContactCenterInsights/src", + "GPBMetadata\\Google\\Api\\Serviceusage\\": "ServiceUsage/metadata", + "GPBMetadata\\Google\\Apps\\Script\\Type\\": "GSuiteAddOns/external/metadata", + "GPBMetadata\\Google\\Cloud\\Aiplatform\\": "AiPlatform/metadata", + "GPBMetadata\\Google\\Cloud\\Apigateway\\": "ApiGateway/metadata", + "GPBMetadata\\Google\\Cloud\\Datafusion\\": "DataFusion/metadata", + "GPBMetadata\\Google\\Cloud\\Datastream\\": "Datastream/metadata", + "GPBMetadata\\Google\\Cloud\\Dialogflow\\": "Dialogflow/metadata", + "GPBMetadata\\Google\\Cloud\\Documentai\\": "DocumentAi/metadata", + "GPBMetadata\\Google\\Cloud\\Modelarmor\\": "ModelArmor/metadata", + "GPBMetadata\\Google\\Maps\\Fleetengine\\": "MapsFleetEngine/metadata", + "Google\\Cloud\\BeyondCorp\\AppGateways\\": "BeyondCorpAppGateways/src", + "Google\\Cloud\\StorageBatchOperations\\": "StorageBatchOperations/src", + "Google\\Shopping\\Merchant\\Promotions\\": "ShoppingMerchantPromotions/src", + "GPBMetadata\\Google\\Cloud\\Datacatalog\\": "DataCatalog/metadata", + "GPBMetadata\\Google\\Cloud\\Edgenetwork\\": "EdgeNetwork/metadata", + "GPBMetadata\\Google\\Cloud\\Memorystore\\": "Memorystore/metadata", + "GPBMetadata\\Google\\Cloud\\Recommender\\": "Recommender/metadata", + "GPBMetadata\\Google\\Cloud\\Vmmigration\\": "VmMigration/metadata", + "Google\\Cloud\\PrivilegedAccessManager\\": "PrivilegedAccessManager/src", + "Google\\Identity\\AccessContextManager\\": "AccessContextManager/src", + "Google\\Shopping\\Merchant\\Conversions\\": "ShoppingMerchantConversions/src", + "Google\\Shopping\\Merchant\\DataSources\\": "ShoppingMerchantDataSources/src", + "Google\\Shopping\\Merchant\\Inventories\\": "ShoppingMerchantInventories/src", + "GPBMetadata\\Google\\Api\\Servicecontrol\\": "ServiceControl/metadata", + "GPBMetadata\\Google\\Cloud\\Datalabeling\\": "DataLabeling/metadata", + "GPBMetadata\\Google\\Cloud\\Gsuiteaddons\\": "GSuiteAddOns/metadata", + "GPBMetadata\\Google\\Cloud\\Lifesciences\\": "LifeSciences/metadata", + "GPBMetadata\\Google\\Cloud\\Managedkafka\\": "ManagedKafka/metadata", + "GPBMetadata\\Google\\Cloud\\Optimization\\": "Optimization/metadata", + "GPBMetadata\\Google\\Cloud\\Texttospeech\\": "TextToSpeech/metadata", + "GPBMetadata\\Google\\Cloud\\Vmwareengine\\": "VmwareEngine/metadata", + "Google\\Cloud\\BeyondCorp\\AppConnectors\\": "BeyondCorpAppConnectors/src", + "Google\\Cloud\\PolicyTroubleshooter\\Iam\\": "PolicyTroubleshooterIam/src", + "Google\\Cloud\\RapidMigrationAssessment\\": "RapidMigrationAssessment/src", + "Google\\Cloud\\SecurityCenterManagement\\": "SecurityCenterManagement/src", + "GPBMetadata\\Google\\Cloud\\Apigeeconnect\\": "ApigeeConnect/metadata", + "GPBMetadata\\Google\\Cloud\\Dialogflow\\Cx\\": "DialogflowCx/metadata", + "GPBMetadata\\Google\\Cloud\\Gkemulticloud\\": "GkeMultiCloud/metadata", + "GPBMetadata\\Google\\Cloud\\Kms\\Inventory\\": "KmsInventory/metadata", + "GPBMetadata\\Google\\Cloud\\Parallelstore\\": "Parallelstore/metadata", + "GPBMetadata\\Google\\Cloud\\Redis\\Cluster\\": "RedisCluster/metadata", + "GPBMetadata\\Google\\Cloud\\Secretmanager\\": "SecretManager/metadata", + "GPBMetadata\\Google\\Cloud\\Servicehealth\\": "ServiceHealth/metadata", + "GPBMetadata\\Google\\Devtools\\Cloudbuild\\": "Build/metadata", + "GPBMetadata\\Google\\Devtools\\Cloudtrace\\": "Trace/metadata", + "Google\\Cloud\\BeyondCorp\\AppConnections\\": "BeyondCorpAppConnections/src", + "Google\\Cloud\\BeyondCorp\\ClientGateways\\": "BeyondCorpClientGateways/src", + "Google\\Shopping\\Merchant\\Notifications\\": "ShoppingMerchantNotifications/src", + "Google\\Shopping\\Merchant\\OrderTracking\\": "ShoppingMerchantOrderTracking/src", + "GPBMetadata\\Google\\Cloud\\Accessapproval\\": "AccessApproval/metadata", + "GPBMetadata\\Google\\Cloud\\Apigeeregistry\\": "ApigeeRegistry/metadata", + "GPBMetadata\\Google\\Cloud\\Configdelivery\\": "ConfigDelivery/metadata", + "GPBMetadata\\Google\\Cloud\\Oracledatabase\\": "OracleDatabase/metadata", + "GPBMetadata\\Google\\Cloud\\Privatecatalog\\": "PrivateCatalog/metadata", + "GPBMetadata\\Google\\Cloud\\Securitycenter\\": "SecurityCenter/metadata", + "GPBMetadata\\Google\\Cloud\\Video\\Stitcher\\": "VideoStitcher/metadata", + "GPBMetadata\\Google\\Api\\Servicemanagement\\": "ServiceManagement/metadata", + "GPBMetadata\\Google\\Cloud\\Billing\\Budgets\\": "BillingBudgets/metadata", + "GPBMetadata\\Google\\Cloud\\Devicestreaming\\": "DeviceStreaming/metadata", + "GPBMetadata\\Google\\Cloud\\Discoveryengine\\": "DiscoveryEngine/metadata", + "GPBMetadata\\Google\\Cloud\\Migrationcenter\\": "MigrationCenter/metadata", + "GPBMetadata\\Google\\Cloud\\Networksecurity\\": "NetworkSecurity/metadata", + "GPBMetadata\\Google\\Cloud\\Networkservices\\": "NetworkServices/metadata", + "GPBMetadata\\Google\\Cloud\\Policysimulator\\": "PolicySimulator/metadata", + "GPBMetadata\\Google\\Cloud\\Resourcemanager\\": "ResourceManager/metadata", + "GPBMetadata\\Google\\Cloud\\Storageinsights\\": "StorageInsights/metadata", + "GPBMetadata\\Google\\Cloud\\Telcoautomation\\": "TelcoAutomation/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Lfp\\": "ShoppingMerchantLfp/metadata", + "Google\\Cloud\\ManagedKafka\\SchemaRegistry\\": "ManagedKafkaSchemaRegistry/src", + "GPBMetadata\\Google\\Cloud\\Assuredworkloads\\": "AssuredWorkloads/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Storage\\": "BigQueryStorage/metadata", + "GPBMetadata\\Google\\Cloud\\Developerconnect\\": "DeveloperConnect/metadata", + "GPBMetadata\\Google\\Cloud\\Mediatranslation\\": "MediaTranslation/metadata", + "GPBMetadata\\Google\\Cloud\\Parametermanager\\": "ParameterManager/metadata", + "GPBMetadata\\Google\\Cloud\\Servicedirectory\\": "ServiceDirectory/metadata", + "GPBMetadata\\Google\\Cloud\\Video\\Livestream\\": "VideoLiveStream/metadata", + "GPBMetadata\\Google\\Cloud\\Video\\Transcoder\\": "VideoTranscoder/metadata", + "GPBMetadata\\Google\\Devtools\\Cloudprofiler\\": "Profiler/metadata", + "GPBMetadata\\Google\\Maps\\Routeoptimization\\": "MapsRouteOptimization/metadata", + "GPBMetadata\\Google\\Cloud\\Baremetalsolution\\": "BareMetalSolution/metadata", + "GPBMetadata\\Google\\Cloud\\Essentialcontacts\\": "EssentialContacts/metadata", + "GPBMetadata\\Google\\Cloud\\Financialservices\\": "FinancialServices/metadata", + "GPBMetadata\\Google\\Cloud\\Managedidentities\\": "ManagedIdentities/metadata", + "GPBMetadata\\Google\\Cloud\\Networkmanagement\\": "NetworkManagement/metadata", + "GPBMetadata\\Google\\Cloud\\Security\\Publicca\\": "SecurityPublicCA/metadata", + "GPBMetadata\\Google\\Cloud\\Videointelligence\\": "VideoIntelligence/metadata", + "GPBMetadata\\Google\\Marketingplatform\\Admin\\": "AdsMarketingPlatformAdmin/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Quota\\": "ShoppingMerchantQuota/metadata", + "Google\\Cloud\\Commerce\\Consumer\\Procurement\\": "CommerceConsumerProcurement/src", + "Google\\Cloud\\Orchestration\\Airflow\\Service\\": "OrchestrationAirflow/src", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Migration\\": "BigQueryMigration/metadata", + "GPBMetadata\\Google\\Cloud\\Certificatemanager\\": "CertificateManager/metadata", + "GPBMetadata\\Google\\Cloud\\Gkeconnect\\Gateway\\": "GkeConnectGateway/metadata", + "GPBMetadata\\Google\\Cloud\\Security\\Privateca\\": "SecurityPrivateCa/metadata", + "GPBMetadata\\Google\\Cloud\\Websecurityscanner\\": "WebSecurityScanner/metadata", + "GPBMetadata\\Google\\Apps\\Events\\Subscriptions\\": "AppsEventsSubscriptions/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Connection\\": "BigQueryConnection/metadata", + "GPBMetadata\\Google\\Cloud\\Binaryauthorization\\": "BinaryAuthorization/metadata", + "GPBMetadata\\Google\\Cloud\\Datacatalog\\Lineage\\": "DataCatalogLineage/metadata", + "GPBMetadata\\Google\\Cloud\\Eventarc\\Publishing\\": "EventarcPublishing/metadata", + "GPBMetadata\\Google\\Cloud\\Geminidataanalytics\\": "GeminiDataAnalytics/metadata", + "GPBMetadata\\Google\\Cloud\\Networkconnectivity\\": "NetworkConnectivity/metadata", + "GPBMetadata\\Google\\Cloud\\Recaptchaenterprise\\": "RecaptchaEnterprise/metadata", + "GPBMetadata\\Google\\Cloud\\Securesourcemanager\\": "SecureSourceManager/metadata", + "GPBMetadata\\Google\\Devtools\\Artifactregistry\\": "ArtifactRegistry/metadata", + "GPBMetadata\\Google\\Maps\\Fleetengine\\Delivery\\": "MapsFleetEngineDelivery/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Reports\\": "ShoppingMerchantReports/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Reviews\\": "ShoppingMerchantReviews/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Reservation\\": "BigQueryReservation/metadata", + "GPBMetadata\\Google\\Cloud\\Cloudcontrolspartner\\": "ControlsPartner/metadata", + "GPBMetadata\\Google\\Cloud\\Policytroubleshooter\\": "PolicyTroubleshooter/metadata", + "GPBMetadata\\Google\\Cloud\\Recommendationengine\\": "RecommendationEngine/metadata", + "GPBMetadata\\Google\\Devtools\\Containeranalysis\\": "ContainerAnalysis/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Accounts\\": "ShoppingMerchantAccounts/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Products\\": "ShoppingMerchantProducts/metadata", + "GPBMetadata\\Google\\Cloud\\Advisorynotifications\\": "AdvisoryNotifications/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Analyticshub\\": "BigQueryAnalyticsHub/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Dataexchange\\": "BigQueryDataExchange/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Datapolicies\\": "BigQueryDataPolicies/metadata", + "GPBMetadata\\Google\\Cloud\\Bigquery\\Datatransfer\\": "BigQueryDataTransfer/metadata", + "GPBMetadata\\Google\\Cloud\\Confidentialcomputing\\": "ConfidentialComputing/metadata", + "GPBMetadata\\Google\\Cloud\\Contactcenterinsights\\": "ContactCenterInsights/metadata", + "GPBMetadata\\Google\\Cloud\\Beyondcorp\\Appgateways\\": "BeyondCorpAppGateways/metadata", + "GPBMetadata\\Google\\Cloud\\Storagebatchoperations\\": "StorageBatchOperations/metadata", + "GPBMetadata\\Google\\Devtools\\Clouderrorreporting\\": "ErrorReporting/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Promotions\\": "ShoppingMerchantPromotions/metadata", + "Google\\Cloud\\BeyondCorp\\ClientConnectorServices\\": "BeyondCorpClientConnectorServices/src", + "GPBMetadata\\Google\\Cloud\\Privilegedaccessmanager\\": "PrivilegedAccessManager/metadata", + "GPBMetadata\\Google\\Identity\\Accesscontextmanager\\": "AccessContextManager/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Conversions\\": "ShoppingMerchantConversions/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Datasources\\": "ShoppingMerchantDataSources/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Inventories\\": "ShoppingMerchantInventories/metadata", + "GPBMetadata\\Google\\Cloud\\Beyondcorp\\Appconnectors\\": "BeyondCorpAppConnectors/metadata", + "GPBMetadata\\Google\\Cloud\\Policytroubleshooter\\Iam\\": "PolicyTroubleshooterIam/metadata", + "GPBMetadata\\Google\\Cloud\\Rapidmigrationassessment\\": "RapidMigrationAssessment/metadata", + "GPBMetadata\\Google\\Cloud\\Securitycentermanagement\\": "SecurityCenterManagement/metadata", + "GPBMetadata\\Google\\Cloud\\Beyondcorp\\Appconnections\\": "BeyondCorpAppConnections/metadata", + "GPBMetadata\\Google\\Cloud\\Beyondcorp\\Clientgateways\\": "BeyondCorpClientGateways/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Notifications\\": "ShoppingMerchantNotifications/metadata", + "GPBMetadata\\Google\\Shopping\\Merchant\\Ordertracking\\": "ShoppingMerchantOrderTracking/metadata", + "GPBMetadata\\Google\\Cloud\\Managedkafka\\Schemaregistry\\": "ManagedKafkaSchemaRegistry/metadata", + "GPBMetadata\\Google\\Cloud\\Commerce\\Consumer\\Procurement\\": "CommerceConsumerProcurement/metadata", + "GPBMetadata\\Google\\Cloud\\Orchestration\\Airflow\\Service\\": "OrchestrationAirflow/metadata", + "GPBMetadata\\Google\\Cloud\\Beyondcorp\\Clientconnectorservices\\": "BeyondCorpClientConnectorServices/metadata" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Dave Supplee", + "email": "dwsupplee@gmail.com" + }, + { + "name": "John Pedrie", + "email": "john@pedrie.com" + } + ], + "description": "Google Cloud Client Library", + "homepage": "http://github.com/googleapis/google-cloud-php", + "keywords": [ + "Tasks", + "big query", + "bigquery", + "bigtable", + "cloud", + "datastore", + "gcs", + "google", + "google api", + "google api client", + "google apis", + "google apis client", + "google cloud", + "google cloud platform", + "kms", + "language", + "natural language", + "pub sub", + "pubsub", + "spanner", + "speech", + "stackdriver logging", + "storage", + "translate", + "translation", + "vision" + ], + "support": { + "issues": "https://github.com/googleapis/google-cloud-php/issues", + "source": "https://github.com/googleapis/google-cloud-php/tree/v0.296.0" + }, + "time": "2025-07-18T20:06:03+00:00" + }, + { + "name": "google/gax", + "version": "v1.36.1", + "source": { + "type": "git", + "url": "https://github.com/googleapis/gax-php.git", + "reference": "afdac3bc38a3b17d70668115d7b1a97289ac4d72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/googleapis/gax-php/zipball/afdac3bc38a3b17d70668115d7b1a97289ac4d72", + "reference": "afdac3bc38a3b17d70668115d7b1a97289ac4d72", + "shasum": "" + }, + "require": { + "google/auth": "^1.45", + "google/common-protos": "^4.4", + "google/grpc-gcp": "^0.4", + "google/longrunning": "~0.4", + "google/protobuf": "^v3.25.3||^4.26.1", + "grpc/grpc": "^1.13", + "guzzlehttp/promises": "^2.0", + "guzzlehttp/psr7": "^2.0", + "php": "^8.0", + "ramsey/uuid": "^4.0" + }, + "conflict": { + "ext-protobuf": "<3.7.0" + }, + "require-dev": { + "phpspec/prophecy-phpunit": "^2.1", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^9.6", + "squizlabs/php_codesniffer": "3.*" + }, + "type": "library", + "autoload": { + "psr-4": { + "Google\\ApiCore\\": "src", + "GPBMetadata\\ApiCore\\": "metadata/ApiCore" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "Google API Core for PHP", + "homepage": "https://github.com/googleapis/gax-php", + "keywords": [ + "google" + ], + "support": { + "issues": "https://github.com/googleapis/gax-php/issues", + "source": "https://github.com/googleapis/gax-php/tree/v1.36.1" + }, + "time": "2025-05-20T19:50:43+00:00" + }, + { + "name": "google/grpc-gcp", + "version": "v0.4.1", + "source": { + "type": "git", + "url": "https://github.com/GoogleCloudPlatform/grpc-gcp-php.git", + "reference": "e585b7721bbe806ef45b5c52ae43dfc2bff89968" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GoogleCloudPlatform/grpc-gcp-php/zipball/e585b7721bbe806ef45b5c52ae43dfc2bff89968", + "reference": "e585b7721bbe806ef45b5c52ae43dfc2bff89968", + "shasum": "" + }, + "require": { + "google/auth": "^1.3", + "google/protobuf": "^v3.25.3||^4.26.1", + "grpc/grpc": "^v1.13.0", + "php": "^8.0", + "psr/cache": "^1.0.1||^2.0.0||^3.0.0" + }, + "require-dev": { + "google/cloud-spanner": "^1.7", + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Grpc\\Gcp\\": "src/" + }, + "classmap": [ + "src/generated/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "gRPC GCP library for channel management", + "support": { + "issues": "https://github.com/GoogleCloudPlatform/grpc-gcp-php/issues", + "source": "https://github.com/GoogleCloudPlatform/grpc-gcp-php/tree/v0.4.1" + }, + "time": "2025-02-19T21:53:22+00:00" + }, + { + "name": "google/protobuf", + "version": "v4.31.1", + "source": { + "type": "git", + "url": "https://github.com/protocolbuffers/protobuf-php.git", + "reference": "2b028ce8876254e2acbeceea7d9b573faad41864" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/protocolbuffers/protobuf-php/zipball/2b028ce8876254e2acbeceea7d9b573faad41864", + "reference": "2b028ce8876254e2acbeceea7d9b573faad41864", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": ">=5.0.0" + }, + "suggest": { + "ext-bcmath": "Need to support JSON deserialization" + }, + "type": "library", + "autoload": { + "psr-4": { + "Google\\Protobuf\\": "src/Google/Protobuf", + "GPBMetadata\\Google\\Protobuf\\": "src/GPBMetadata/Google/Protobuf" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "proto library for PHP", + "homepage": "https://developers.google.com/protocol-buffers/", + "keywords": [ + "proto" + ], + "support": { + "source": "https://github.com/protocolbuffers/protobuf-php/tree/v4.31.1" + }, + "time": "2025-05-28T18:52:35+00:00" + }, + { + "name": "grpc/grpc", + "version": "1.57.0", + "source": { + "type": "git", + "url": "https://github.com/grpc/grpc-php.git", + "reference": "b610c42022ed3a22f831439cb93802f2a4502fdf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/grpc/grpc-php/zipball/b610c42022ed3a22f831439cb93802f2a4502fdf", + "reference": "b610c42022ed3a22f831439cb93802f2a4502fdf", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "google/auth": "^v1.3.0" + }, + "suggest": { + "ext-protobuf": "For better performance, install the protobuf C extension.", + "google/protobuf": "To get started using grpc quickly, install the native protobuf library." + }, + "type": "library", + "autoload": { + "psr-4": { + "Grpc\\": "src/lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "description": "gRPC library for PHP", + "homepage": "https://grpc.io", + "keywords": [ + "rpc" + ], + "support": { + "source": "https://github.com/grpc/grpc-php/tree/v1.57.0" + }, + "time": "2023-08-14T23:57:54+00:00" + }, { "name": "guzzlehttp/guzzle", "version": "7.9.3", @@ -4316,6 +5386,224 @@ }, "time": "2019-03-08T08:55:37+00:00" }, + { + "name": "ramsey/collection", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.1.1" + }, + "time": "2025-03-22T05:38:12+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.9.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/4e0e23cc785f0724a0e838279a9eb03f28b092a0", + "reference": "4e0e23cc785f0724a0e838279a9eb03f28b092a0", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.25", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.9.0" + }, + "time": "2025-06-25T14:20:11+00:00" + }, + { + "name": "rize/uri-template", + "version": "0.4.0", + "source": { + "type": "git", + "url": "https://github.com/rize/UriTemplate.git", + "reference": "56f374a9a42c7c3998f8b55b6b21b224de90c58b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rize/UriTemplate/zipball/56f374a9a42c7c3998f8b55b6b21b224de90c58b", + "reference": "56f374a9a42c7c3998f8b55b6b21b224de90c58b", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.63", + "phpstan/phpstan": "^1.12", + "phpunit/phpunit": "~10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Rize\\": "src/Rize" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marut K", + "homepage": "http://twitter.com/rezigned" + } + ], + "description": "PHP URI Template (RFC 6570) supports both expansion & extraction", + "keywords": [ + "RFC 6570", + "template", + "uri" + ], + "support": { + "issues": "https://github.com/rize/UriTemplate/issues", + "source": "https://github.com/rize/UriTemplate/tree/0.4.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/rezigned", + "type": "custom" + }, + { + "url": "https://github.com/rezigned", + "type": "github" + }, + { + "url": "https://opencollective.com/rize-uri-template", + "type": "open_collective" + } + ], + "time": "2024-11-27T12:13:42+00:00" + }, { "name": "sentry/sentry", "version": "4.14.1", diff --git a/migrations/Version20250721112006.php b/migrations/Version20250721112006.php new file mode 100644 index 0000000..2f163bf --- /dev/null +++ b/migrations/Version20250721112006.php @@ -0,0 +1,32 @@ +addSql('CREATE TABLE compute (id SERIAL NOT NULL, instance_id VARCHAR(255) NOT NULL, zone VARCHAR(255) NOT NULL, internal_ip VARCHAR(255) NOT NULL, external_ip VARCHAR(255) NOT NULL, status VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id))'); + } + + public function down(Schema $schema): void + { + // this down() migration is auto-generated, please modify it to your needs + $this->addSql('CREATE SCHEMA public'); + $this->addSql('DROP TABLE compute'); + } +} diff --git a/src/Controller/Artemis/Infra/ServerController.php b/src/Controller/Artemis/Infra/ServerController.php new file mode 100644 index 0000000..78d8549 --- /dev/null +++ b/src/Controller/Artemis/Infra/ServerController.php @@ -0,0 +1,28 @@ +query->has('sync')) { + $computeEngineClient->list(); + } + $lists = []; + foreach ($computeEngineClient->list() as $instance) { + $lists[] = $computeEngineClient->detail($instance); + } + return $this->render('artemis/infra/server.twig',[ + 'lists' => $lists + ]); + } +} diff --git a/src/Entity/Compute.php b/src/Entity/Compute.php new file mode 100644 index 0000000..0c48646 --- /dev/null +++ b/src/Entity/Compute.php @@ -0,0 +1,96 @@ +id; + } + + public function getInstanceId(): ?string + { + return $this->instanceId; + } + + public function setInstanceId(string $instanceId): static + { + $this->instanceId = $instanceId; + + return $this; + } + + public function getZone(): ?string + { + return $this->zone; + } + + public function setZone(string $zone): static + { + $this->zone = $zone; + + return $this; + } + + public function getInternalIp(): ?string + { + return $this->internalIp; + } + + public function setInternalIp(string $internalIp): static + { + $this->internalIp = $internalIp; + + return $this; + } + + public function getExternalIp(): ?string + { + return $this->externalIp; + } + + public function setExternalIp(string $externalIp): static + { + $this->externalIp = $externalIp; + + return $this; + } + + public function getStatus(): ?string + { + return $this->status; + } + + public function setStatus(?string $status): static + { + $this->status = $status; + + return $this; + } +} diff --git a/src/Repository/ComputeRepository.php b/src/Repository/ComputeRepository.php new file mode 100644 index 0000000..f8b3532 --- /dev/null +++ b/src/Repository/ComputeRepository.php @@ -0,0 +1,43 @@ + + */ +class ComputeRepository extends ServiceEntityRepository +{ + public function __construct(ManagerRegistry $registry) + { + parent::__construct($registry, Compute::class); + } + + // /** + // * @return Compute[] Returns an array of Compute objects + // */ + // public function findByExampleField($value): array + // { + // return $this->createQueryBuilder('c') + // ->andWhere('c.exampleField = :val') + // ->setParameter('val', $value) + // ->orderBy('c.id', 'ASC') + // ->setMaxResults(10) + // ->getQuery() + // ->getResult() + // ; + // } + + // public function findOneBySomeField($value): ?Compute + // { + // return $this->createQueryBuilder('c') + // ->andWhere('c.exampleField = :val') + // ->setParameter('val', $value) + // ->getQuery() + // ->getOneOrNullResult() + // ; + // } +} diff --git a/src/Service/Google/ComputeEngineClient.php b/src/Service/Google/ComputeEngineClient.php new file mode 100644 index 0000000..a88baf1 --- /dev/null +++ b/src/Service/Google/ComputeEngineClient.php @@ -0,0 +1,74 @@ +client = new InstancesClient([ + 'credentials' => $kernel->getProjectDir()."/account.json" + ]); + $content = file_get_contents($kernel->getProjectDir()."/account.json"); + $content = json_decode($content); + + $this->projectId = $content->project_id; + $this->zone = "europe-west4-a"; + } + public function list() + { + $request = (new ListInstancesRequest()) + ->setProject($this->projectId) + ->setZone($this->zone); + $instancesList = $this->client->list($request); + $instances = []; + /** @var Instance $instance */ + foreach ($instancesList as $instance) { + if(str_contains($instance->getName(),'srv-')) { + /** @var NetworkInterface $network */ + $network = $instance->getNetworkInterfaces()[0]; + /** @var AccessConfig $accessConfig */ + $accessConfig = $network->getAccessConfigs()[0]; + + $compute = new Compute(); + $compute->setInstanceId($instance->getId()); + $compute->setZone(str_replace("https://www.googleapis.com/compute/v1/projects/".$this->projectId."/zones/","",$instance->getZone())); + $compute->setInternalIp($network->getNetworkIP()); + $compute->setExternalIp($accessConfig->getNatIP()); + $compute->setStatus("down"); + $this->entityManager->persist($compute); + $instances[] = $compute; + } + } + $this->entityManager->flush(); + return $instances; + } + + public function detail(Compute $compute) + { + $request = (new GetInstanceRequest()) + ->setInstance($compute->getInstanceId()) + ->setProject($this->projectId) + ->setZone($this->zone); + $instance = $this->client->get($request); + + $compute->setStatus($instance->getStatus()); + $compute->name = $instance->getName(); + return$compute; + } +} diff --git a/templates/artemis/base.twig b/templates/artemis/base.twig index 42b1209..7d20e97 100644 --- a/templates/artemis/base.twig +++ b/templates/artemis/base.twig @@ -26,6 +26,24 @@ background-color: #4b5563; border-radius: 20px; } + /* Hide submenu by default */ + .submenu { + max-height: 0; + overflow: hidden; + transition: max-height 0.3s ease-out; + } + /* Show submenu when active */ + .submenu.active { + max-height: 500px; /* A value large enough to contain all submenu items */ + transition: max-height 0.3s ease-in; + } + /* Rotate arrow icon */ + .arrow-icon { + transition: transform 0.3s ease-in-out; + } + .arrow-icon.rotate { + transform: rotate(90deg); + }
@@ -45,6 +63,38 @@ Tableau de bord +