diff --git a/gcp_docs.ipynb b/gcp_docs.ipynb index 3cdc034..99d1a22 100644 --- a/gcp_docs.ipynb +++ b/gcp_docs.ipynb @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 2, "id": "f85f4df7-3173-4ed9-ae1b-83b02088b00f", "metadata": {}, "outputs": [], @@ -96,7 +96,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 3, "id": "46dff4b3-949f-40ac-b8e3-cd89c5b20461", "metadata": {}, "outputs": [], @@ -106,27 +106,28 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 4, "id": "5c6233b9-498b-44e4-9a87-e58aaa281ba9", "metadata": {}, "outputs": [], "source": [ - "eventarc = Website('https://cloud.google.com/eventarc/docs')" + "# eventarc = Website('https://cloud.google.com/eventarc/docs')\n", + "eventarc = Website('https://cloud.google.com/compute/docs/overview')" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 5, "id": "afa176e2-4024-493a-be97-f2526cca92cd", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'Eventarc overview'" + "'Compute Engine overview'" ] }, - "execution_count": 8, + "execution_count": 5, "metadata": {}, "output_type": "execute_result" } @@ -137,17 +138,17 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 6, "id": "7dcaa961-55f9-4778-9d55-96e24b6e8c7e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'Eventarc overview'" + "'Compute Engine overview'" ] }, - "execution_count": 9, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -158,7 +159,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 7, "id": "030abb06-d590-43da-8333-184520f000b0", "metadata": {}, "outputs": [], @@ -168,7 +169,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 8, "id": "7d0e2f63-2d88-4d86-86c0-6d0cd1a463e4", "metadata": {}, "outputs": [ @@ -176,7 +177,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Eventarc overview\n" + "Compute Engine overview\n" ] } ], @@ -186,7 +187,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 9, "id": "0c908d8b-0cdb-4617-ae9a-d411cca8b7f2", "metadata": {}, "outputs": [], @@ -196,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 10, "id": "e675fde6-664c-428c-98cc-c0d1ce4b82f1", "metadata": {}, "outputs": [], @@ -206,7 +207,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 11, "id": "a841163b-84f2-4068-981e-4a99b5e1fcc5", "metadata": {}, "outputs": [ @@ -216,8 +217,8 @@ "text": [ "None\n", "Nope\n", - "\n", - "2025-05-08\n" + "\n", + "2025-05-06\n" ] } ], @@ -234,17 +235,17 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 12, "id": "436065d7-d3fe-412a-b0b6-a774044290b3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'2025-05-08'" + "'2025-05-06'" ] }, - "execution_count": 19, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -256,7 +257,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 13, "id": "bb6ec155-ed4d-451a-9d0d-885f959ebd85", "metadata": {}, "outputs": [ @@ -266,7 +267,7 @@ "'https://cloud.google.com/docs/ai-ml'" ] }, - "execution_count": 20, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -278,7 +279,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 14, "id": "0a740921-505c-4e4a-987f-fa8947a27ebd", "metadata": {}, "outputs": [], @@ -295,7 +296,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 15, "id": "f9474a3e-579e-4923-b1e6-22b5c782cd5f", "metadata": { "scrolled": true @@ -304,7 +305,563 @@ { "data": { "text/plain": [ - "{'https://cloud.google.com/docs',\n", + "{'https://cloud.google.com/build/docs/deploying-builds/deploy-compute-engine',\n", + " 'https://cloud.google.com/compute/docs/about-confidential-vm',\n", + " 'https://cloud.google.com/compute/docs/about-shielded-vm',\n", + " 'https://cloud.google.com/compute/docs/accelerator-optimized-machines',\n", + " 'https://cloud.google.com/compute/docs/access',\n", + " 'https://cloud.google.com/compute/docs/access/app-authentication-methods',\n", + " 'https://cloud.google.com/compute/docs/access/authenticate-workloads',\n", + " 'https://cloud.google.com/compute/docs/access/authenticate-workloads-over-mtls',\n", + " 'https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-instances',\n", + " 'https://cloud.google.com/compute/docs/access/custom-constraints',\n", + " 'https://cloud.google.com/compute/docs/access/iam',\n", + " 'https://cloud.google.com/compute/docs/access/managing-access-to-resources',\n", + " 'https://cloud.google.com/compute/docs/access/service-accounts',\n", + " 'https://cloud.google.com/compute/docs/apis',\n", + " 'https://cloud.google.com/compute/docs/autoscaler',\n", + " 'https://cloud.google.com/compute/docs/autoscaler/managing-autoscalers',\n", + " 'https://cloud.google.com/compute/docs/autoscaler/multiple-signals',\n", + " 'https://cloud.google.com/compute/docs/autoscaler/predictive-autoscaling',\n", + " 'https://cloud.google.com/compute/docs/autoscaler/scaling-cloud-monitoring-metrics',\n", + " 'https://cloud.google.com/compute/docs/autoscaler/scaling-cpu',\n", + " 'https://cloud.google.com/compute/docs/autoscaler/scaling-load-balancing',\n", + " 'https://cloud.google.com/compute/docs/autoscaler/scaling-schedules',\n", + " 'https://cloud.google.com/compute/docs/autoscaler/understanding-autoscaler-decisions',\n", + " 'https://cloud.google.com/compute/docs/autoscaler/viewing-autoscaler-logs',\n", + " 'https://cloud.google.com/compute/docs/choose-compute-deployment-option',\n", + " 'https://cloud.google.com/compute/docs/committed-use-discounts/extend-commitment-term',\n", + " 'https://cloud.google.com/compute/docs/compute-optimized-machines',\n", + " 'https://cloud.google.com/compute/docs/connect/add-ssh-keys',\n", + " 'https://cloud.google.com/compute/docs/connect/create-ssh-keys',\n", + " 'https://cloud.google.com/compute/docs/connect/restrict-ssh-keys',\n", + " 'https://cloud.google.com/compute/docs/connect/root-ssh',\n", + " 'https://cloud.google.com/compute/docs/connect/set-up-service-account-ssh',\n", + " 'https://cloud.google.com/compute/docs/connect/ssh-best-practices',\n", + " 'https://cloud.google.com/compute/docs/connect/ssh-best-practices/auditing',\n", + " 'https://cloud.google.com/compute/docs/connect/ssh-best-practices/credentials',\n", + " 'https://cloud.google.com/compute/docs/connect/ssh-best-practices/login-access',\n", + " 'https://cloud.google.com/compute/docs/connect/ssh-best-practices/network-access',\n", + " 'https://cloud.google.com/compute/docs/connect/ssh-internal-ip',\n", + " 'https://cloud.google.com/compute/docs/connect/ssh-using-bastion-host',\n", + " 'https://cloud.google.com/compute/docs/connect/ssh-using-iap',\n", + " 'https://cloud.google.com/compute/docs/connect/ssh-using-vpn',\n", + " 'https://cloud.google.com/compute/docs/connect/standard-ssh',\n", + " 'https://cloud.google.com/compute/docs/connect/windows-ssh',\n", + " 'https://cloud.google.com/compute/docs/containers',\n", + " 'https://cloud.google.com/compute/docs/containers/configuring-options-to-run-containers',\n", + " 'https://cloud.google.com/compute/docs/containers/deploying-containers',\n", + " 'https://cloud.google.com/compute/docs/containers/openshift-ha',\n", + " 'https://cloud.google.com/compute/docs/coremark-scores-of-vm-instances',\n", + " 'https://cloud.google.com/compute/docs/cpu-platforms',\n", + " 'https://cloud.google.com/compute/docs/create-linux-vm-instance',\n", + " 'https://cloud.google.com/compute/docs/create-windows-server-vm-instance',\n", + " 'https://cloud.google.com/compute/docs/disks',\n", + " 'https://cloud.google.com/compute/docs/disks/about-regional-persistent-disk',\n", + " 'https://cloud.google.com/compute/docs/disks/about-snapshot-schedules',\n", + " 'https://cloud.google.com/compute/docs/disks/add-hyperdisk',\n", + " 'https://cloud.google.com/compute/docs/disks/add-local-ssd',\n", + " 'https://cloud.google.com/compute/docs/disks/add-persistent-disk',\n", + " 'https://cloud.google.com/compute/docs/disks/analyze-iops-hyperdisk',\n", + " 'https://cloud.google.com/compute/docs/disks/async-pd/about',\n", + " 'https://cloud.google.com/compute/docs/disks/async-pd/configure',\n", + " 'https://cloud.google.com/compute/docs/disks/async-pd/failover-failback',\n", + " 'https://cloud.google.com/compute/docs/disks/async-pd/manage-async-disks',\n", + " 'https://cloud.google.com/compute/docs/disks/async-pd/manage-consistency-groups',\n", + " 'https://cloud.google.com/compute/docs/disks/async-pd/manage-replication',\n", + " 'https://cloud.google.com/compute/docs/disks/async-pd/performance',\n", + " 'https://cloud.google.com/compute/docs/disks/attach-disks',\n", + " 'https://cloud.google.com/compute/docs/disks/benchmark-hyperdisk-performance',\n", + " 'https://cloud.google.com/compute/docs/disks/benchmarking-local-ssd-performance',\n", + " 'https://cloud.google.com/compute/docs/disks/benchmarking-pd-performance-linux',\n", + " 'https://cloud.google.com/compute/docs/disks/benchmarking-pd-performance-windows',\n", + " 'https://cloud.google.com/compute/docs/disks/clone-duplicate-disks',\n", + " 'https://cloud.google.com/compute/docs/disks/convert-instant-snapshot',\n", + " 'https://cloud.google.com/compute/docs/disks/create-alert-snapshot-schedule',\n", + " 'https://cloud.google.com/compute/docs/disks/create-instant-snapshots',\n", + " 'https://cloud.google.com/compute/docs/disks/create-root-persistent-disks',\n", + " 'https://cloud.google.com/compute/docs/disks/create-snapshots',\n", + " 'https://cloud.google.com/compute/docs/disks/create-storage-pools',\n", + " 'https://cloud.google.com/compute/docs/disks/creating-linux-application-consistent-pd-snapshots',\n", + " 'https://cloud.google.com/compute/docs/disks/customer-managed-encryption',\n", + " 'https://cloud.google.com/compute/docs/disks/customer-supplied-encryption',\n", + " 'https://cloud.google.com/compute/docs/disks/data-protection',\n", + " 'https://cloud.google.com/compute/docs/disks/default-backup',\n", + " 'https://cloud.google.com/compute/docs/disks/design-considerations-for-resilient-workloads-with-regional-persistent-disks',\n", + " 'https://cloud.google.com/compute/docs/disks/detach-reattach-boot-disk',\n", + " 'https://cloud.google.com/compute/docs/disks/disk-encryption',\n", + " 'https://cloud.google.com/compute/docs/disks/disk-health',\n", + " 'https://cloud.google.com/compute/docs/disks/disk-symlinks',\n", + " 'https://cloud.google.com/compute/docs/disks/extreme-persistent-disk',\n", + " 'https://cloud.google.com/compute/docs/disks/format-mount-disk-linux',\n", + " 'https://cloud.google.com/compute/docs/disks/format-mount-disk-windows',\n", + " 'https://cloud.google.com/compute/docs/disks/hd-types/hyperdisk-balanced',\n", + " 'https://cloud.google.com/compute/docs/disks/hd-types/hyperdisk-balanced-ha',\n", + " 'https://cloud.google.com/compute/docs/disks/hd-types/hyperdisk-extreme',\n", + " 'https://cloud.google.com/compute/docs/disks/hd-types/hyperdisk-ml',\n", + " 'https://cloud.google.com/compute/docs/disks/hd-types/hyperdisk-throughput',\n", + " 'https://cloud.google.com/compute/docs/disks/high-availability-regional-persistent-disk',\n", + " 'https://cloud.google.com/compute/docs/disks/hyperdisk-perf-limits',\n", + " 'https://cloud.google.com/compute/docs/disks/hyperdisk-performance',\n", + " 'https://cloud.google.com/compute/docs/disks/hyperdisks',\n", + " 'https://cloud.google.com/compute/docs/disks/instant-snapshots',\n", + " 'https://cloud.google.com/compute/docs/disks/local-ssd',\n", + " 'https://cloud.google.com/compute/docs/disks/manage-snapshot-schedules',\n", + " 'https://cloud.google.com/compute/docs/disks/manage-snapshots',\n", + " 'https://cloud.google.com/compute/docs/disks/manage-storage-pools',\n", + " 'https://cloud.google.com/compute/docs/disks/migrate-to-hyperdisk',\n", + " 'https://cloud.google.com/compute/docs/disks/modify-hyperdisks',\n", + " 'https://cloud.google.com/compute/docs/disks/modify-persistent-disk',\n", + " 'https://cloud.google.com/compute/docs/disks/monitor-disks',\n", + " 'https://cloud.google.com/compute/docs/disks/monitor-pool-performance',\n", + " 'https://cloud.google.com/compute/docs/disks/monitor-regional-persistent-disk-replica-state',\n", + " 'https://cloud.google.com/compute/docs/disks/mount-ram-disks',\n", + " 'https://cloud.google.com/compute/docs/disks/optimize-hyperdisk',\n", + " 'https://cloud.google.com/compute/docs/disks/optimizing-local-ssd-performance',\n", + " 'https://cloud.google.com/compute/docs/disks/optimizing-pd-performance',\n", + " 'https://cloud.google.com/compute/docs/disks/performance',\n", + " 'https://cloud.google.com/compute/docs/disks/persistent-disks',\n", + " 'https://cloud.google.com/compute/docs/disks/recover-vm',\n", + " 'https://cloud.google.com/compute/docs/disks/regional-persistent-disk',\n", + " 'https://cloud.google.com/compute/docs/disks/repd-failover',\n", + " 'https://cloud.google.com/compute/docs/disks/resize-persistent-disk',\n", + " 'https://cloud.google.com/compute/docs/disks/restore-instant-snapshot',\n", + " 'https://cloud.google.com/compute/docs/disks/restore-snapshot',\n", + " 'https://cloud.google.com/compute/docs/disks/review-disk-metrics',\n", + " 'https://cloud.google.com/compute/docs/disks/review-storage-pool-metrics',\n", + " 'https://cloud.google.com/compute/docs/disks/scheduled-snapshots',\n", + " 'https://cloud.google.com/compute/docs/disks/set-persistent-device-name-in-linux-vm',\n", + " 'https://cloud.google.com/compute/docs/disks/set-snapshot-scope',\n", + " 'https://cloud.google.com/compute/docs/disks/sharing-disks-between-vms',\n", + " 'https://cloud.google.com/compute/docs/disks/snapshot-best-practices',\n", + " 'https://cloud.google.com/compute/docs/disks/snapshot-settings',\n", + " 'https://cloud.google.com/compute/docs/disks/snapshots',\n", + " 'https://cloud.google.com/compute/docs/disks/storage-pools',\n", + " 'https://cloud.google.com/compute/docs/disks/use-storage-pool-capacity',\n", + " 'https://cloud.google.com/compute/docs/dynamic-resource-management',\n", + " 'https://cloud.google.com/compute/docs/enable-pmu-in-vms',\n", + " 'https://cloud.google.com/compute/docs/general-purpose-machines',\n", + " 'https://cloud.google.com/compute/docs/gpus',\n", + " 'https://cloud.google.com/compute/docs/gpus/about-gpus',\n", + " 'https://cloud.google.com/compute/docs/gpus/add-remove-gpus',\n", + " 'https://cloud.google.com/compute/docs/gpus/create-gpu-vm-a3u-a4',\n", + " 'https://cloud.google.com/compute/docs/gpus/create-gpu-vm-accelerator-optimized',\n", + " 'https://cloud.google.com/compute/docs/gpus/create-gpu-vm-bulk',\n", + " 'https://cloud.google.com/compute/docs/gpus/create-gpu-vm-general-purpose',\n", + " 'https://cloud.google.com/compute/docs/gpus/create-vm-with-gpus',\n", + " 'https://cloud.google.com/compute/docs/gpus/gpu-host-maintenance',\n", + " 'https://cloud.google.com/compute/docs/gpus/gpu-network-bandwidth',\n", + " 'https://cloud.google.com/compute/docs/gpus/gpu-regions-zones',\n", + " 'https://cloud.google.com/compute/docs/gpus/gpudirect',\n", + " 'https://cloud.google.com/compute/docs/gpus/grid-drivers-table',\n", + " 'https://cloud.google.com/compute/docs/gpus/install-drivers-gpu',\n", + " 'https://cloud.google.com/compute/docs/gpus/install-grid-drivers',\n", + " 'https://cloud.google.com/compute/docs/gpus/monitor-gpus',\n", + " 'https://cloud.google.com/compute/docs/gpus/monitor-gpus-windows',\n", + " 'https://cloud.google.com/compute/docs/gpus/optimize-gpus',\n", + " 'https://cloud.google.com/compute/docs/gpus/overview',\n", + " 'https://cloud.google.com/compute/docs/images',\n", + " 'https://cloud.google.com/compute/docs/images/building-custom-os',\n", + " 'https://cloud.google.com/compute/docs/images/create-custom',\n", + " 'https://cloud.google.com/compute/docs/images/creating-an-image-from-an-iso-file',\n", + " 'https://cloud.google.com/compute/docs/images/creating-custom-windows-byol-images',\n", + " 'https://cloud.google.com/compute/docs/images/delete-custom',\n", + " 'https://cloud.google.com/compute/docs/images/deprecate-custom',\n", + " 'https://cloud.google.com/compute/docs/images/export-image',\n", + " 'https://cloud.google.com/compute/docs/images/guest-environment',\n", + " 'https://cloud.google.com/compute/docs/images/image-families-best-practices',\n", + " 'https://cloud.google.com/compute/docs/images/image-management-best-practices',\n", + " 'https://cloud.google.com/compute/docs/images/install-guest-environment',\n", + " 'https://cloud.google.com/compute/docs/images/managing-access-custom-images',\n", + " 'https://cloud.google.com/compute/docs/images/os-details',\n", + " 'https://cloud.google.com/compute/docs/images/os-image-lifecycle',\n", + " 'https://cloud.google.com/compute/docs/images/premium/access-rhel-knowledgebase',\n", + " 'https://cloud.google.com/compute/docs/images/premium/rhel-faq',\n", + " 'https://cloud.google.com/compute/docs/images/premium/rhel/appending-els-licenses',\n", + " 'https://cloud.google.com/compute/docs/images/premium/sles-faq',\n", + " 'https://cloud.google.com/compute/docs/images/premium/ubuntu-pro-faq',\n", + " 'https://cloud.google.com/compute/docs/images/premium/ubuntu-pro/upgrade-from-ubuntu',\n", + " 'https://cloud.google.com/compute/docs/images/restricting-image-access',\n", + " 'https://cloud.google.com/compute/docs/images/set-version-custom',\n", + " 'https://cloud.google.com/compute/docs/images/support-maintenance-policy',\n", + " 'https://cloud.google.com/compute/docs/import',\n", + " 'https://cloud.google.com/compute/docs/import/configuring-imported-images',\n", + " 'https://cloud.google.com/compute/docs/import/import-existing-image',\n", + " 'https://cloud.google.com/compute/docs/import/import-ovf-files',\n", + " 'https://cloud.google.com/compute/docs/import/importing-virtual-disks',\n", + " 'https://cloud.google.com/compute/docs/import/migrate-to-new-vm',\n", + " 'https://cloud.google.com/compute/docs/import/requirements-export-import-images',\n", + " 'https://cloud.google.com/compute/docs/instance-groups',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/about-instance-flexibility',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/about-repair',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/about-resize-requests-mig',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/accelerate-mig-scale-out-with-standby-pools',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/add-remove-vms-in-mig',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/adding-an-instance-group-to-a-load-balancer',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/apply-machine-type-recommendations-managed-instance-groups',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/applying-viewing-removing-stateful-config-in-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/autohealing-instances-in-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/change-or-remove-instance-flexibility-configuration',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/configure-instance-flexibility',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/configuring-stateful-disks-in-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/configuring-stateful-ip-addresses-in-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/configuring-stateful-metadata-in-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/configuring-stateful-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/create-mig-from-vm',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/create-mig-with-basic-autoscaling',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/create-mig-with-basic-stateful-disks',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/create-mig-with-gpu-vms',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/create-mig-with-multiple-machine-types',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/create-mig-with-preemptible-vms',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/create-resize-requests-mig',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/create-zonal-mig',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-unmanaged-instances',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/delete-mig',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/disabling-and-enabling-health-state-change-logs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/distributing-instances-with-regional-instance-groups',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/getting-info-about-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/how-stateful-migs-work',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/limit-vm-runtime-in-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/manage-resize-requests-mig',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/manually-suspend-or-stop-vms-in-mig',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/monitoring-managed-instance-health-state-changes',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/preserved-state',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/regional-mig-distribution-shape',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/regional-mig-enable-disable-proactive-redistribution',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/regional-mig-rebalance-manually',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/regional-mig-set-target-distribution-shape',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/regional-mig-simulate-zonal-outage',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/regional-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/rolling-out-updates-to-managed-instance-groups',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/set-mig-aic',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/stateful-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/suspended-and-stopped-vms-in-mig',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/turn-off-vm-repairs-in-mig',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/update-on-repair',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/updating-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/updating-selected-instances-in-a-mig',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/upgrading-images-in-migs',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/view-and-understand-mig-insights',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/view-instance-flexibility-configuration',\n", + " 'https://cloud.google.com/compute/docs/instance-groups/working-with-managed-instances',\n", + " 'https://cloud.google.com/compute/docs/instance-templates',\n", + " 'https://cloud.google.com/compute/docs/instance-templates/create-instance-templates',\n", + " 'https://cloud.google.com/compute/docs/instance-templates/deterministic-instance-templates',\n", + " 'https://cloud.google.com/compute/docs/instance-templates/get-list-delete-instance-templates',\n", + " 'https://cloud.google.com/compute/docs/instances',\n", + " 'https://cloud.google.com/compute/docs/instances/about-vm-tenancy',\n", + " 'https://cloud.google.com/compute/docs/instances/access-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/agent-for-compute-workloads',\n", + " 'https://cloud.google.com/compute/docs/instances/apply-machine-type-recommendations-for-instances',\n", + " 'https://cloud.google.com/compute/docs/instances/arm-on-compute',\n", + " 'https://cloud.google.com/compute/docs/instances/artifact-registry-os-packages',\n", + " 'https://cloud.google.com/compute/docs/instances/bare-metal-instances',\n", + " 'https://cloud.google.com/compute/docs/instances/change-service-account',\n", + " 'https://cloud.google.com/compute/docs/instances/changing-machine-type-of-stopped-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/choose-reservation-type',\n", + " 'https://cloud.google.com/compute/docs/instances/committed-use-discounts-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/configure-idle-reservation-recommendations',\n", + " 'https://cloud.google.com/compute/docs/instances/configure-machine-type-recommendations',\n", + " 'https://cloud.google.com/compute/docs/instances/configure-ntp',\n", + " 'https://cloud.google.com/compute/docs/instances/configure-underutilized-reservation-recommendations',\n", + " 'https://cloud.google.com/compute/docs/instances/configuring-idle-vm-recommendations',\n", + " 'https://cloud.google.com/compute/docs/instances/connecting-to-sac',\n", + " 'https://cloud.google.com/compute/docs/instances/connecting-to-windows',\n", + " 'https://cloud.google.com/compute/docs/instances/copy-vm-between-projects',\n", + " 'https://cloud.google.com/compute/docs/instances/create-future-reservations-calendar-mode',\n", + " 'https://cloud.google.com/compute/docs/instances/create-hpc-vm',\n", + " 'https://cloud.google.com/compute/docs/instances/create-instance-with-gcbdr-backup-plan',\n", + " 'https://cloud.google.com/compute/docs/instances/create-ipv6-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/create-ptr-record',\n", + " 'https://cloud.google.com/compute/docs/instances/create-rhel-byos-vm',\n", + " 'https://cloud.google.com/compute/docs/instances/create-shared-future-reservations',\n", + " 'https://cloud.google.com/compute/docs/instances/create-single-project-future-reservations',\n", + " 'https://cloud.google.com/compute/docs/instances/create-start-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/create-use-preemptible',\n", + " 'https://cloud.google.com/compute/docs/instances/create-use-spot',\n", + " 'https://cloud.google.com/compute/docs/instances/create-vm-from-custom-image',\n", + " 'https://cloud.google.com/compute/docs/instances/create-vm-from-instance-template',\n", + " 'https://cloud.google.com/compute/docs/instances/create-vm-from-public-image',\n", + " 'https://cloud.google.com/compute/docs/instances/create-vm-from-shared-image',\n", + " 'https://cloud.google.com/compute/docs/instances/create-vm-from-similar-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/create-vm-ops-agent-monitoring-logging',\n", + " 'https://cloud.google.com/compute/docs/instances/create-vm-specific-subnet',\n", + " 'https://cloud.google.com/compute/docs/instances/create-vm-with-additional-non-boot-disks',\n", + " 'https://cloud.google.com/compute/docs/instances/create-workload-optimized-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type',\n", + " 'https://cloud.google.com/compute/docs/instances/custom-hostname-vm',\n", + " 'https://cloud.google.com/compute/docs/instances/customize-visible-cores',\n", + " 'https://cloud.google.com/compute/docs/instances/delete-future-reservations',\n", + " 'https://cloud.google.com/compute/docs/instances/deleting-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/detect-compute-engine',\n", + " 'https://cloud.google.com/compute/docs/instances/disable-graceful-shutdown',\n", + " 'https://cloud.google.com/compute/docs/instances/enable-graceful-shutdown',\n", + " 'https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display',\n", + " 'https://cloud.google.com/compute/docs/instances/enabling-virtio-rng',\n", + " 'https://cloud.google.com/compute/docs/instances/future-reservations-calendar-mode-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/future-reservations-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/get-list',\n", + " 'https://cloud.google.com/compute/docs/instances/get-uuid',\n", + " 'https://cloud.google.com/compute/docs/instances/graceful-shutdown-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/host-maintenance-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/idle-vm-recommendations-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/instance-creation-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/instance-lifecycle',\n", + " 'https://cloud.google.com/compute/docs/instances/limit-vm-runtime',\n", + " 'https://cloud.google.com/compute/docs/instances/live-migration-process',\n", + " 'https://cloud.google.com/compute/docs/instances/manage-placement-policies',\n", + " 'https://cloud.google.com/compute/docs/instances/merge-and-split-commitments',\n", + " 'https://cloud.google.com/compute/docs/instances/migrating-interfaces-between-networks',\n", + " 'https://cloud.google.com/compute/docs/instances/modify-future-reservations',\n", + " 'https://cloud.google.com/compute/docs/instances/monitor-plan-host-maintenance-event',\n", + " 'https://cloud.google.com/compute/docs/instances/moving-instance-across-zones',\n", + " 'https://cloud.google.com/compute/docs/instances/multiple/about-bulk-creation',\n", + " 'https://cloud.google.com/compute/docs/instances/multiple/create-in-bulk',\n", + " 'https://cloud.google.com/compute/docs/instances/nested-virtualization/creating-nested-vms',\n", + " 'https://cloud.google.com/compute/docs/instances/nested-virtualization/enabling',\n", + " 'https://cloud.google.com/compute/docs/instances/nested-virtualization/managing-constraint',\n", + " 'https://cloud.google.com/compute/docs/instances/nested-virtualization/overview',\n", + " 'https://cloud.google.com/compute/docs/instances/observe-monitor-vms',\n", + " 'https://cloud.google.com/compute/docs/instances/permissions-tutorial',\n", + " 'https://cloud.google.com/compute/docs/instances/placement-policies-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/preemptible',\n", + " 'https://cloud.google.com/compute/docs/instances/preventing-accidental-vm-deletion',\n", + " 'https://cloud.google.com/compute/docs/instances/protecting-resources-vpc-service-controls',\n", + " 'https://cloud.google.com/compute/docs/instances/provisioning-models',\n", + " 'https://cloud.google.com/compute/docs/instances/rename-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/renew-commitments-automatically',\n", + " 'https://cloud.google.com/compute/docs/instances/reservation-recommendations-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/reservations-consume',\n", + " 'https://cloud.google.com/compute/docs/instances/reservations-delete',\n", + " 'https://cloud.google.com/compute/docs/instances/reservations-modify',\n", + " 'https://cloud.google.com/compute/docs/instances/reservations-monitor',\n", + " 'https://cloud.google.com/compute/docs/instances/reservations-prevent-consumption',\n", + " 'https://cloud.google.com/compute/docs/instances/reservations-shared',\n", + " 'https://cloud.google.com/compute/docs/instances/reservations-single-project',\n", + " 'https://cloud.google.com/compute/docs/instances/reservations-view',\n", + " 'https://cloud.google.com/compute/docs/instances/reservations-with-commitments',\n", + " 'https://cloud.google.com/compute/docs/instances/reset-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/schedule-instance-start-stop',\n", + " 'https://cloud.google.com/compute/docs/instances/set-threads-per-core',\n", + " 'https://cloud.google.com/compute/docs/instances/setting-vm-host-options',\n", + " 'https://cloud.google.com/compute/docs/instances/signing-up-committed-use-discounts',\n", + " 'https://cloud.google.com/compute/docs/instances/simulating-host-maintenance',\n", + " 'https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform',\n", + " 'https://cloud.google.com/compute/docs/instances/spot',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/adding-sql-server-license',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/adding-sql-server-license-to-linux',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/best-practices',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/cloning-a-microsoft-sql-server-database-on-compute-engine',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/cloning-a-mysql-database-on-compute-engine',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/configure-availability',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/configure-availability-dnn',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/configure-failover-cluster-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/configure-failover-cluster-instance-with-multi-writer',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/creating-sql-server-instances',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/deploying-highly-available-mysql-cluster-with-drbd-on-compute-engine',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/deploying-microsoft-sql-server-multi-regional-disaster-recovery',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/disaster-recovery-for-microsoft-sql-server',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/dr-for-microsoft-sql-server-with-async-pd',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/migrate-sql-server-database-from-windows-to-linux',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/mysql-remote-access',\n", + " 'https://cloud.google.com/compute/docs/instances/sql-server/setup-mysql',\n", + " 'https://cloud.google.com/compute/docs/instances/ssh',\n", + " 'https://cloud.google.com/compute/docs/instances/startup-scripts',\n", + " 'https://cloud.google.com/compute/docs/instances/startup-scripts/linux',\n", + " 'https://cloud.google.com/compute/docs/instances/startup-scripts/windows',\n", + " 'https://cloud.google.com/compute/docs/instances/stop-start-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/suspend-resume-instance',\n", + " 'https://cloud.google.com/compute/docs/instances/suspend-stop-reset-instances-overview',\n", + " 'https://cloud.google.com/compute/docs/instances/transfer-files',\n", + " 'https://cloud.google.com/compute/docs/instances/transfer-files-windows',\n", + " 'https://cloud.google.com/compute/docs/instances/trigger-host-maintenance-event',\n", + " 'https://cloud.google.com/compute/docs/instances/update-instance-properties',\n", + " 'https://cloud.google.com/compute/docs/instances/upgrade-commitment-term',\n", + " 'https://cloud.google.com/compute/docs/instances/use-compact-placement-policies',\n", + " 'https://cloud.google.com/compute/docs/instances/use-spread-placement-policies',\n", + " 'https://cloud.google.com/compute/docs/instances/verifying-instance-identity',\n", + " 'https://cloud.google.com/compute/docs/instances/view-and-apply-idle-reservation-recommendations',\n", + " 'https://cloud.google.com/compute/docs/instances/view-and-apply-underutilized-reservation-recommendations',\n", + " 'https://cloud.google.com/compute/docs/instances/view-and-understand-vm-insights',\n", + " 'https://cloud.google.com/compute/docs/instances/view-graceful-shutdown',\n", + " 'https://cloud.google.com/compute/docs/instances/view-network-properties',\n", + " 'https://cloud.google.com/compute/docs/instances/view-placement-policies',\n", + " 'https://cloud.google.com/compute/docs/instances/view-references-between-resources',\n", + " 'https://cloud.google.com/compute/docs/instances/view-visible-cores',\n", + " 'https://cloud.google.com/compute/docs/instances/view-vm-details',\n", + " 'https://cloud.google.com/compute/docs/instances/view-vm-image',\n", + " 'https://cloud.google.com/compute/docs/instances/viewing-and-applying-idle-vm-recommendations',\n", + " 'https://cloud.google.com/compute/docs/instances/viewing-compute-operations',\n", + " 'https://cloud.google.com/compute/docs/instances/windows',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/automate-pw-generation',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/best-practices',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/connecting-powershell',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/creating-managing-windows-instances',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/creating-windows-os-image',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/creating-windows-persistent-disk-snapshot',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/deploying-microsoft-exchange-server-2016-on-compute-engine',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/deploying-microsoft-sharepoint-server-on-compute-engine',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/generating-credentials',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/license-manager',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/lima-audit-logging',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/ms-licensing',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/ms-licensing-faq',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/ms-office',\n", + " 'https://cloud.google.com/compute/docs/instances/windows/windows-best-practices',\n", + " 'https://cloud.google.com/compute/docs/internal-dns',\n", + " 'https://cloud.google.com/compute/docs/ip-addresses',\n", + " 'https://cloud.google.com/compute/docs/ip-addresses/configure-ipv6-address',\n", + " 'https://cloud.google.com/compute/docs/ip-addresses/configure-static-external-ip-address',\n", + " 'https://cloud.google.com/compute/docs/ip-addresses/configure-static-internal-ip-address',\n", + " 'https://cloud.google.com/compute/docs/labeling-resources',\n", + " 'https://cloud.google.com/compute/docs/licenses/about',\n", + " 'https://cloud.google.com/compute/docs/licenses/view-append',\n", + " 'https://cloud.google.com/compute/docs/load-balancing-and-autoscaling',\n", + " 'https://cloud.google.com/compute/docs/load-balancing/optimize-app-latency',\n", + " 'https://cloud.google.com/compute/docs/logging/activity-logs',\n", + " 'https://cloud.google.com/compute/docs/logging/audit-logging',\n", + " 'https://cloud.google.com/compute/docs/logging/migrating-from-activity-logs-to-audit-logs',\n", + " 'https://cloud.google.com/compute/docs/logging/usage-export',\n", + " 'https://cloud.google.com/compute/docs/machine-images',\n", + " 'https://cloud.google.com/compute/docs/machine-images/create-instance-from-machine-image',\n", + " 'https://cloud.google.com/compute/docs/machine-images/create-machine-images',\n", + " 'https://cloud.google.com/compute/docs/machine-images/import-machine-from-virtual-appliance',\n", + " 'https://cloud.google.com/compute/docs/machine-resource',\n", + " 'https://cloud.google.com/compute/docs/manage-pmu-in-vms',\n", + " 'https://cloud.google.com/compute/docs/memory-optimized-machines',\n", + " 'https://cloud.google.com/compute/docs/metadata/getting-live-migration-notice',\n", + " 'https://cloud.google.com/compute/docs/metadata/manage-guest-attributes',\n", + " 'https://cloud.google.com/compute/docs/metadata/overview',\n", + " 'https://cloud.google.com/compute/docs/metadata/predefined-metadata-keys',\n", + " 'https://cloud.google.com/compute/docs/metadata/querying-metadata',\n", + " 'https://cloud.google.com/compute/docs/metadata/setting-custom-metadata',\n", + " 'https://cloud.google.com/compute/docs/monitor-security-risks-console',\n", + " 'https://cloud.google.com/compute/docs/naming-resources',\n", + " 'https://cloud.google.com/compute/docs/network-bandwidth',\n", + " 'https://cloud.google.com/compute/docs/networking/benchmarking-higher-bandwidth-vms',\n", + " 'https://cloud.google.com/compute/docs/networking/configure-vm-with-high-bandwidth-configuration',\n", + " 'https://cloud.google.com/compute/docs/networking/migrate-to-zonal-dns',\n", + " 'https://cloud.google.com/compute/docs/networking/network-overview',\n", + " 'https://cloud.google.com/compute/docs/networking/tcp-optimization-for-network-performance-in-gcp-and-hybrid',\n", + " 'https://cloud.google.com/compute/docs/networking/use-dpdk',\n", + " 'https://cloud.google.com/compute/docs/networking/use-zonal-dns',\n", + " 'https://cloud.google.com/compute/docs/networking/using-gvnic',\n", + " 'https://cloud.google.com/compute/docs/networking/using-idpf',\n", + " 'https://cloud.google.com/compute/docs/networking/using-internal-dns',\n", + " 'https://cloud.google.com/compute/docs/networking/zonal-dns',\n", + " 'https://cloud.google.com/compute/docs/nodes/about-manual-live-migration',\n", + " 'https://cloud.google.com/compute/docs/nodes/autoscaling-node-groups',\n", + " 'https://cloud.google.com/compute/docs/nodes/bringing-your-own-licenses',\n", + " 'https://cloud.google.com/compute/docs/nodes/determining-server-usage',\n", + " 'https://cloud.google.com/compute/docs/nodes/manually-live-migrate',\n", + " 'https://cloud.google.com/compute/docs/nodes/overcommitting-cpus-sole-tenant-vms',\n", + " 'https://cloud.google.com/compute/docs/nodes/provisioning-sole-tenant-vms',\n", + " 'https://cloud.google.com/compute/docs/nodes/share-node-groups',\n", + " 'https://cloud.google.com/compute/docs/nodes/sole-tenancy-accounting-faq',\n", + " 'https://cloud.google.com/compute/docs/nodes/sole-tenancy-advanced-maintenance-control',\n", + " 'https://cloud.google.com/compute/docs/nodes/sole-tenant-best-practices',\n", + " 'https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes',\n", + " 'https://cloud.google.com/compute/docs/nodes/updating-vm-tenancy',\n", + " 'https://cloud.google.com/compute/docs/oslogin',\n", + " 'https://cloud.google.com/compute/docs/oslogin/manage-oslogin-in-an-org',\n", + " 'https://cloud.google.com/compute/docs/oslogin/security-keys',\n", + " 'https://cloud.google.com/compute/docs/oslogin/set-up-oslogin',\n", + " 'https://cloud.google.com/compute/docs/oslogin/view-audit-logs',\n", + " 'https://cloud.google.com/compute/docs/overview',\n", + " 'https://cloud.google.com/compute/docs/pmu-overview',\n", + " 'https://cloud.google.com/compute/docs/quickstart-mig',\n", + " 'https://cloud.google.com/compute/docs/redis/deployment-options',\n", + " 'https://cloud.google.com/compute/docs/regions-zones',\n", + " 'https://cloud.google.com/compute/docs/regions-zones/changing-default-zone-region',\n", + " 'https://cloud.google.com/compute/docs/regions-zones/global-regional-zonal-resources',\n", + " 'https://cloud.google.com/compute/docs/regions-zones/viewing-regions-zones',\n", + " 'https://cloud.google.com/compute/docs/resources',\n", + " 'https://cloud.google.com/compute/docs/samples',\n", + " 'https://cloud.google.com/compute/docs/shutdownscript',\n", + " 'https://cloud.google.com/compute/docs/storage-optimized-machines',\n", + " 'https://cloud.google.com/compute/docs/sustained-use-discounts',\n", + " 'https://cloud.google.com/compute/docs/tag-resources',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/automatic-commitment-renewal',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/capturing-vm-screenshots',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/collecting-core-dumps',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/collecting-diagnostic-information',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/fstab-errors',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/general-tips',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/gvnic',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/import-migrate',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/kernel-panic',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/rescue-vm',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshoot-future-reservations',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshoot-metadata-server',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshoot-operation-limits',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshoot-os-login',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-arm-vms',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-bulk-vm-creation',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-cpu-soft-lockup',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-default-service-accounts',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-disk-full-resize',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-disk-nvme',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-gpus',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-import-export-images',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-instant-snapshots',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-migs',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-nested-vms',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-networking',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-performance',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-rdp',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-reboots',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-reservation-consumption',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-reservation-creation',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-reservation-monitoring',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-reservation-updates',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-resource-availability',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-snapshots',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-sole-tenancy',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-ssh-errors',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-sudoers-file',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-suse-registration',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-suspend-resume',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-ubuntu-pro-registration',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-using-serial-console',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-vm-creation',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-windows',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/troubleshooting-workload-to-workload-auth',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/viewing-serial-port-output',\n", + " 'https://cloud.google.com/compute/docs/troubleshooting/vm-startup',\n", + " 'https://cloud.google.com/compute/docs/tutorials/basic-webserver-apache',\n", + " 'https://cloud.google.com/compute/docs/tutorials/basic-webserver-iis',\n", + " 'https://cloud.google.com/compute/docs/tutorials/creating-high-performance-sql-server-instance',\n", + " 'https://cloud.google.com/compute/docs/tutorials/creating-sql-server-instance-using-netapp',\n", + " 'https://cloud.google.com/compute/docs/tutorials/deploy-aspnet-app',\n", + " 'https://cloud.google.com/compute/docs/tutorials/globally-autoscaling-a-web-service-on-compute-engine',\n", + " 'https://cloud.google.com/compute/docs/tutorials/high-availability-autohealing',\n", + " 'https://cloud.google.com/compute/docs/tutorials/high-availability-linux-pacemaker',\n", + " 'https://cloud.google.com/compute/docs/tutorials/high-availability-load-balancing',\n", + " 'https://cloud.google.com/compute/docs/tutorials/high-scalability-autoscaling',\n", + " 'https://cloud.google.com/compute/docs/tutorials/http-load-balancing-iis',\n", + " 'https://cloud.google.com/compute/docs/tutorials/load-testing-sql-server-hammerdb',\n", + " 'https://cloud.google.com/compute/docs/tutorials/migrate-workload-to-stateful-mig',\n", + " 'https://cloud.google.com/compute/docs/tutorials/migrating-aws-sql-server-to-compute-engine',\n", + " 'https://cloud.google.com/compute/docs/tutorials/ml-inference-t4',\n", + " 'https://cloud.google.com/compute/docs/tutorials/performing-an-automated-in-place-upgrade-windows-server',\n", + " 'https://cloud.google.com/compute/docs/tutorials/performing-in-place-upgrade-windows-server',\n", + " 'https://cloud.google.com/compute/docs/tutorials/robustsystems',\n", + " 'https://cloud.google.com/compute/docs/tutorials/running-windows-server-failover-clustering',\n", + " 'https://cloud.google.com/compute/docs/tutorials/sending-mail',\n", + " 'https://cloud.google.com/compute/docs/tutorials/sending-mail/using-mailgun',\n", + " 'https://cloud.google.com/compute/docs/tutorials/sending-mail/using-mailjet',\n", + " 'https://cloud.google.com/compute/docs/tutorials/sending-mail/using-sendgrid',\n", + " 'https://cloud.google.com/compute/docs/tutorials/service-account-ssh',\n", + " 'https://cloud.google.com/compute/docs/tutorials/setup-active-directory',\n", + " 'https://cloud.google.com/compute/docs/viewing-and-applying-idle-resources-recommendations',\n", + " 'https://cloud.google.com/compute/docs/virtual-workstation',\n", + " 'https://cloud.google.com/compute/docs/virtual-workstation/linux',\n", + " 'https://cloud.google.com/compute/docs/virtual-workstation/linux-gpu',\n", + " 'https://cloud.google.com/compute/docs/virtual-workstation/windows',\n", + " 'https://cloud.google.com/compute/docs/virtual-workstation/windows-gpu',\n", + " 'https://cloud.google.com/compute/docs/vm-manager',\n", + " 'https://cloud.google.com/docs',\n", " 'https://cloud.google.com/docs/access-resources',\n", " 'https://cloud.google.com/docs/ai-ml',\n", " 'https://cloud.google.com/docs/application-development',\n", @@ -325,20 +882,13 @@ " 'https://cloud.google.com/docs/security',\n", " 'https://cloud.google.com/docs/storage',\n", " 'https://cloud.google.com/docs/tech-area-overviews',\n", - " 'https://cloud.google.com/eventarc/advanced/docs/overview',\n", - " 'https://cloud.google.com/eventarc/docs',\n", - " 'https://cloud.google.com/eventarc/docs/apis',\n", - " 'https://cloud.google.com/eventarc/docs/event-driven-architectures',\n", - " 'https://cloud.google.com/eventarc/docs/event-format',\n", - " 'https://cloud.google.com/eventarc/docs/event-providers-targets',\n", - " 'https://cloud.google.com/eventarc/docs/event-types',\n", - " 'https://cloud.google.com/eventarc/docs/resources',\n", - " 'https://cloud.google.com/eventarc/docs/samples',\n", - " 'https://cloud.google.com/eventarc/standard/docs/overview',\n", + " 'https://cloud.google.com/docs/terraform/get-started-with-terraform',\n", + " 'https://cloud.google.com/load-balancing/docs/https/setting-up-https',\n", + " 'https://cloud.google.com/load-balancing/docs/internal/setting-up-internal',\n", " 'https://cloud.google.com/marketplace/docs'}" ] }, - "execution_count": 22, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -349,7 +899,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 16, "id": "6d1987db-b346-41cb-adcb-1a4ba0f6fd03", "metadata": {}, "outputs": [], @@ -360,7 +910,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 17, "id": "2b48bcf0-dd19-4378-83e0-6526eea688e7", "metadata": {}, "outputs": [], @@ -371,7 +921,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 18, "id": "20d62b32-bac1-49d6-96ae-86143fcaa3bd", "metadata": {}, "outputs": [], @@ -384,43 +934,26 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 19, "id": "bad4726e-394a-4935-a57f-f53fe8f87ae6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'https://cloud.google.com/eventarc/advanced/docs/audit-logs',\n", - " 'https://cloud.google.com/eventarc/advanced/docs/event-providers-targets',\n", - " 'https://cloud.google.com/eventarc/advanced/docs/overview',\n", - " 'https://cloud.google.com/eventarc/advanced/docs/publish-events/publish-events-google-sources',\n", - " 'https://cloud.google.com/eventarc/advanced/docs/receive-events/configure-format-events',\n", - " 'https://cloud.google.com/eventarc/advanced/docs/receive-events/transform-events',\n", - " 'https://cloud.google.com/eventarc/advanced/docs/use-cmek',\n", - " 'https://cloud.google.com/eventarc/advanced/docs/using-vpc-service-controls',\n", - " 'https://cloud.google.com/eventarc/docs/access-control',\n", - " 'https://cloud.google.com/eventarc/docs/compliance',\n", - " 'https://cloud.google.com/eventarc/docs/event-driven-architectures',\n", - " 'https://cloud.google.com/eventarc/docs/event-format',\n", - " 'https://cloud.google.com/eventarc/docs/quotas',\n", - " 'https://cloud.google.com/eventarc/docs/reference/audit-logs',\n", - " 'https://cloud.google.com/eventarc/docs/reference/libraries',\n", - " 'https://cloud.google.com/eventarc/docs/reference/publishing/rest',\n", - " 'https://cloud.google.com/eventarc/docs/reference/rest',\n", - " 'https://cloud.google.com/eventarc/docs/retry-events',\n", - " 'https://cloud.google.com/eventarc/docs/understand-locations',\n", - " 'https://cloud.google.com/eventarc/docs/use-cmek',\n", - " 'https://cloud.google.com/eventarc/docs/using-vpc-service-controls',\n", - " 'https://cloud.google.com/eventarc/standard/docs/event-providers-targets',\n", - " 'https://cloud.google.com/eventarc/standard/docs/overview',\n", - " 'https://cloud.google.com/logging/docs/overview',\n", - " 'https://cloud.google.com/monitoring/docs/monitoring-overview',\n", - " 'https://cloud.google.comhttps://cloud.google.com/docs',\n", - " 'https://cloud.google.comhttps://cloud.google.com/eventarc/docs'}" + "{'https://cloud.google.com/apis/docs/cloud-client-libraries',\n", + " 'https://cloud.google.com/compute/docs/choose-compute-deployment-option',\n", + " 'https://cloud.google.com/compute/docs/cpu-platforms',\n", + " 'https://cloud.google.com/compute/docs/disks',\n", + " 'https://cloud.google.com/compute/docs/gpus',\n", + " 'https://cloud.google.com/compute/docs/machine-resource',\n", + " 'https://cloud.google.com/compute/docs/networking/network-overview',\n", + " 'https://cloud.google.com/compute/docs/regions-zones',\n", + " 'https://cloud.google.comhttps://cloud.google.com/compute/docs',\n", + " 'https://cloud.google.comhttps://cloud.google.com/compute/docs/overview'}" ] }, - "execution_count": 26, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -431,703 +964,56 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "98477112-90f6-4ddd-96e9-dfc5e8f5ff82", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "** 0 **: \n", - "\n", - "** 0 **: \n", - "\n", - "** 0 **: \n", - "\n", - "** 0 **:

\n", - " Eventarc overview\n", - "
\n", - "\n", - "\n", - " \n", - " Stay organized with collections\n", - " \n", - "\n", - " \n", - " Save and categorize content based on your preferences.\n", - " \n", - "
\n", - "

\n", - "dict_keys(['class', 'tabindex'])\n", - "---*** TAG NAME: h1\n", - "['devsite-page-title']\n", - "CLASS_LIST: ['devsite-page-title']\n", - "CLASS cl: devsite-page-title\n", - "** 1 **: \n", - "\n", - "** 1 **: \n", - "\n", - "** 1 **: \n", - "\n", - "** 1 **:
\n", - "\n", - "\n", - "

Eventarc lets you build event-driven architectures without having to implement,\n", - " customize, or maintain the underlying infrastructure.

\n", - "

Eventarc is offered in two editions: Eventarc Advanced and\n", - " Eventarc Standard.

\n", - "

Both editions offer a scalable, serverless, and fully managed eventing solution that lets you\n", - " asynchronously route messages from sources to targets using loosely coupled services that are\n", - " triggered by and react to state changes known as events. Both editions support a range of\n", - " event providers and destinations—including Google Cloud services, custom applications, SaaS\n", - " applications, and third-party services—while managing delivery, security, authorization,\n", - " observability, and error-handling for you.

\n", - "

Note that the underlying data model for both editions of Eventarc is the same. As\n", - " a use case grows in complexity, you have the option of seamlessly transitioning from using\n", - " Eventarc Standard to using Eventarc Advanced.

\n", - "

Editions overview

\n", - "

The following is an overview of both editions. For more detailed information, see the\n", - " Eventarc Advanced overview and the\n", - " Eventarc Standard overview.\n", - "

\n", - "
\n", - "
Eventarc Advanced
\n", - "

Eventarc Advanced is a fully managed platform for building event-driven\n", - " architectures. It lets you collect events that occur in a system and publish them to a central\n", - " bus. Interested services can subscribe to specific messages by creating enrollments. You\n", - " can use the bus to route events from multiple sources in real time and publish them to\n", - " multiple destinations, and optionally transform events prior to delivery to a target.\n", - " Eventarc Advanced is feature rich and is ideal for organizations with\n", - " complex eventing and messaging needs, particularly those grappling with managing numerous\n", - " Pub/Sub topics, Kafka queues, or other third-party messaging systems. By providing\n", - " administrators with enhanced and centralized visibility and control,\n", - " Eventarc Advanced enables organizations to connect multiple teams across\n", - " different projects.

\n", - "
\n", - "\n", - "\"Eventarc\n", - "
Eventarc Advanced lets you receive, filter,\n", - " transform, route, and deliver messages
between different event providers and\n", - " destinations (click diagram to enlarge).
\n", - "
\n", - "
\n", - "
Eventarc Standard
\n", - "

Eventarc Standard is recommended for applications where the focus is on simply\n", - " delivering events from event provider to event destination. It lets you quickly and easily\n", - " consume Google events by defining triggers that filter inbound events according to their source,\n", - " type, and other attributes, and then route them to a specified destination.

\n", - "
\n", - "\n", - "\"Eventarc\n", - "
Eventarc Standard lets you filter and\n", - " route events
from event providers to event destinations (click diagram to enlarge).
\n", - "
\n", - "
\n", - "
\n", - "

Features comparison table

\n", - "\n", - "The following table can help you choose between Eventarc Advanced and\n", - "Eventarc Standard. It assumes your familiarity with the basic concepts of\n", - "\n", - " event-driven architectures.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
FeatureEventarc AdvancedEventarc Standard
Access controlPer message access control and central governance with IAM
\n", - " See Access control with IAM
See Access control with IAM
CapacityAutomatically provisionedAutomatically provisioned
Client library languagesJava, Python, Go, Node.js, C++, C#, PHP, Ruby
See\n", - " Eventarc client libraries
Java, Python, Go, Node.js, C++, C#, PHP, Ruby
See\n", - " Eventarc client libraries
Compliance standardsDoesn't apply to any feature in PreviewSee Compliance standards\n", - "
Cross-project event deliverySupported
See\n", - " Publish events\n", - " from Google sources
Not supported
Customer managed encryption keysYes
See Use customer-managed encryption keys
Yes
See Use customer-managed encryption keys
Dead letter queues supportedNoYes, through Pub/Sub dead letter topic
See\n", - " Retry events
Event formatEvents are delivered to the destination in a CloudEvents format
See\n", - " Event format
\n", - " Optionally, you can override this behavior by\n", - " defining an HTTP binding
Events are delivered to the destination in a CloudEvents format
\n", - " See Event format
Event size1 MB maximum
See\n", - " Quotas and limits
512 KB maximum
See\n", - " Quotas and limits
LocationsSee Eventarc Advanced locationsSee Eventarc Standard locations
Message filteringFiltering on any and all event attributesFiltering on event type and specific attributes
Message routingMany providers to many destinations
Provider to destination
Message schema conversionYes
See\n", - " Convert the format of\n", - " received events
No
Message transformationYes, through CEL expressions
See\n", - " Transform received events
No
ObservabilityThrough Google Cloud Observability such as Cloud Logging\n", - " and Cloud Monitoring
See\n", - " Eventarc audit logging
Through Google Cloud Observability such as Cloud Logging\n", - " and Cloud Monitoring
See\n", - " Eventarc audit logging
Ordered deliveryThere is no in-order, first-in-first-out delivery guaranteeThere is no in-order, first-in-first-out delivery guarantee
PricingSee Eventarc pricingSee Eventarc pricing
RegionalityRegional
See Understand regionality
Regional, Global
See Understand\n", - " Eventarc locations
REST endpointshttps://eventarc.googleapis.com
See\n", - " Eventarc API
\n", - "https://eventarcpublishing.googleapis.com
See\n", - " Eventarc Publishing API
https://eventarc.googleapis.com
See\n", - " Eventarc API
Retry and retentionAt-least-once event delivery to targets; default message retention duration is 24 hours with\n", - " an exponential backoff delay
\n", - " See Retry events
At-least-once event delivery to targets; default message retention duration is 24 hours with\n", - " an exponential backoff delay
\n", - " See Retry events
Service limitsOne bus per Google Cloud project
100 pipelines per Google Cloud project per\n", - " region
See Quotas and limits
500 triggers per location per Google Cloud project
See\n", - " Quotas and limits
Service perimeter using VPC Service ControlsYes
See\n", - " Set up a service perimeter using\n", - " VPC Service Controls
Yes
See\n", - " Set up a service perimeter using\n", - " VPC Service Controls
Supported sourcesGoogle providers
Direct publishers using the Eventarc Publishing API
See\n", - " Event providers and destinations
Google providers
Google providers through audit logs
Third-party providers
See\n", - " Event providers and destinations
Supported targetsCloud Run functions (including 1st gen)
Cloud Run jobs and services
\n", - " Eventarc Advanced buses
Internal HTTP endpoints in\n", - " VPC networks
Pub/Sub topics
Workflows
See\n", - " Event providers and destinations
Cloud Run functions
Cloud Run services
Internal HTTP endpoints in\n", - " VPC networks
Public endpoints of private and public GKE\n", - " services
Workflows
See\n", - " Event providers and destinations
\n", - "\n", - "
\n", - "dict_keys(['class'])\n", - "---*** TAG NAME: div\n", - "['devsite-article-body', 'clearfix']\n", - "CLASS_LIST: ['devsite-article-body', 'clearfix']\n", - "CLASS cl: devsite-article-body\n", - "CLASS cl: clearfix\n", - "** 2 **: \n", - "\n", - "** 2 **: \n", - "\n", - "** 2 **: \n", - "\n", - "** 2 **:
\n", - "
\n", - "dict_keys(['class'])\n", - "---*** TAG NAME: div\n", - "['devsite-floating-action-buttons']\n", - "CLASS_LIST: ['devsite-floating-action-buttons']\n", - "CLASS cl: devsite-floating-action-buttons\n", - "** 3 **: \n", - "\n" - ] - } - ], + "outputs": [], "source": [ - "i = 0\n", - "for elem in article_section:\n", - " if i < 5:\n", + "# i = 0\n", + "# for elem in article_section:\n", + "# if i < 5:\n", " \n", - " if elem.name in exclude_tags:\n", - " continue\n", + "# if elem.name in exclude_tags:\n", + "# continue\n", "\n", - " print('** {} **: {}'.format(i,elem))\n", - " if isinstance(elem, Tag):\n", - " keys = elem.attrs.keys()\n", - " print(keys)\n", - " if 'class' in keys:\n", - " print(\"---*** TAG NAME: {}\".format(elem.name))\n", - " print(elem['class'])\n", - " class_list = elem['class']\n", - " print(\"CLASS_LIST: {}\".format(class_list))\n", - " for cl in class_list:\n", - " print(\"CLASS cl: {}\".format(cl))\n", - " if 'breadcrumb' in cl or 'meta' in cl:\n", - " print('DECOMPOSING\\n')\n", - " elem.decompose()\n", - " break\n", - " else:\n", - " print('No class or no breadcrumb')\n", - " i = i + 1\n", - " else:\n", - " continue\n", - " else:\n", - " article_section = article_section\n", - " break" + "# print('** {} **: {}'.format(i,elem))\n", + "# if isinstance(elem, Tag):\n", + "# keys = elem.attrs.keys()\n", + "# print(keys)\n", + "# if 'class' in keys:\n", + "# print(\"---*** TAG NAME: {}\".format(elem.name))\n", + "# print(elem['class'])\n", + "# class_list = elem['class']\n", + "# print(\"CLASS_LIST: {}\".format(class_list))\n", + "# for cl in class_list:\n", + "# print(\"CLASS cl: {}\".format(cl))\n", + "# if 'breadcrumb' in cl or 'meta' in cl:\n", + "# print('DECOMPOSING\\n')\n", + "# elem.decompose()\n", + "# break\n", + "# else:\n", + "# print('No class or no breadcrumb')\n", + "# i = i + 1\n", + "# else:\n", + "# continue\n", + "# else:\n", + "# article_section = article_section\n", + "# break" ] }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "849ab8d6-3f38-46a7-bbe8-5341f070861a", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "
\n", - "\n", - "\n", - "\n", - "\n", - "

\n", - " Eventarc overview\n", - "
\n", - "\n", - "\n", - " \n", - " Stay organized with collections\n", - " \n", - "\n", - " \n", - " Save and categorize content based on your preferences.\n", - " \n", - "
\n", - "

\n", - "\n", - "\n", - "\n", - "
\n", - "\n", - "\n", - "

Eventarc lets you build event-driven architectures without having to implement,\n", - " customize, or maintain the underlying infrastructure.

\n", - "

Eventarc is offered in two editions: Eventarc Advanced and\n", - " Eventarc Standard.

\n", - "

Both editions offer a scalable, serverless, and fully managed eventing solution that lets you\n", - " asynchronously route messages from sources to targets using loosely coupled services that are\n", - " triggered by and react to state changes known as events. Both editions support a range of\n", - " event providers and destinations—including Google Cloud services, custom applications, SaaS\n", - " applications, and third-party services—while managing delivery, security, authorization,\n", - " observability, and error-handling for you.

\n", - "

Note that the underlying data model for both editions of Eventarc is the same. As\n", - " a use case grows in complexity, you have the option of seamlessly transitioning from using\n", - " Eventarc Standard to using Eventarc Advanced.

\n", - "

Editions overview

\n", - "

The following is an overview of both editions. For more detailed information, see the\n", - " Eventarc Advanced overview and the\n", - " Eventarc Standard overview.\n", - "

\n", - "
\n", - "
Eventarc Advanced
\n", - "

Eventarc Advanced is a fully managed platform for building event-driven\n", - " architectures. It lets you collect events that occur in a system and publish them to a central\n", - " bus. Interested services can subscribe to specific messages by creating enrollments. You\n", - " can use the bus to route events from multiple sources in real time and publish them to\n", - " multiple destinations, and optionally transform events prior to delivery to a target.\n", - " Eventarc Advanced is feature rich and is ideal for organizations with\n", - " complex eventing and messaging needs, particularly those grappling with managing numerous\n", - " Pub/Sub topics, Kafka queues, or other third-party messaging systems. By providing\n", - " administrators with enhanced and centralized visibility and control,\n", - " Eventarc Advanced enables organizations to connect multiple teams across\n", - " different projects.

\n", - "
\n", - "\n", - "\"Eventarc\n", - "
Eventarc Advanced lets you receive, filter,\n", - " transform, route, and deliver messages
between different event providers and\n", - " destinations (click diagram to enlarge).
\n", - "
\n", - "
\n", - "
Eventarc Standard
\n", - "

Eventarc Standard is recommended for applications where the focus is on simply\n", - " delivering events from event provider to event destination. It lets you quickly and easily\n", - " consume Google events by defining triggers that filter inbound events according to their source,\n", - " type, and other attributes, and then route them to a specified destination.

\n", - "
\n", - "\n", - "\"Eventarc\n", - "
Eventarc Standard lets you filter and\n", - " route events
from event providers to event destinations (click diagram to enlarge).
\n", - "
\n", - "
\n", - "
\n", - "

Features comparison table

\n", - "\n", - "The following table can help you choose between Eventarc Advanced and\n", - "Eventarc Standard. It assumes your familiarity with the basic concepts of\n", - "\n", - " event-driven architectures.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
FeatureEventarc AdvancedEventarc Standard
Access controlPer message access control and central governance with IAM
\n", - " See Access control with IAM
See Access control with IAM
CapacityAutomatically provisionedAutomatically provisioned
Client library languagesJava, Python, Go, Node.js, C++, C#, PHP, Ruby
See\n", - " Eventarc client libraries
Java, Python, Go, Node.js, C++, C#, PHP, Ruby
See\n", - " Eventarc client libraries
Compliance standardsDoesn't apply to any feature in PreviewSee Compliance standards\n", - "
Cross-project event deliverySupported
See\n", - " Publish events\n", - " from Google sources
Not supported
Customer managed encryption keysYes
See Use customer-managed encryption keys
Yes
See Use customer-managed encryption keys
Dead letter queues supportedNoYes, through Pub/Sub dead letter topic
See\n", - " Retry events
Event formatEvents are delivered to the destination in a CloudEvents format
See\n", - " Event format
\n", - " Optionally, you can override this behavior by\n", - " defining an HTTP binding
Events are delivered to the destination in a CloudEvents format
\n", - " See Event format
Event size1 MB maximum
See\n", - " Quotas and limits
512 KB maximum
See\n", - " Quotas and limits
LocationsSee Eventarc Advanced locationsSee Eventarc Standard locations
Message filteringFiltering on any and all event attributesFiltering on event type and specific attributes
Message routingMany providers to many destinations
Provider to destination
Message schema conversionYes
See\n", - " Convert the format of\n", - " received events
No
Message transformationYes, through CEL expressions
See\n", - " Transform received events
No
ObservabilityThrough Google Cloud Observability such as Cloud Logging\n", - " and Cloud Monitoring
See\n", - " Eventarc audit logging
Through Google Cloud Observability such as Cloud Logging\n", - " and Cloud Monitoring
See\n", - " Eventarc audit logging
Ordered deliveryThere is no in-order, first-in-first-out delivery guaranteeThere is no in-order, first-in-first-out delivery guarantee
PricingSee Eventarc pricingSee Eventarc pricing
RegionalityRegional
See Understand regionality
Regional, Global
See Understand\n", - " Eventarc locations
REST endpointshttps://eventarc.googleapis.com
See\n", - " Eventarc API
\n", - "https://eventarcpublishing.googleapis.com
See\n", - " Eventarc Publishing API
https://eventarc.googleapis.com
See\n", - " Eventarc API
Retry and retentionAt-least-once event delivery to targets; default message retention duration is 24 hours with\n", - " an exponential backoff delay
\n", - " See Retry events
At-least-once event delivery to targets; default message retention duration is 24 hours with\n", - " an exponential backoff delay
\n", - " See Retry events
Service limitsOne bus per Google Cloud project
100 pipelines per Google Cloud project per\n", - " region
See Quotas and limits
500 triggers per location per Google Cloud project
See\n", - " Quotas and limits
Service perimeter using VPC Service ControlsYes
See\n", - " Set up a service perimeter using\n", - " VPC Service Controls
Yes
See\n", - " Set up a service perimeter using\n", - " VPC Service Controls
Supported sourcesGoogle providers
Direct publishers using the Eventarc Publishing API
See\n", - " Event providers and destinations
Google providers
Google providers through audit logs
Third-party providers
See\n", - " Event providers and destinations
Supported targetsCloud Run functions (including 1st gen)
Cloud Run jobs and services
\n", - " Eventarc Advanced buses
Internal HTTP endpoints in\n", - " VPC networks
Pub/Sub topics
Workflows
See\n", - " Event providers and destinations
Cloud Run functions
Cloud Run services
Internal HTTP endpoints in\n", - " VPC networks
Public endpoints of private and public GKE\n", - " services
Workflows
See\n", - " Event providers and destinations
\n", - "\n", - "
\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
\n", - "
\n", - "
" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "article_section" + "# article_section" ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 21, "id": "dceddf77-03a8-46d8-b569-929b1115b35d", "metadata": {}, "outputs": [], @@ -1137,296 +1023,17 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 22, "id": "1445ba84-7e53-4612-8a31-2c60355913ab", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[
\n", - " \n", - " \n", - "

Eventarc lets you build event-driven architectures without having to implement,\n", - " customize, or maintain the underlying infrastructure.

\n", - "

Eventarc is offered in two editions: Eventarc Advanced and\n", - " Eventarc Standard.

\n", - "

Both editions offer a scalable, serverless, and fully managed eventing solution that lets you\n", - " asynchronously route messages from sources to targets using loosely coupled services that are\n", - " triggered by and react to state changes known as events. Both editions support a range of\n", - " event providers and destinations—including Google Cloud services, custom applications, SaaS\n", - " applications, and third-party services—while managing delivery, security, authorization,\n", - " observability, and error-handling for you.

\n", - "

Note that the underlying data model for both editions of Eventarc is the same. As\n", - " a use case grows in complexity, you have the option of seamlessly transitioning from using\n", - " Eventarc Standard to using Eventarc Advanced.

\n", - "

Editions overview

\n", - "

The following is an overview of both editions. For more detailed information, see the\n", - " Eventarc Advanced overview and the\n", - " Eventarc Standard overview.\n", - "

\n", - "
\n", - "
Eventarc Advanced
\n", - "

Eventarc Advanced is a fully managed platform for building event-driven\n", - " architectures. It lets you collect events that occur in a system and publish them to a central\n", - " bus. Interested services can subscribe to specific messages by creating enrollments. You\n", - " can use the bus to route events from multiple sources in real time and publish them to\n", - " multiple destinations, and optionally transform events prior to delivery to a target.\n", - " Eventarc Advanced is feature rich and is ideal for organizations with\n", - " complex eventing and messaging needs, particularly those grappling with managing numerous\n", - " Pub/Sub topics, Kafka queues, or other third-party messaging systems. By providing\n", - " administrators with enhanced and centralized visibility and control,\n", - " Eventarc Advanced enables organizations to connect multiple teams across\n", - " different projects.

\n", - "
\n", - " \n", - " \"Eventarc\n", - "
Eventarc Advanced lets you receive, filter,\n", - " transform, route, and deliver messages
between different event providers and\n", - " destinations (click diagram to enlarge).
\n", - "
\n", - "
\n", - "
Eventarc Standard
\n", - "

Eventarc Standard is recommended for applications where the focus is on simply\n", - " delivering events from event provider to event destination. It lets you quickly and easily\n", - " consume Google events by defining triggers that filter inbound events according to their source,\n", - " type, and other attributes, and then route them to a specified destination.

\n", - "
\n", - " \n", - " \"Eventarc\n", - "
Eventarc Standard lets you filter and\n", - " route events
from event providers to event destinations (click diagram to enlarge).
\n", - "
\n", - "
\n", - "
\n", - "

Features comparison table

\n", - " \n", - " The following table can help you choose between Eventarc Advanced and\n", - " Eventarc Standard. It assumes your familiarity with the basic concepts of\n", - " \n", - " event-driven architectures.\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
FeatureEventarc AdvancedEventarc Standard
Access controlPer message access control and central governance with IAM
\n", - " See Access control with IAM
See Access control with IAM
CapacityAutomatically provisionedAutomatically provisioned
Client library languagesJava, Python, Go, Node.js, C++, C#, PHP, Ruby
See\n", - " Eventarc client libraries
Java, Python, Go, Node.js, C++, C#, PHP, Ruby
See\n", - " Eventarc client libraries
Compliance standardsDoesn't apply to any feature in PreviewSee Compliance standards\n", - "
Cross-project event deliverySupported
See\n", - " Publish events\n", - " from Google sources
Not supported
Customer managed encryption keysYes
See Use customer-managed encryption keys
Yes
See Use customer-managed encryption keys
Dead letter queues supportedNoYes, through Pub/Sub dead letter topic
See\n", - " Retry events
Event formatEvents are delivered to the destination in a CloudEvents format
See\n", - " Event format
\n", - " Optionally, you can override this behavior by\n", - " defining an HTTP binding
Events are delivered to the destination in a CloudEvents format
\n", - " See Event format
Event size1 MB maximum
See\n", - " Quotas and limits
512 KB maximum
See\n", - " Quotas and limits
LocationsSee Eventarc Advanced locationsSee Eventarc Standard locations
Message filteringFiltering on any and all event attributesFiltering on event type and specific attributes
Message routingMany providers to many destinations
Provider to destination
Message schema conversionYes
See\n", - " Convert the format of\n", - " received events
No
Message transformationYes, through CEL expressions
See\n", - " Transform received events
No
ObservabilityThrough Google Cloud Observability such as Cloud Logging\n", - " and Cloud Monitoring
See\n", - " Eventarc audit logging
Through Google Cloud Observability such as Cloud Logging\n", - " and Cloud Monitoring
See\n", - " Eventarc audit logging
Ordered deliveryThere is no in-order, first-in-first-out delivery guaranteeThere is no in-order, first-in-first-out delivery guarantee
PricingSee Eventarc pricingSee Eventarc pricing
RegionalityRegional
See Understand regionality
Regional, Global
See Understand\n", - " Eventarc locations
REST endpointshttps://eventarc.googleapis.com
See\n", - " Eventarc API
\n", - " https://eventarcpublishing.googleapis.com
See\n", - " Eventarc Publishing API
https://eventarc.googleapis.com
See\n", - " Eventarc API
Retry and retentionAt-least-once event delivery to targets; default message retention duration is 24 hours with\n", - " an exponential backoff delay
\n", - " See Retry events
At-least-once event delivery to targets; default message retention duration is 24 hours with\n", - " an exponential backoff delay
\n", - " See Retry events
Service limitsOne bus per Google Cloud project
100 pipelines per Google Cloud project per\n", - " region
See Quotas and limits
500 triggers per location per Google Cloud project
See\n", - " Quotas and limits
Service perimeter using VPC Service ControlsYes
See\n", - " Set up a service perimeter using\n", - " VPC Service Controls
Yes
See\n", - " Set up a service perimeter using\n", - " VPC Service Controls
Supported sourcesGoogle providers
Direct publishers using the Eventarc Publishing API
See\n", - " Event providers and destinations
Google providers
Google providers through audit logs
Third-party providers
See\n", - " Event providers and destinations
Supported targetsCloud Run functions (including 1st gen)
Cloud Run jobs and services
\n", - " Eventarc Advanced buses
Internal HTTP endpoints in\n", - " VPC networks
Pub/Sub topics
Workflows
See\n", - " Event providers and destinations
Cloud Run functions
Cloud Run services
Internal HTTP endpoints in\n", - " VPC networks
Public endpoints of private and public GKE\n", - " services
Workflows
See\n", - " Event providers and destinations
\n", - " \n", - "
]" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "art_body = soupy.select('.devsite-article-body')" ] }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 23, "id": "3a2263cb-694d-490c-8fd3-57a53e8dabfc", "metadata": {}, "outputs": [], @@ -1441,28 +1048,28 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": null, "id": "ff87addb-f13c-4884-957b-fbffe47b2d4e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "'Preview\\n \\n — Eventarc Advanced\\n \\n\\n\\n\\n\\n\\n \\n \\n This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\\n of the \\n.\\n \\n Pre-GA features are available \"as is\" and might have limited support.\\n \\n For more information, see the\\n \\n.\\n \\n\\n\\n\\n\\nEventarc lets you build event-driven architectures without having to implement,\\n customize, or maintain the underlying infrastructure.\\n\\n\\nEventarc is offered in two editions: \\nEventarc Advanced\\n and\\n \\nEventarc Standard\\n.\\n\\n\\nBoth editions offer a scalable, serverless, and fully managed eventing solution that lets you\\n asynchronously route messages from sources to targets using loosely coupled services that are\\n triggered by and react to state changes known as \\nevents\\n. Both editions support a range of\\n event providers and destinations—including Google Cloud services, custom applications, SaaS\\n applications, and third-party services—while managing delivery, security, authorization,\\n observability, and error-handling for you.\\n\\n\\nNote that the underlying data model for both editions of Eventarc is the same. As\\n a use case grows in complexity, you have the option of seamlessly transitioning from using\\n Eventarc Standard to using Eventarc Advanced.\\n\\n\\nEditions overview\\n\\n\\nThe following is an overview of both editions. For more detailed information, see the\\n \\n and the\\n \\n.\\n\\n\\n\\n\\n\\nEventarc Advanced\\n\\n\\nEventarc Advanced is a fully managed platform for building event-driven\\n architectures. It lets you collect events that occur in a system and publish them to a central\\n bus. Interested services can subscribe to specific messages by creating enrollments. You\\n can use the bus to route events from multiple sources in real time and publish them to\\n multiple destinations, and optionally transform events prior to delivery to a target.\\n Eventarc Advanced is feature rich and is ideal for organizations with\\n complex eventing and messaging needs, particularly those grappling with managing numerous\\n Pub/Sub topics, Kafka queues, or other third-party messaging systems. By providing\\n administrators with enhanced and centralized visibility and control,\\n Eventarc Advanced enables organizations to connect multiple teams across\\n different projects.\\n\\n\\n\\n\\n\\n\\nEventarc Advanced lets you receive, filter,\\n transform, route, and deliver messages\\nbetween different event providers and\\n destinations (click diagram to enlarge).\\n\\n\\n\\n\\n\\n\\nEventarc Standard\\n\\n\\nEventarc Standard is recommended for applications where the focus is on simply\\n delivering events from event provider to event destination. It lets you quickly and easily\\n consume Google events by defining triggers that filter inbound events according to their source,\\n type, and other attributes, and then route them to a specified destination.\\n\\n\\n\\n\\n\\n\\nEventarc Standard lets you filter and\\n route events\\nfrom event providers to event destinations (click diagram to enlarge).\\n\\n\\n\\n\\n\\n\\n\\n\\nFeatures comparison table\\n\\n\\nThe following table can help you choose between Eventarc Advanced and\\nEventarc Standard. It assumes your familiarity with the basic concepts of\\n\\n \\n.\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nFeature\\n\\n\\nEventarc Advanced\\n\\n\\nEventarc Standard\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\nAccess control\\n\\n\\nPer message access control and central governance with IAM\\n\\n See \\n\\n\\nSee \\n\\n\\n\\n\\n\\n\\nCapacity\\n\\n\\nAutomatically provisioned\\n\\n\\nAutomatically provisioned\\n\\n\\n\\n\\n\\n\\nClient library languages\\n\\n\\nJava, Python, Go, Node.js, C++, C#, PHP, Ruby\\nSee\\n \\n\\n\\nJava, Python, Go, Node.js, C++, C#, PHP, Ruby\\nSee\\n \\n\\n\\n\\n\\n\\n\\nCompliance standards\\n\\n\\nDoesn\\'t apply to any feature in \\n\\n\\nSee \\n\\n\\n\\n\\n\\n\\n\\n\\nCross-project event delivery\\n\\n\\nSupported\\nSee\\n \\n\\n\\nNot supported\\n\\n\\n\\n\\n\\n\\nCustomer managed encryption keys\\n\\n\\nYes\\nSee \\n\\n\\nYes\\nSee \\n\\n\\n\\n\\n\\n\\nDead letter queues supported\\n\\n\\nNo\\n\\n\\nYes, through Pub/Sub dead letter topic\\nSee\\n \\n\\n\\n\\n\\n\\n\\nEvent format\\n\\n\\nEvents are delivered to the destination in a CloudEvents format\\nSee\\n \\n\\n Optionally, you can override this behavior by\\n \\n\\n\\nEvents are delivered to the destination in a CloudEvents format\\n\\n See \\n\\n\\n\\n\\n\\n\\nEvent size\\n\\n\\n1\\xa0MB maximum\\nSee\\n \\n\\n\\n512\\xa0KB maximum\\nSee\\n \\n\\n\\n\\n\\n\\n\\nLocations\\n\\n\\nSee \\n\\n\\nSee \\n\\n\\n\\n\\n\\n\\nMessage filtering\\n\\n\\nFiltering on any and all event attributes\\n\\n\\nFiltering on event type and specific attributes\\n\\n\\n\\n\\n\\n\\nMessage routing\\n\\n\\nMany providers to many destinations\\n\\n\\nProvider to destination\\n\\n\\n\\n\\n\\n\\nMessage schema conversion\\n\\n\\nYes\\nSee\\n \\n\\n\\nNo\\n\\n\\n\\n\\n\\n\\nMessage transformation\\n\\n\\nYes, through CEL expressions\\nSee\\n \\n\\n\\nNo\\n\\n\\n\\n\\n\\n\\nObservability\\n\\n\\nThrough Google Cloud Observability such as \\n\\n and \\nSee\\n \\n\\n\\nThrough Google Cloud Observability such as \\n\\n and \\nSee\\n \\n\\n\\n\\n\\n\\n\\nOrdered delivery\\n\\n\\nThere is no in-order, first-in-first-out delivery guarantee\\n\\n\\nThere is no in-order, first-in-first-out delivery guarantee\\n\\n\\n\\n\\n\\n\\nPricing\\n\\n\\nSee \\n\\n\\nSee \\n\\n\\n\\n\\n\\n\\nRegionality\\n\\n\\nRegional\\nSee \\n\\n\\nRegional, Global\\nSee \\n\\n\\n\\n\\n\\n\\nREST endpoints\\n\\n\\nSee\\n \\n\\n\\nSee\\n \\n\\n\\nSee\\n \\n\\n\\n\\n\\n\\n\\nRetry and retention\\n\\n\\nAt-least-once event delivery to targets; default message retention duration is 24 hours with\\n an exponential backoff delay\\n\\n See \\n\\n\\nAt-least-once event delivery to targets; default message retention duration is 24 hours with\\n an exponential backoff delay\\n\\n See \\n\\n\\n\\n\\n\\n\\nService limits\\n\\n\\nOne bus per Google Cloud project\\n100 pipelines per Google Cloud project per\\n region\\nSee \\n\\n\\n500 triggers per location per Google Cloud project\\nSee\\n \\n\\n\\n\\n\\n\\n\\nService perimeter using VPC Service Controls\\n\\n\\nYes\\nSee\\n \\n\\n\\nYes\\nSee\\n \\n\\n\\n\\n\\n\\n\\nSupported sources\\n\\n\\nGoogle providers\\nDirect publishers using the Eventarc Publishing API\\nSee\\n \\n\\n\\nGoogle providers\\nGoogle providers through audit logs\\nThird-party providers\\nSee\\n \\n\\n\\n\\n\\n\\n\\nSupported targets\\n\\n\\nCloud Run functions (including 1st\\xa0gen)\\nCloud Run jobs and services\\n\\n Eventarc Advanced buses\\nInternal HTTP endpoints in\\n VPC networks\\nPub/Sub topics\\nWorkflows\\nSee\\n \\n\\n\\nCloud Run functions\\nCloud Run services\\nInternal HTTP endpoints in\\n VPC networks\\nPublic endpoints of private and public GKE\\n services\\nWorkflows\\nSee'" + "\"Compute Engine is an infrastructure as a service (IaaS) product that offers\\nself-managed virtual machine (VM) instances and bare\\nmetal instances. Compute Engine offers VMs with a KVM hypervisor,\\noperating systems for both Linux and Windows, and local and durable\\nstorage options. You can configure and control Compute Engine\\nresources using the Google Cloud console, the Google Cloud CLI, or using a\\nREST-based API. You can also use a variety of programming languages available\\nwith Google's\\n\\n.\\n\\n\\nHere are some of the benefits of using Compute Engine:\\n\\n\\n\\n\\nExtensibility:\\n Compute Engine integrates with Google Cloud\\ntechnologies such as Cloud Storage, Google Kubernetes Engine, and\\nBigQuery, to extend beyond the basic computational capability to\\ncreate more complex and sophisticated applications.\\n\\n\\nScalability:\\n Scale the number of compute resources as needed without\\nhaving to manage your own infrastructure. This is useful for businesses that\\nexperience sudden increases in traffic, because you can quickly add more\\ninstances to handle the increase and remove the instances after they are no\\nlonger needed.\\n\\n\\nReliability:\\n Google's infrastructure is highly reliable, with a 99.9%\\nuptime guarantee.\\n\\n\\nCost-effectiveness:\\n Compute Engine offers a variety of pricing\\noptions to fit your budget. Also, you only pay for the resources that you use,\\nand there are no up-front costs.\\n\\n\\n\\n\\nWhat Compute Engine provides\\n\\n\\nCompute Engine provides flexibility so that you can run a wide-range\\nof applications and workloads that support your needs. From batch processing\\nto webserving or high performance computing you can configure\\nCompute Engine to meet your needs.\\n\\n\\nLocation selection\\n\\n\\nGoogle offers worldwide regions for you to deploy Compute Engine\\nresources. You can choose a region that best fits the requirements of your\\nworkload:\\n\\n\\n\\n\\nRegion-specific restrictions\\n\\n\\nUser latency by region\\n\\n\\nLatency requirements of your application\\n\\n\\nAmount of control over latency\\n\\n\\nBalance between low latency and simplicity\\n\\n\\n\\n\\nFor more information about regions and zones, see\\n\\n.\\n\\n\\nCompute Engine machine types\\n\\n\\nCompute Engine provides a comprehensive set of machine families, each\\ncontaining machine types to choose from when you create a compute instance. Each\\nmachine family is comprised of machine series and predefined machine types\\nwithin each series.\\n\\n\\nCompute Engine offers general-purpose, compute-optimized,\\nstorage-optimized, memory-optimized, and accelerator-optimized machine\\nfamilies. If a preconfigured, general-purpose machine type doesn't meet your\\nneeds, then you can create a custom machine type with customized CPU and memory\\nresources for some of the machine series.\\n\\n\\nFor more information, see the\\n\\n.\\n\\n\\nOperating systems\\n\\n\\nCompute Engine provides many preconfigured public operating system\\nimages for both Linux and Windows. Most public images are provided for no\\nadditional cost, but there are some\\n\\n for which you are\\nbilled. You are not billed for importing custom images, but you will incur an\\n\\n while you keep\\nthe custom image in your project.\\n\\n\\nStorage options\\n\\n\\nYou can choose from several block storage options, including Persistent Disk,\\nGoogle Cloud Hyperdisk, and Local SSD:\\n\\n\\n\\n\\nPersistent Disk:\\n High-performance and redundant network storage. Each\\nvolume is striped across hundreds of physical disks.\\n\\n\\nHyperdisk:\\n The fastest redundant network storage for\\nCompute Engine, with configurable performance and volumes that can be\\nresized dynamically. Each volume is striped across hundreds of physical disks.\\nYou can also reduce costs and disk management complexity by purchasing\\ncapacity and performance in advance with Hyperdisk Storage Pools. Hyperdisk Storage Pools provide\\nan aggregate amount of capacity and performance that you can share among the\\ndisks created in the pool.\\n\\n\\nLocal SSD:\\n Physical drives that are attached directly to the same\\nserver as a compute instance. They offer better performance, but are not\\ndurable. If the instance is shut down, then the Local SSD disks are deleted.\\n\\n\\n\\n\\nEach option has unique price and performance. For cost comparisons, see\\n\\n. For more information about\\ndisk types, see \\n.\\n\\n\\nWhat's next\\n\\n\\n\\n\\nSee the \\n and\\n\\n that are available for your use.\\n\\n\\nRead an \\n.\\n\\n\\nLearn about the various \\n.\"" ] }, - "execution_count": 55, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "content" + "# content" ] }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 25, "id": "3b59e884-7946-4b6c-b768-8d585d0a9bab", "metadata": {}, "outputs": [ @@ -1470,551 +1077,183 @@ "name": "stdout", "output_type": "stream", "text": [ - "Preview\n", - " \n", - " — Eventarc Advanced\n", - " \n", + "Compute Engine is an infrastructure as a service (IaaS) product that offers\n", + "self-managed virtual machine (VM) instances and bare\n", + "metal instances. Compute Engine offers VMs with a KVM hypervisor,\n", + "operating systems for both Linux and Windows, and local and durable\n", + "storage options. You can configure and control Compute Engine\n", + "resources using the Google Cloud console, the Google Cloud CLI, or using a\n", + "REST-based API. You can also use a variety of programming languages available\n", + "with Google's\n", "\n", - "\n", - "\n", - "\n", - "\n", - " \n", - " \n", - " This feature is subject to the \"Pre-GA Offerings Terms\" in the General Service Terms section\n", - " of the \n", ".\n", - " \n", - " Pre-GA features are available \"as is\" and might have limited support.\n", - " \n", - " For more information, see the\n", - " \n", + "\n", + "\n", + "Here are some of the benefits of using Compute Engine:\n", + "\n", + "\n", + "\n", + "\n", + "Extensibility:\n", + " Compute Engine integrates with Google Cloud\n", + "technologies such as Cloud Storage, Google Kubernetes Engine, and\n", + "BigQuery, to extend beyond the basic computational capability to\n", + "create more complex and sophisticated applications.\n", + "\n", + "\n", + "Scalability:\n", + " Scale the number of compute resources as needed without\n", + "having to manage your own infrastructure. This is useful for businesses that\n", + "experience sudden increases in traffic, because you can quickly add more\n", + "instances to handle the increase and remove the instances after they are no\n", + "longer needed.\n", + "\n", + "\n", + "Reliability:\n", + " Google's infrastructure is highly reliable, with a 99.9%\n", + "uptime guarantee.\n", + "\n", + "\n", + "Cost-effectiveness:\n", + " Compute Engine offers a variety of pricing\n", + "options to fit your budget. Also, you only pay for the resources that you use,\n", + "and there are no up-front costs.\n", + "\n", + "\n", + "\n", + "\n", + "What Compute Engine provides\n", + "\n", + "\n", + "Compute Engine provides flexibility so that you can run a wide-range\n", + "of applications and workloads that support your needs. From batch processing\n", + "to webserving or high performance computing you can configure\n", + "Compute Engine to meet your needs.\n", + "\n", + "\n", + "Location selection\n", + "\n", + "\n", + "Google offers worldwide regions for you to deploy Compute Engine\n", + "resources. You can choose a region that best fits the requirements of your\n", + "workload:\n", + "\n", + "\n", + "\n", + "\n", + "Region-specific restrictions\n", + "\n", + "\n", + "User latency by region\n", + "\n", + "\n", + "Latency requirements of your application\n", + "\n", + "\n", + "Amount of control over latency\n", + "\n", + "\n", + "Balance between low latency and simplicity\n", + "\n", + "\n", + "\n", + "\n", + "For more information about regions and zones, see\n", + "\n", ".\n", - " \n", + "\n", + "\n", + "Compute Engine machine types\n", + "\n", + "\n", + "Compute Engine provides a comprehensive set of machine families, each\n", + "containing machine types to choose from when you create a compute instance. Each\n", + "machine family is comprised of machine series and predefined machine types\n", + "within each series.\n", + "\n", + "\n", + "Compute Engine offers general-purpose, compute-optimized,\n", + "storage-optimized, memory-optimized, and accelerator-optimized machine\n", + "families. If a preconfigured, general-purpose machine type doesn't meet your\n", + "needs, then you can create a custom machine type with customized CPU and memory\n", + "resources for some of the machine series.\n", + "\n", + "\n", + "For more information, see the\n", + "\n", + ".\n", + "\n", + "\n", + "Operating systems\n", + "\n", + "\n", + "Compute Engine provides many preconfigured public operating system\n", + "images for both Linux and Windows. Most public images are provided for no\n", + "additional cost, but there are some\n", + "\n", + " for which you are\n", + "billed. You are not billed for importing custom images, but you will incur an\n", + "\n", + " while you keep\n", + "the custom image in your project.\n", + "\n", + "\n", + "Storage options\n", + "\n", + "\n", + "You can choose from several block storage options, including Persistent Disk,\n", + "Google Cloud Hyperdisk, and Local SSD:\n", "\n", "\n", "\n", "\n", - "Eventarc lets you build event-driven architectures without having to implement,\n", - " customize, or maintain the underlying infrastructure.\n", + "Persistent Disk:\n", + " High-performance and redundant network storage. Each\n", + "volume is striped across hundreds of physical disks.\n", "\n", "\n", - "Eventarc is offered in two editions: \n", - "Eventarc Advanced\n", + "Hyperdisk:\n", + " The fastest redundant network storage for\n", + "Compute Engine, with configurable performance and volumes that can be\n", + "resized dynamically. Each volume is striped across hundreds of physical disks.\n", + "You can also reduce costs and disk management complexity by purchasing\n", + "capacity and performance in advance with Hyperdisk Storage Pools. Hyperdisk Storage Pools provide\n", + "an aggregate amount of capacity and performance that you can share among the\n", + "disks created in the pool.\n", + "\n", + "\n", + "Local SSD:\n", + " Physical drives that are attached directly to the same\n", + "server as a compute instance. They offer better performance, but are not\n", + "durable. If the instance is shut down, then the Local SSD disks are deleted.\n", + "\n", + "\n", + "\n", + "\n", + "Each option has unique price and performance. For cost comparisons, see\n", + "\n", + ". For more information about\n", + "disk types, see \n", + ".\n", + "\n", + "\n", + "What's next\n", + "\n", + "\n", + "\n", + "\n", + "See the \n", " and\n", - " \n", - "Eventarc Standard\n", + "\n", + " that are available for your use.\n", + "\n", + "\n", + "Read an \n", ".\n", "\n", "\n", - "Both editions offer a scalable, serverless, and fully managed eventing solution that lets you\n", - " asynchronously route messages from sources to targets using loosely coupled services that are\n", - " triggered by and react to state changes known as \n", - "events\n", - ". Both editions support a range of\n", - " event providers and destinations—including Google Cloud services, custom applications, SaaS\n", - " applications, and third-party services—while managing delivery, security, authorization,\n", - " observability, and error-handling for you.\n", - "\n", - "\n", - "Note that the underlying data model for both editions of Eventarc is the same. As\n", - " a use case grows in complexity, you have the option of seamlessly transitioning from using\n", - " Eventarc Standard to using Eventarc Advanced.\n", - "\n", - "\n", - "Editions overview\n", - "\n", - "\n", - "The following is an overview of both editions. For more detailed information, see the\n", - " \n", - " and the\n", - " \n", - ".\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Eventarc Advanced\n", - "\n", - "\n", - "Eventarc Advanced is a fully managed platform for building event-driven\n", - " architectures. It lets you collect events that occur in a system and publish them to a central\n", - " bus. Interested services can subscribe to specific messages by creating enrollments. You\n", - " can use the bus to route events from multiple sources in real time and publish them to\n", - " multiple destinations, and optionally transform events prior to delivery to a target.\n", - " Eventarc Advanced is feature rich and is ideal for organizations with\n", - " complex eventing and messaging needs, particularly those grappling with managing numerous\n", - " Pub/Sub topics, Kafka queues, or other third-party messaging systems. By providing\n", - " administrators with enhanced and centralized visibility and control,\n", - " Eventarc Advanced enables organizations to connect multiple teams across\n", - " different projects.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Eventarc Advanced lets you receive, filter,\n", - " transform, route, and deliver messages\n", - "between different event providers and\n", - " destinations (click diagram to enlarge).\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Eventarc Standard\n", - "\n", - "\n", - "Eventarc Standard is recommended for applications where the focus is on simply\n", - " delivering events from event provider to event destination. It lets you quickly and easily\n", - " consume Google events by defining triggers that filter inbound events according to their source,\n", - " type, and other attributes, and then route them to a specified destination.\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Eventarc Standard lets you filter and\n", - " route events\n", - "from event providers to event destinations (click diagram to enlarge).\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Features comparison table\n", - "\n", - "\n", - "The following table can help you choose between Eventarc Advanced and\n", - "Eventarc Standard. It assumes your familiarity with the basic concepts of\n", - "\n", - " \n", - ".\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Feature\n", - "\n", - "\n", - "Eventarc Advanced\n", - "\n", - "\n", - "Eventarc Standard\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Access control\n", - "\n", - "\n", - "Per message access control and central governance with IAM\n", - "\n", - " See \n", - "\n", - "\n", - "See \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Capacity\n", - "\n", - "\n", - "Automatically provisioned\n", - "\n", - "\n", - "Automatically provisioned\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Client library languages\n", - "\n", - "\n", - "Java, Python, Go, Node.js, C++, C#, PHP, Ruby\n", - "See\n", - " \n", - "\n", - "\n", - "Java, Python, Go, Node.js, C++, C#, PHP, Ruby\n", - "See\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Compliance standards\n", - "\n", - "\n", - "Doesn't apply to any feature in \n", - "\n", - "\n", - "See \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Cross-project event delivery\n", - "\n", - "\n", - "Supported\n", - "See\n", - " \n", - "\n", - "\n", - "Not supported\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Customer managed encryption keys\n", - "\n", - "\n", - "Yes\n", - "See \n", - "\n", - "\n", - "Yes\n", - "See \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Dead letter queues supported\n", - "\n", - "\n", - "No\n", - "\n", - "\n", - "Yes, through Pub/Sub dead letter topic\n", - "See\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Event format\n", - "\n", - "\n", - "Events are delivered to the destination in a CloudEvents format\n", - "See\n", - " \n", - "\n", - " Optionally, you can override this behavior by\n", - " \n", - "\n", - "\n", - "Events are delivered to the destination in a CloudEvents format\n", - "\n", - " See \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Event size\n", - "\n", - "\n", - "1 MB maximum\n", - "See\n", - " \n", - "\n", - "\n", - "512 KB maximum\n", - "See\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Locations\n", - "\n", - "\n", - "See \n", - "\n", - "\n", - "See \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Message filtering\n", - "\n", - "\n", - "Filtering on any and all event attributes\n", - "\n", - "\n", - "Filtering on event type and specific attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Message routing\n", - "\n", - "\n", - "Many providers to many destinations\n", - "\n", - "\n", - "Provider to destination\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Message schema conversion\n", - "\n", - "\n", - "Yes\n", - "See\n", - " \n", - "\n", - "\n", - "No\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Message transformation\n", - "\n", - "\n", - "Yes, through CEL expressions\n", - "See\n", - " \n", - "\n", - "\n", - "No\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Observability\n", - "\n", - "\n", - "Through Google Cloud Observability such as \n", - "\n", - " and \n", - "See\n", - " \n", - "\n", - "\n", - "Through Google Cloud Observability such as \n", - "\n", - " and \n", - "See\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Ordered delivery\n", - "\n", - "\n", - "There is no in-order, first-in-first-out delivery guarantee\n", - "\n", - "\n", - "There is no in-order, first-in-first-out delivery guarantee\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Pricing\n", - "\n", - "\n", - "See \n", - "\n", - "\n", - "See \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Regionality\n", - "\n", - "\n", - "Regional\n", - "See \n", - "\n", - "\n", - "Regional, Global\n", - "See \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "REST endpoints\n", - "\n", - "\n", - "https://eventarc.googleapis.com\n", - "See\n", - " \n", - "\n", - "\n", - "https://eventarcpublishing.googleapis.com\n", - "See\n", - " \n", - "\n", - "\n", - "https://eventarc.googleapis.com\n", - "See\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Retry and retention\n", - "\n", - "\n", - "At-least-once event delivery to targets; default message retention duration is 24 hours with\n", - " an exponential backoff delay\n", - "\n", - " See \n", - "\n", - "\n", - "At-least-once event delivery to targets; default message retention duration is 24 hours with\n", - " an exponential backoff delay\n", - "\n", - " See \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Service limits\n", - "\n", - "\n", - "One bus per Google Cloud project\n", - "100 pipelines per Google Cloud project per\n", - " region\n", - "See \n", - "\n", - "\n", - "500 triggers per location per Google Cloud project\n", - "See\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Service perimeter using VPC Service Controls\n", - "\n", - "\n", - "Yes\n", - "See\n", - " \n", - "\n", - "\n", - "Yes\n", - "See\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Supported sources\n", - "\n", - "\n", - "Google providers\n", - "Direct publishers using the Eventarc Publishing API\n", - "See\n", - " \n", - "\n", - "\n", - "Google providers\n", - "Google providers through audit logs\n", - "Third-party providers\n", - "See\n", - " \n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Supported targets\n", - "\n", - "\n", - "Cloud Run functions (including 1st gen)\n", - "Cloud Run jobs and services\n", - "\n", - " Eventarc Advanced buses\n", - "Internal HTTP endpoints in\n", - " VPC networks\n", - "Pub/Sub topics\n", - "Workflows\n", - "See\n", - " \n", - "\n", - "\n", - "Cloud Run functions\n", - "Cloud Run services\n", - "Internal HTTP endpoints in\n", - " VPC networks\n", - "Public endpoints of private and public GKE\n", - " services\n", - "Workflows\n", - "See\n" + "Learn about the various \n", + ".\n" ] } ], @@ -2033,7 +1272,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "venv", "language": "python", "name": "python3" },