pulumi-gcp 7.24.0a1716510380__py3-none-any.whl → 7.25.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +104 -0
- pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +12 -12
- pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +12 -12
- pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +12 -12
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
- pulumi_gcp/alloydb/backup.py +50 -42
- pulumi_gcp/alloydb/cluster.py +56 -48
- pulumi_gcp/alloydb/instance.py +50 -42
- pulumi_gcp/alloydb/user.py +32 -24
- pulumi_gcp/apigateway/api_config.py +0 -114
- pulumi_gcp/apigateway/api_config_iam_binding.py +8 -8
- pulumi_gcp/apigateway/api_config_iam_member.py +8 -8
- pulumi_gcp/apigateway/api_config_iam_policy.py +8 -8
- pulumi_gcp/apigateway/api_iam_binding.py +8 -8
- pulumi_gcp/apigateway/api_iam_member.py +8 -8
- pulumi_gcp/apigateway/api_iam_policy.py +8 -8
- pulumi_gcp/apigateway/gateway.py +0 -44
- pulumi_gcp/apigateway/gateway_iam_binding.py +8 -8
- pulumi_gcp/apigateway/gateway_iam_member.py +8 -8
- pulumi_gcp/apigateway/gateway_iam_policy.py +8 -8
- pulumi_gcp/apigee/addons_config.py +14 -4
- pulumi_gcp/apigee/endpoint_attachment.py +4 -2
- pulumi_gcp/apigee/env_group.py +4 -2
- pulumi_gcp/apigee/environment.py +4 -2
- pulumi_gcp/apigee/environment_iam_binding.py +12 -12
- pulumi_gcp/apigee/environment_iam_member.py +12 -12
- pulumi_gcp/apigee/environment_iam_policy.py +12 -12
- pulumi_gcp/apigee/instance.py +22 -8
- pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
- pulumi_gcp/apigee/nat_address.py +10 -2
- pulumi_gcp/apigee/organization.py +18 -6
- pulumi_gcp/apigee/sync_authorization.py +8 -4
- pulumi_gcp/apigee/target_server.py +26 -10
- pulumi_gcp/appengine/_inputs.py +18 -0
- pulumi_gcp/appengine/domain_mapping.py +1 -1
- pulumi_gcp/appengine/outputs.py +16 -0
- pulumi_gcp/apphub/service.py +40 -20
- pulumi_gcp/apphub/service_project_attachment.py +16 -8
- pulumi_gcp/apphub/workload.py +0 -418
- pulumi_gcp/applicationintegration/auth_config.py +4 -2
- pulumi_gcp/artifactregistry/repository.py +14 -12
- pulumi_gcp/artifactregistry/repository_iam_binding.py +12 -12
- pulumi_gcp/artifactregistry/repository_iam_member.py +12 -12
- pulumi_gcp/artifactregistry/repository_iam_policy.py +12 -12
- pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
- pulumi_gcp/bigquery/_inputs.py +286 -2
- pulumi_gcp/bigquery/connection.py +126 -0
- pulumi_gcp/bigquery/connection_iam_binding.py +12 -12
- pulumi_gcp/bigquery/connection_iam_member.py +12 -12
- pulumi_gcp/bigquery/connection_iam_policy.py +12 -12
- pulumi_gcp/bigquery/data_transfer_config.py +8 -4
- pulumi_gcp/bigquery/dataset_iam_binding.py +12 -12
- pulumi_gcp/bigquery/dataset_iam_member.py +12 -12
- pulumi_gcp/bigquery/dataset_iam_policy.py +12 -12
- pulumi_gcp/bigquery/iam_binding.py +12 -12
- pulumi_gcp/bigquery/iam_member.py +12 -12
- pulumi_gcp/bigquery/iam_policy.py +12 -12
- pulumi_gcp/bigquery/job.py +22 -16
- pulumi_gcp/bigquery/outputs.py +289 -2
- pulumi_gcp/bigquery/routine.py +2 -2
- pulumi_gcp/bigquery/table.py +77 -35
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +12 -12
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +12 -12
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +12 -12
- pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +12 -12
- pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +12 -12
- pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +12 -12
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +12 -12
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +12 -12
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +12 -12
- pulumi_gcp/bigtable/instance_iam_binding.py +12 -12
- pulumi_gcp/bigtable/instance_iam_member.py +12 -12
- pulumi_gcp/bigtable/instance_iam_policy.py +12 -12
- pulumi_gcp/bigtable/table_iam_binding.py +12 -12
- pulumi_gcp/bigtable/table_iam_member.py +12 -12
- pulumi_gcp/bigtable/table_iam_policy.py +12 -12
- pulumi_gcp/billing/account_iam_binding.py +12 -12
- pulumi_gcp/billing/account_iam_member.py +12 -12
- pulumi_gcp/billing/account_iam_policy.py +12 -12
- pulumi_gcp/billing/project_info.py +4 -4
- pulumi_gcp/binaryauthorization/attestor_iam_binding.py +12 -12
- pulumi_gcp/binaryauthorization/attestor_iam_member.py +12 -12
- pulumi_gcp/binaryauthorization/attestor_iam_policy.py +12 -12
- pulumi_gcp/certificateauthority/authority.py +10 -2
- pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +12 -12
- pulumi_gcp/certificateauthority/ca_pool_iam_member.py +12 -12
- pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +12 -12
- pulumi_gcp/certificateauthority/certificate.py +8 -4
- pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +12 -12
- pulumi_gcp/certificateauthority/certificate_template_iam_member.py +12 -12
- pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +12 -12
- pulumi_gcp/certificatemanager/certificate.py +84 -80
- pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
- pulumi_gcp/cloudasset/__init__.py +1 -0
- pulumi_gcp/cloudasset/get_search_all_resources.py +197 -0
- pulumi_gcp/cloudasset/outputs.py +184 -0
- pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
- pulumi_gcp/cloudbuild/trigger.py +22 -14
- pulumi_gcp/cloudbuild/worker_pool.py +12 -6
- pulumi_gcp/cloudbuildv2/connection.py +10 -2
- pulumi_gcp/cloudbuildv2/connection_iam_binding.py +12 -12
- pulumi_gcp/cloudbuildv2/connection_iam_member.py +12 -12
- pulumi_gcp/cloudbuildv2/connection_iam_policy.py +12 -12
- pulumi_gcp/cloudbuildv2/repository.py +10 -2
- pulumi_gcp/cloudfunctions/function_iam_binding.py +12 -12
- pulumi_gcp/cloudfunctions/function_iam_member.py +12 -12
- pulumi_gcp/cloudfunctions/function_iam_policy.py +12 -12
- pulumi_gcp/cloudfunctionsv2/function.py +110 -66
- pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +12 -12
- pulumi_gcp/cloudfunctionsv2/function_iam_member.py +12 -12
- pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +12 -12
- pulumi_gcp/cloudids/endpoint.py +4 -2
- pulumi_gcp/cloudrun/_inputs.py +80 -4
- pulumi_gcp/cloudrun/iam_binding.py +12 -12
- pulumi_gcp/cloudrun/iam_member.py +12 -12
- pulumi_gcp/cloudrun/iam_policy.py +12 -12
- pulumi_gcp/cloudrun/outputs.py +137 -4
- pulumi_gcp/cloudrunv2/job.py +32 -20
- pulumi_gcp/cloudrunv2/job_iam_binding.py +12 -12
- pulumi_gcp/cloudrunv2/job_iam_member.py +12 -12
- pulumi_gcp/cloudrunv2/job_iam_policy.py +12 -12
- pulumi_gcp/cloudrunv2/service.py +28 -20
- pulumi_gcp/cloudrunv2/service_iam_binding.py +12 -12
- pulumi_gcp/cloudrunv2/service_iam_member.py +12 -12
- pulumi_gcp/cloudrunv2/service_iam_policy.py +12 -12
- pulumi_gcp/cloudtasks/queue_iam_binding.py +12 -12
- pulumi_gcp/cloudtasks/queue_iam_member.py +12 -12
- pulumi_gcp/cloudtasks/queue_iam_policy.py +12 -12
- pulumi_gcp/composer/user_workloads_secret.py +4 -4
- pulumi_gcp/compute/__init__.py +2 -0
- pulumi_gcp/compute/_inputs.py +805 -182
- pulumi_gcp/compute/disk_iam_binding.py +12 -12
- pulumi_gcp/compute/disk_iam_member.py +12 -12
- pulumi_gcp/compute/disk_iam_policy.py +12 -12
- pulumi_gcp/compute/forwarding_rule.py +231 -823
- pulumi_gcp/compute/get_network_endpoint_group.py +2 -2
- pulumi_gcp/compute/get_region_network_endpoint_group.py +2 -2
- pulumi_gcp/compute/get_router_nat.py +11 -1
- pulumi_gcp/compute/get_snapshot.py +2 -0
- pulumi_gcp/compute/get_subnetworks.py +157 -0
- pulumi_gcp/compute/global_forwarding_rule.py +0 -766
- pulumi_gcp/compute/image_iam_binding.py +12 -12
- pulumi_gcp/compute/image_iam_member.py +12 -12
- pulumi_gcp/compute/image_iam_policy.py +12 -12
- pulumi_gcp/compute/instance_group.py +0 -100
- pulumi_gcp/compute/instance_group_membership.py +2 -2
- pulumi_gcp/compute/instance_iam_binding.py +12 -12
- pulumi_gcp/compute/instance_iam_member.py +12 -12
- pulumi_gcp/compute/instance_iam_policy.py +12 -12
- pulumi_gcp/compute/interconnect.py +1683 -0
- pulumi_gcp/compute/interconnect_attachment.py +82 -0
- pulumi_gcp/compute/machine_image_iam_binding.py +8 -8
- pulumi_gcp/compute/machine_image_iam_member.py +8 -8
- pulumi_gcp/compute/machine_image_iam_policy.py +8 -8
- pulumi_gcp/compute/network_endpoint.py +2 -2
- pulumi_gcp/compute/network_endpoint_list.py +2 -2
- pulumi_gcp/compute/outputs.py +1022 -161
- pulumi_gcp/compute/packet_mirroring.py +4 -2
- pulumi_gcp/compute/region_disk_iam_binding.py +12 -12
- pulumi_gcp/compute/region_disk_iam_member.py +12 -12
- pulumi_gcp/compute/region_disk_iam_policy.py +12 -12
- pulumi_gcp/compute/region_security_policy_rule.py +4 -2
- pulumi_gcp/compute/region_ssl_certificate.py +0 -188
- pulumi_gcp/compute/region_ssl_policy.py +39 -40
- pulumi_gcp/compute/route.py +10 -2
- pulumi_gcp/compute/router_nat.py +68 -0
- pulumi_gcp/compute/security_policy_rule.py +55 -1
- pulumi_gcp/compute/snapshot_iam_binding.py +12 -12
- pulumi_gcp/compute/snapshot_iam_member.py +12 -12
- pulumi_gcp/compute/snapshot_iam_policy.py +12 -12
- pulumi_gcp/compute/ssl_certificate.py +0 -166
- pulumi_gcp/compute/subnetwork_iam_binding.py +12 -12
- pulumi_gcp/compute/subnetwork_iam_member.py +12 -12
- pulumi_gcp/compute/subnetwork_iam_policy.py +12 -12
- pulumi_gcp/compute/target_instance.py +8 -6
- pulumi_gcp/compute/target_pool.py +21 -21
- pulumi_gcp/compute/vpn_gateway.py +12 -2
- pulumi_gcp/compute/vpn_tunnel.py +26 -16
- pulumi_gcp/container/_inputs.py +562 -2
- pulumi_gcp/container/outputs.py +1110 -55
- pulumi_gcp/containeranalysis/note_iam_binding.py +12 -12
- pulumi_gcp/containeranalysis/note_iam_member.py +12 -12
- pulumi_gcp/containeranalysis/note_iam_policy.py +12 -12
- pulumi_gcp/databasemigrationservice/connection_profile.py +38 -22
- pulumi_gcp/datacatalog/entry_group_iam_binding.py +12 -12
- pulumi_gcp/datacatalog/entry_group_iam_member.py +12 -12
- pulumi_gcp/datacatalog/entry_group_iam_policy.py +12 -12
- pulumi_gcp/datacatalog/policy_tag.py +4 -2
- pulumi_gcp/datacatalog/policy_tag_iam_binding.py +12 -12
- pulumi_gcp/datacatalog/policy_tag_iam_member.py +12 -12
- pulumi_gcp/datacatalog/policy_tag_iam_policy.py +12 -12
- pulumi_gcp/datacatalog/tag_template_iam_binding.py +12 -12
- pulumi_gcp/datacatalog/tag_template_iam_member.py +12 -12
- pulumi_gcp/datacatalog/tag_template_iam_policy.py +12 -12
- pulumi_gcp/datacatalog/taxonomy_iam_binding.py +12 -12
- pulumi_gcp/datacatalog/taxonomy_iam_member.py +12 -12
- pulumi_gcp/datacatalog/taxonomy_iam_policy.py +12 -12
- pulumi_gcp/datafusion/instance.py +14 -12
- pulumi_gcp/dataloss/_inputs.py +420 -13
- pulumi_gcp/dataloss/outputs.py +439 -13
- pulumi_gcp/dataplex/__init__.py +10 -0
- pulumi_gcp/dataplex/_inputs.py +160 -0
- pulumi_gcp/dataplex/aspect_type.py +1077 -0
- pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
- pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
- pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
- pulumi_gcp/dataplex/asset.py +4 -2
- pulumi_gcp/dataplex/asset_iam_binding.py +12 -12
- pulumi_gcp/dataplex/asset_iam_member.py +12 -12
- pulumi_gcp/dataplex/asset_iam_policy.py +12 -12
- pulumi_gcp/dataplex/datascan.py +16 -14
- pulumi_gcp/dataplex/datascan_iam_binding.py +12 -12
- pulumi_gcp/dataplex/datascan_iam_member.py +12 -12
- pulumi_gcp/dataplex/datascan_iam_policy.py +12 -12
- pulumi_gcp/dataplex/entry_group.py +722 -0
- pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
- pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
- pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
- pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
- pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
- pulumi_gcp/dataplex/lake_iam_binding.py +12 -12
- pulumi_gcp/dataplex/lake_iam_member.py +12 -12
- pulumi_gcp/dataplex/lake_iam_policy.py +12 -12
- pulumi_gcp/dataplex/outputs.py +112 -0
- pulumi_gcp/dataplex/task.py +16 -16
- pulumi_gcp/dataplex/task_iam_binding.py +12 -12
- pulumi_gcp/dataplex/task_iam_member.py +12 -12
- pulumi_gcp/dataplex/task_iam_policy.py +12 -12
- pulumi_gcp/dataplex/zone_iam_binding.py +12 -12
- pulumi_gcp/dataplex/zone_iam_member.py +12 -12
- pulumi_gcp/dataplex/zone_iam_policy.py +12 -12
- pulumi_gcp/dataproc/_inputs.py +70 -0
- pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +12 -12
- pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +12 -12
- pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +12 -12
- pulumi_gcp/dataproc/cluster_iam_binding.py +12 -12
- pulumi_gcp/dataproc/cluster_iam_member.py +12 -12
- pulumi_gcp/dataproc/cluster_iam_policy.py +12 -12
- pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +26 -2
- pulumi_gcp/dataproc/job_iam_binding.py +12 -12
- pulumi_gcp/dataproc/job_iam_member.py +12 -12
- pulumi_gcp/dataproc/job_iam_policy.py +12 -12
- pulumi_gcp/dataproc/metastore_federation.py +4 -0
- pulumi_gcp/dataproc/metastore_federation_iam_binding.py +208 -0
- pulumi_gcp/dataproc/metastore_federation_iam_member.py +208 -0
- pulumi_gcp/dataproc/metastore_federation_iam_policy.py +208 -0
- pulumi_gcp/dataproc/metastore_service_iam_binding.py +12 -12
- pulumi_gcp/dataproc/metastore_service_iam_member.py +12 -12
- pulumi_gcp/dataproc/metastore_service_iam_policy.py +12 -12
- pulumi_gcp/dataproc/outputs.py +62 -0
- pulumi_gcp/datastore/data_store_index.py +4 -2
- pulumi_gcp/datastream/_inputs.py +1789 -820
- pulumi_gcp/datastream/connection_profile.py +210 -3
- pulumi_gcp/datastream/outputs.py +864 -5
- pulumi_gcp/datastream/private_connection.py +47 -0
- pulumi_gcp/datastream/stream.py +231 -4
- pulumi_gcp/diagflow/cx_test_case.py +4 -4
- pulumi_gcp/diagflow/entity_type.py +4 -2
- pulumi_gcp/diagflow/fulfillment.py +4 -2
- pulumi_gcp/diagflow/intent.py +8 -4
- pulumi_gcp/dns/dns_managed_zone_iam_binding.py +12 -12
- pulumi_gcp/dns/dns_managed_zone_iam_member.py +12 -12
- pulumi_gcp/dns/dns_managed_zone_iam_policy.py +12 -12
- pulumi_gcp/dns/get_managed_zone.py +3 -3
- pulumi_gcp/dns/managed_zone.py +7 -7
- pulumi_gcp/dns/outputs.py +2 -2
- pulumi_gcp/edgecontainer/node_pool.py +4 -2
- pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
- pulumi_gcp/endpoints/service_iam_binding.py +12 -12
- pulumi_gcp/endpoints/service_iam_member.py +12 -12
- pulumi_gcp/endpoints/service_iam_policy.py +12 -12
- pulumi_gcp/eventarc/channel.py +4 -2
- pulumi_gcp/eventarc/google_channel_config.py +4 -2
- pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
- pulumi_gcp/firebase/app_check_debug_token.py +8 -4
- pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
- pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
- pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
- pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
- pulumi_gcp/firebase/app_check_service_config.py +12 -6
- pulumi_gcp/firebase/database_instance.py +4 -2
- pulumi_gcp/firebaserules/release.py +0 -98
- pulumi_gcp/firestore/database.py +24 -20
- pulumi_gcp/firestore/document.py +24 -12
- pulumi_gcp/firestore/field.py +4 -4
- pulumi_gcp/folder/access_approval_settings.py +4 -2
- pulumi_gcp/folder/iam_audit_config.py +23 -23
- pulumi_gcp/folder/iam_member.py +16 -16
- pulumi_gcp/folder/iam_policy.py +16 -16
- pulumi_gcp/gkebackup/backup_plan_iam_binding.py +12 -12
- pulumi_gcp/gkebackup/backup_plan_iam_member.py +12 -12
- pulumi_gcp/gkebackup/backup_plan_iam_policy.py +12 -12
- pulumi_gcp/gkehub/feature_iam_binding.py +12 -12
- pulumi_gcp/gkehub/feature_iam_member.py +12 -12
- pulumi_gcp/gkehub/feature_iam_policy.py +12 -12
- pulumi_gcp/gkehub/membership_binding.py +20 -10
- pulumi_gcp/gkehub/membership_iam_binding.py +12 -12
- pulumi_gcp/gkehub/membership_iam_member.py +12 -12
- pulumi_gcp/gkehub/membership_iam_policy.py +12 -12
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +12 -8
- pulumi_gcp/gkehub/namespace.py +8 -6
- pulumi_gcp/gkehub/scope_iam_binding.py +12 -12
- pulumi_gcp/gkehub/scope_iam_member.py +12 -12
- pulumi_gcp/gkehub/scope_iam_policy.py +12 -12
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -6
- pulumi_gcp/healthcare/consent_store_iam_binding.py +12 -12
- pulumi_gcp/healthcare/consent_store_iam_member.py +12 -12
- pulumi_gcp/healthcare/consent_store_iam_policy.py +12 -12
- pulumi_gcp/healthcare/dataset_iam_binding.py +12 -12
- pulumi_gcp/healthcare/dataset_iam_member.py +12 -12
- pulumi_gcp/healthcare/dataset_iam_policy.py +12 -12
- pulumi_gcp/healthcare/dicom_store_iam_binding.py +12 -12
- pulumi_gcp/healthcare/dicom_store_iam_member.py +12 -12
- pulumi_gcp/healthcare/dicom_store_iam_policy.py +12 -12
- pulumi_gcp/healthcare/fhir_store_iam_binding.py +12 -12
- pulumi_gcp/healthcare/fhir_store_iam_member.py +12 -12
- pulumi_gcp/healthcare/fhir_store_iam_policy.py +12 -12
- pulumi_gcp/healthcare/hl7_store_iam_binding.py +12 -12
- pulumi_gcp/healthcare/hl7_store_iam_member.py +12 -12
- pulumi_gcp/healthcare/hl7_store_iam_policy.py +12 -12
- pulumi_gcp/iap/app_engine_service_iam_binding.py +12 -12
- pulumi_gcp/iap/app_engine_service_iam_member.py +12 -12
- pulumi_gcp/iap/app_engine_service_iam_policy.py +12 -12
- pulumi_gcp/iap/app_engine_version_iam_binding.py +12 -12
- pulumi_gcp/iap/app_engine_version_iam_member.py +12 -12
- pulumi_gcp/iap/app_engine_version_iam_policy.py +12 -12
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +12 -12
- pulumi_gcp/iap/tunnel_dest_group_iam_member.py +12 -12
- pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +12 -12
- pulumi_gcp/iap/tunnel_iam_binding.py +12 -12
- pulumi_gcp/iap/tunnel_iam_member.py +12 -12
- pulumi_gcp/iap/tunnel_iam_policy.py +12 -12
- pulumi_gcp/iap/tunnel_instance_iam_binding.py +12 -12
- pulumi_gcp/iap/tunnel_instance_iam_member.py +12 -12
- pulumi_gcp/iap/tunnel_instance_iam_policy.py +12 -12
- pulumi_gcp/iap/web_backend_service_iam_binding.py +12 -12
- pulumi_gcp/iap/web_backend_service_iam_member.py +12 -12
- pulumi_gcp/iap/web_backend_service_iam_policy.py +12 -12
- pulumi_gcp/iap/web_iam_binding.py +12 -12
- pulumi_gcp/iap/web_iam_member.py +12 -12
- pulumi_gcp/iap/web_iam_policy.py +12 -12
- pulumi_gcp/iap/web_region_backend_service_iam_binding.py +12 -12
- pulumi_gcp/iap/web_region_backend_service_iam_member.py +12 -12
- pulumi_gcp/iap/web_region_backend_service_iam_policy.py +12 -12
- pulumi_gcp/iap/web_type_app_enging_iam_binding.py +12 -12
- pulumi_gcp/iap/web_type_app_enging_iam_member.py +12 -12
- pulumi_gcp/iap/web_type_app_enging_iam_policy.py +12 -12
- pulumi_gcp/iap/web_type_compute_iam_binding.py +12 -12
- pulumi_gcp/iap/web_type_compute_iam_member.py +12 -12
- pulumi_gcp/iap/web_type_compute_iam_policy.py +12 -12
- pulumi_gcp/integrationconnectors/connection.py +4 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +26 -14
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/autokey_config.py +366 -0
- pulumi_gcp/kms/key_handle.py +548 -0
- pulumi_gcp/kms/key_ring_iam_binding.py +12 -12
- pulumi_gcp/kms/key_ring_iam_member.py +12 -12
- pulumi_gcp/kms/key_ring_iam_policy.py +12 -12
- pulumi_gcp/logging/folder_settings.py +12 -10
- pulumi_gcp/logging/linked_dataset.py +4 -2
- pulumi_gcp/logging/organization_settings.py +12 -10
- pulumi_gcp/logging/project_bucket_config.py +4 -2
- pulumi_gcp/looker/instance.py +12 -10
- pulumi_gcp/netapp/storage_pool.py +7 -7
- pulumi_gcp/netapp/volume.py +4 -4
- pulumi_gcp/netapp/volume_replication.py +4 -2
- pulumi_gcp/netapp/volume_snapshot.py +4 -2
- pulumi_gcp/networkconnectivity/internal_range.py +14 -12
- pulumi_gcp/networksecurity/gateway_security_policy.py +20 -8
- pulumi_gcp/networksecurity/tls_inspection_policy.py +437 -5
- pulumi_gcp/networkservices/__init__.py +2 -0
- pulumi_gcp/networkservices/_inputs.py +454 -0
- pulumi_gcp/networkservices/gateway.py +12 -6
- pulumi_gcp/networkservices/lb_route_extension.py +663 -0
- pulumi_gcp/networkservices/lb_traffic_extension.py +669 -0
- pulumi_gcp/networkservices/outputs.py +478 -0
- pulumi_gcp/notebooks/instance_iam_binding.py +12 -12
- pulumi_gcp/notebooks/instance_iam_member.py +12 -12
- pulumi_gcp/notebooks/instance_iam_policy.py +12 -12
- pulumi_gcp/notebooks/runtime_iam_binding.py +12 -12
- pulumi_gcp/notebooks/runtime_iam_member.py +12 -12
- pulumi_gcp/notebooks/runtime_iam_policy.py +12 -12
- pulumi_gcp/organizations/access_approval_settings.py +4 -2
- pulumi_gcp/organizations/iam_member.py +16 -16
- pulumi_gcp/organizations/iam_policy.py +16 -16
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/parallelstore/instance.py +20 -18
- pulumi_gcp/projects/access_approval_settings.py +4 -2
- pulumi_gcp/projects/iam_audit_config.py +23 -23
- pulumi_gcp/projects/iam_binding.py +23 -23
- pulumi_gcp/projects/iam_member.py +23 -23
- pulumi_gcp/projects/iam_policy.py +16 -16
- pulumi_gcp/projects/service.py +2 -43
- pulumi_gcp/pubsub/_inputs.py +16 -0
- pulumi_gcp/pubsub/outputs.py +25 -0
- pulumi_gcp/pubsub/schema.py +4 -2
- pulumi_gcp/pubsub/schema_iam_binding.py +12 -12
- pulumi_gcp/pubsub/schema_iam_member.py +12 -12
- pulumi_gcp/pubsub/schema_iam_policy.py +12 -12
- pulumi_gcp/pubsub/subscription.py +102 -66
- pulumi_gcp/pubsub/subscription_iam_binding.py +12 -12
- pulumi_gcp/pubsub/subscription_iam_member.py +12 -12
- pulumi_gcp/pubsub/subscription_iam_policy.py +12 -12
- pulumi_gcp/pubsub/topic.py +4 -2
- pulumi_gcp/pubsub/topic_iam_binding.py +12 -12
- pulumi_gcp/pubsub/topic_iam_member.py +12 -12
- pulumi_gcp/pubsub/topic_iam_policy.py +12 -12
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/cluster.py +30 -28
- pulumi_gcp/redis/instance.py +4 -2
- pulumi_gcp/secretmanager/secret.py +4 -2
- pulumi_gcp/secretmanager/secret_iam_binding.py +12 -12
- pulumi_gcp/secretmanager/secret_iam_member.py +12 -12
- pulumi_gcp/secretmanager/secret_iam_policy.py +12 -12
- pulumi_gcp/securesourcemanager/instance.py +20 -8
- pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
- pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
- pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
- pulumi_gcp/serviceaccount/key.py +2 -2
- pulumi_gcp/servicedirectory/namespace_iam_binding.py +8 -8
- pulumi_gcp/servicedirectory/namespace_iam_member.py +8 -8
- pulumi_gcp/servicedirectory/namespace_iam_policy.py +8 -8
- pulumi_gcp/servicedirectory/service_iam_binding.py +8 -8
- pulumi_gcp/servicedirectory/service_iam_member.py +8 -8
- pulumi_gcp/servicedirectory/service_iam_policy.py +8 -8
- pulumi_gcp/sourcerepo/repository_iam_binding.py +12 -12
- pulumi_gcp/sourcerepo/repository_iam_member.py +12 -12
- pulumi_gcp/sourcerepo/repository_iam_policy.py +12 -12
- pulumi_gcp/spanner/database_iam_binding.py +12 -12
- pulumi_gcp/spanner/database_iam_member.py +12 -12
- pulumi_gcp/spanner/database_iam_policy.py +12 -12
- pulumi_gcp/spanner/instance_iam_binding.py +12 -12
- pulumi_gcp/spanner/instance_iam_member.py +12 -12
- pulumi_gcp/spanner/instance_iam_policy.py +12 -12
- pulumi_gcp/sql/database_instance.py +4 -2
- pulumi_gcp/sql/user.py +4 -4
- pulumi_gcp/storage/_inputs.py +12 -10
- pulumi_gcp/storage/bucket.py +44 -0
- pulumi_gcp/storage/bucket_iam_binding.py +12 -12
- pulumi_gcp/storage/bucket_iam_member.py +12 -12
- pulumi_gcp/storage/bucket_iam_policy.py +12 -12
- pulumi_gcp/storage/get_project_service_account.py +4 -2
- pulumi_gcp/storage/insights_report_config.py +12 -10
- pulumi_gcp/storage/notification.py +18 -16
- pulumi_gcp/storage/outputs.py +12 -10
- pulumi_gcp/storage/transfer_agent_pool.py +4 -2
- pulumi_gcp/storage/transfer_job.py +14 -4
- pulumi_gcp/tags/tag_key_iam_binding.py +12 -12
- pulumi_gcp/tags/tag_key_iam_member.py +12 -12
- pulumi_gcp/tags/tag_key_iam_policy.py +12 -12
- pulumi_gcp/tags/tag_value_iam_binding.py +12 -12
- pulumi_gcp/tags/tag_value_iam_member.py +12 -12
- pulumi_gcp/tags/tag_value_iam_policy.py +12 -12
- pulumi_gcp/tpu/_inputs.py +2 -2
- pulumi_gcp/tpu/outputs.py +2 -2
- pulumi_gcp/tpu/v2_vm.py +10 -6
- pulumi_gcp/vertex/ai_endpoint.py +24 -22
- pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
- pulumi_gcp/vertex/ai_tensorboard.py +14 -12
- pulumi_gcp/vmwareengine/external_address.py +4 -2
- pulumi_gcp/vmwareengine/network.py +8 -4
- {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/RECORD +467 -450
- {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/compute/outputs.py
CHANGED
@@ -101,6 +101,7 @@ __all__ = [
|
|
101
101
|
'InstanceFromMachineImageSchedulingLocalSsdRecoveryTimeout',
|
102
102
|
'InstanceFromMachineImageSchedulingMaxRunDuration',
|
103
103
|
'InstanceFromMachineImageSchedulingNodeAffinity',
|
104
|
+
'InstanceFromMachineImageSchedulingOnInstanceStopAction',
|
104
105
|
'InstanceFromMachineImageScratchDisk',
|
105
106
|
'InstanceFromMachineImageServiceAccount',
|
106
107
|
'InstanceFromMachineImageShieldedInstanceConfig',
|
@@ -122,6 +123,7 @@ __all__ = [
|
|
122
123
|
'InstanceFromTemplateSchedulingLocalSsdRecoveryTimeout',
|
123
124
|
'InstanceFromTemplateSchedulingMaxRunDuration',
|
124
125
|
'InstanceFromTemplateSchedulingNodeAffinity',
|
126
|
+
'InstanceFromTemplateSchedulingOnInstanceStopAction',
|
125
127
|
'InstanceFromTemplateScratchDisk',
|
126
128
|
'InstanceFromTemplateServiceAccount',
|
127
129
|
'InstanceFromTemplateShieldedInstanceConfig',
|
@@ -157,6 +159,7 @@ __all__ = [
|
|
157
159
|
'InstanceSchedulingLocalSsdRecoveryTimeout',
|
158
160
|
'InstanceSchedulingMaxRunDuration',
|
159
161
|
'InstanceSchedulingNodeAffinity',
|
162
|
+
'InstanceSchedulingOnInstanceStopAction',
|
160
163
|
'InstanceScratchDisk',
|
161
164
|
'InstanceServiceAccount',
|
162
165
|
'InstanceSettingsMetadata',
|
@@ -179,9 +182,14 @@ __all__ = [
|
|
179
182
|
'InstanceTemplateSchedulingLocalSsdRecoveryTimeout',
|
180
183
|
'InstanceTemplateSchedulingMaxRunDuration',
|
181
184
|
'InstanceTemplateSchedulingNodeAffinity',
|
185
|
+
'InstanceTemplateSchedulingOnInstanceStopAction',
|
182
186
|
'InstanceTemplateServiceAccount',
|
183
187
|
'InstanceTemplateShieldedInstanceConfig',
|
184
188
|
'InterconnectAttachmentPrivateInterconnectInfo',
|
189
|
+
'InterconnectCircuitInfo',
|
190
|
+
'InterconnectExpectedOutage',
|
191
|
+
'InterconnectMacsec',
|
192
|
+
'InterconnectMacsecPreSharedKey',
|
185
193
|
'MachineImageIamBindingCondition',
|
186
194
|
'MachineImageIamMemberCondition',
|
187
195
|
'MachineImageMachineImageEncryptionKey',
|
@@ -291,6 +299,7 @@ __all__ = [
|
|
291
299
|
'RegionInstanceTemplateSchedulingLocalSsdRecoveryTimeout',
|
292
300
|
'RegionInstanceTemplateSchedulingMaxRunDuration',
|
293
301
|
'RegionInstanceTemplateSchedulingNodeAffinity',
|
302
|
+
'RegionInstanceTemplateSchedulingOnInstanceStopAction',
|
294
303
|
'RegionInstanceTemplateServiceAccount',
|
295
304
|
'RegionInstanceTemplateShieldedInstanceConfig',
|
296
305
|
'RegionNetworkEndpointGroupAppEngine',
|
@@ -310,6 +319,7 @@ __all__ = [
|
|
310
319
|
'RegionSecurityPolicyDdosProtectionConfig',
|
311
320
|
'RegionSecurityPolicyRuleMatch',
|
312
321
|
'RegionSecurityPolicyRuleMatchConfig',
|
322
|
+
'RegionSecurityPolicyRuleMatchExpr',
|
313
323
|
'RegionSecurityPolicyRuleNetworkMatch',
|
314
324
|
'RegionSecurityPolicyRuleNetworkMatchUserDefinedField',
|
315
325
|
'RegionSecurityPolicyRulePreconfiguredWafConfig',
|
@@ -616,6 +626,7 @@ __all__ = [
|
|
616
626
|
'GetInstanceSchedulingLocalSsdRecoveryTimeoutResult',
|
617
627
|
'GetInstanceSchedulingMaxRunDurationResult',
|
618
628
|
'GetInstanceSchedulingNodeAffinityResult',
|
629
|
+
'GetInstanceSchedulingOnInstanceStopActionResult',
|
619
630
|
'GetInstanceScratchDiskResult',
|
620
631
|
'GetInstanceServiceAccountResult',
|
621
632
|
'GetInstanceShieldedInstanceConfigResult',
|
@@ -637,6 +648,7 @@ __all__ = [
|
|
637
648
|
'GetInstanceTemplateSchedulingLocalSsdRecoveryTimeoutResult',
|
638
649
|
'GetInstanceTemplateSchedulingMaxRunDurationResult',
|
639
650
|
'GetInstanceTemplateSchedulingNodeAffinityResult',
|
651
|
+
'GetInstanceTemplateSchedulingOnInstanceStopActionResult',
|
640
652
|
'GetInstanceTemplateServiceAccountResult',
|
641
653
|
'GetInstanceTemplateShieldedInstanceConfigResult',
|
642
654
|
'GetMachineTypesMachineTypeResult',
|
@@ -667,6 +679,7 @@ __all__ = [
|
|
667
679
|
'GetRegionInstanceTemplateSchedulingLocalSsdRecoveryTimeoutResult',
|
668
680
|
'GetRegionInstanceTemplateSchedulingMaxRunDurationResult',
|
669
681
|
'GetRegionInstanceTemplateSchedulingNodeAffinityResult',
|
682
|
+
'GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult',
|
670
683
|
'GetRegionInstanceTemplateServiceAccountResult',
|
671
684
|
'GetRegionInstanceTemplateShieldedInstanceConfigResult',
|
672
685
|
'GetRegionNetworkEndpointGroupAppEngineResult',
|
@@ -703,6 +716,7 @@ __all__ = [
|
|
703
716
|
'GetSnapshotSnapshotEncryptionKeyResult',
|
704
717
|
'GetSnapshotSourceDiskEncryptionKeyResult',
|
705
718
|
'GetSubnetworkSecondaryIpRangeResult',
|
719
|
+
'GetSubnetworksSubnetworkResult',
|
706
720
|
]
|
707
721
|
|
708
722
|
@pulumi.output_type
|
@@ -7511,6 +7525,8 @@ class InstanceFromMachineImageScheduling(dict):
|
|
7511
7525
|
suggest = "node_affinities"
|
7512
7526
|
elif key == "onHostMaintenance":
|
7513
7527
|
suggest = "on_host_maintenance"
|
7528
|
+
elif key == "onInstanceStopAction":
|
7529
|
+
suggest = "on_instance_stop_action"
|
7514
7530
|
elif key == "provisioningModel":
|
7515
7531
|
suggest = "provisioning_model"
|
7516
7532
|
|
@@ -7534,6 +7550,7 @@ class InstanceFromMachineImageScheduling(dict):
|
|
7534
7550
|
min_node_cpus: Optional[int] = None,
|
7535
7551
|
node_affinities: Optional[Sequence['outputs.InstanceFromMachineImageSchedulingNodeAffinity']] = None,
|
7536
7552
|
on_host_maintenance: Optional[str] = None,
|
7553
|
+
on_instance_stop_action: Optional['outputs.InstanceFromMachineImageSchedulingOnInstanceStopAction'] = None,
|
7537
7554
|
preemptible: Optional[bool] = None,
|
7538
7555
|
provisioning_model: Optional[str] = None):
|
7539
7556
|
"""
|
@@ -7547,6 +7564,7 @@ class InstanceFromMachineImageScheduling(dict):
|
|
7547
7564
|
:param 'InstanceFromMachineImageSchedulingMaxRunDurationArgs' max_run_duration: The timeout for new network connections to hosts.
|
7548
7565
|
:param Sequence['InstanceFromMachineImageSchedulingNodeAffinityArgs'] node_affinities: Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems.
|
7549
7566
|
:param str on_host_maintenance: Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
|
7567
|
+
:param 'InstanceFromMachineImageSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
|
7550
7568
|
:param bool preemptible: Whether the instance is preemptible.
|
7551
7569
|
:param str provisioning_model: Whether the instance is spot. If this is set as SPOT.
|
7552
7570
|
"""
|
@@ -7566,6 +7584,8 @@ class InstanceFromMachineImageScheduling(dict):
|
|
7566
7584
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
7567
7585
|
if on_host_maintenance is not None:
|
7568
7586
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
7587
|
+
if on_instance_stop_action is not None:
|
7588
|
+
pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
|
7569
7589
|
if preemptible is not None:
|
7570
7590
|
pulumi.set(__self__, "preemptible", preemptible)
|
7571
7591
|
if provisioning_model is not None:
|
@@ -7635,6 +7655,14 @@ class InstanceFromMachineImageScheduling(dict):
|
|
7635
7655
|
"""
|
7636
7656
|
return pulumi.get(self, "on_host_maintenance")
|
7637
7657
|
|
7658
|
+
@property
|
7659
|
+
@pulumi.getter(name="onInstanceStopAction")
|
7660
|
+
def on_instance_stop_action(self) -> Optional['outputs.InstanceFromMachineImageSchedulingOnInstanceStopAction']:
|
7661
|
+
"""
|
7662
|
+
Defines the behaviour for instances with the instance_termination_action.
|
7663
|
+
"""
|
7664
|
+
return pulumi.get(self, "on_instance_stop_action")
|
7665
|
+
|
7638
7666
|
@property
|
7639
7667
|
@pulumi.getter
|
7640
7668
|
def preemptible(self) -> Optional[bool]:
|
@@ -7754,6 +7782,42 @@ class InstanceFromMachineImageSchedulingNodeAffinity(dict):
|
|
7754
7782
|
return pulumi.get(self, "values")
|
7755
7783
|
|
7756
7784
|
|
7785
|
+
@pulumi.output_type
|
7786
|
+
class InstanceFromMachineImageSchedulingOnInstanceStopAction(dict):
|
7787
|
+
@staticmethod
|
7788
|
+
def __key_warning(key: str):
|
7789
|
+
suggest = None
|
7790
|
+
if key == "discardLocalSsd":
|
7791
|
+
suggest = "discard_local_ssd"
|
7792
|
+
|
7793
|
+
if suggest:
|
7794
|
+
pulumi.log.warn(f"Key '{key}' not found in InstanceFromMachineImageSchedulingOnInstanceStopAction. Access the value via the '{suggest}' property getter instead.")
|
7795
|
+
|
7796
|
+
def __getitem__(self, key: str) -> Any:
|
7797
|
+
InstanceFromMachineImageSchedulingOnInstanceStopAction.__key_warning(key)
|
7798
|
+
return super().__getitem__(key)
|
7799
|
+
|
7800
|
+
def get(self, key: str, default = None) -> Any:
|
7801
|
+
InstanceFromMachineImageSchedulingOnInstanceStopAction.__key_warning(key)
|
7802
|
+
return super().get(key, default)
|
7803
|
+
|
7804
|
+
def __init__(__self__, *,
|
7805
|
+
discard_local_ssd: Optional[bool] = None):
|
7806
|
+
"""
|
7807
|
+
:param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
|
7808
|
+
"""
|
7809
|
+
if discard_local_ssd is not None:
|
7810
|
+
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
7811
|
+
|
7812
|
+
@property
|
7813
|
+
@pulumi.getter(name="discardLocalSsd")
|
7814
|
+
def discard_local_ssd(self) -> Optional[bool]:
|
7815
|
+
"""
|
7816
|
+
If true, the contents of any attached Local SSD disks will be discarded.
|
7817
|
+
"""
|
7818
|
+
return pulumi.get(self, "discard_local_ssd")
|
7819
|
+
|
7820
|
+
|
7757
7821
|
@pulumi.output_type
|
7758
7822
|
class InstanceFromMachineImageScratchDisk(dict):
|
7759
7823
|
@staticmethod
|
@@ -9053,6 +9117,8 @@ class InstanceFromTemplateScheduling(dict):
|
|
9053
9117
|
suggest = "node_affinities"
|
9054
9118
|
elif key == "onHostMaintenance":
|
9055
9119
|
suggest = "on_host_maintenance"
|
9120
|
+
elif key == "onInstanceStopAction":
|
9121
|
+
suggest = "on_instance_stop_action"
|
9056
9122
|
elif key == "provisioningModel":
|
9057
9123
|
suggest = "provisioning_model"
|
9058
9124
|
|
@@ -9076,6 +9142,7 @@ class InstanceFromTemplateScheduling(dict):
|
|
9076
9142
|
min_node_cpus: Optional[int] = None,
|
9077
9143
|
node_affinities: Optional[Sequence['outputs.InstanceFromTemplateSchedulingNodeAffinity']] = None,
|
9078
9144
|
on_host_maintenance: Optional[str] = None,
|
9145
|
+
on_instance_stop_action: Optional['outputs.InstanceFromTemplateSchedulingOnInstanceStopAction'] = None,
|
9079
9146
|
preemptible: Optional[bool] = None,
|
9080
9147
|
provisioning_model: Optional[str] = None):
|
9081
9148
|
"""
|
@@ -9089,6 +9156,7 @@ class InstanceFromTemplateScheduling(dict):
|
|
9089
9156
|
:param 'InstanceFromTemplateSchedulingMaxRunDurationArgs' max_run_duration: The timeout for new network connections to hosts.
|
9090
9157
|
:param Sequence['InstanceFromTemplateSchedulingNodeAffinityArgs'] node_affinities: Specifies node affinities or anti-affinities to determine which sole-tenant nodes your instances and managed instance groups will use as host systems.
|
9091
9158
|
:param str on_host_maintenance: Describes maintenance behavior for the instance. One of MIGRATE or TERMINATE,
|
9159
|
+
:param 'InstanceFromTemplateSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
|
9092
9160
|
:param bool preemptible: Whether the instance is preemptible.
|
9093
9161
|
:param str provisioning_model: Whether the instance is spot. If this is set as SPOT.
|
9094
9162
|
"""
|
@@ -9108,6 +9176,8 @@ class InstanceFromTemplateScheduling(dict):
|
|
9108
9176
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
9109
9177
|
if on_host_maintenance is not None:
|
9110
9178
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
9179
|
+
if on_instance_stop_action is not None:
|
9180
|
+
pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
|
9111
9181
|
if preemptible is not None:
|
9112
9182
|
pulumi.set(__self__, "preemptible", preemptible)
|
9113
9183
|
if provisioning_model is not None:
|
@@ -9177,6 +9247,14 @@ class InstanceFromTemplateScheduling(dict):
|
|
9177
9247
|
"""
|
9178
9248
|
return pulumi.get(self, "on_host_maintenance")
|
9179
9249
|
|
9250
|
+
@property
|
9251
|
+
@pulumi.getter(name="onInstanceStopAction")
|
9252
|
+
def on_instance_stop_action(self) -> Optional['outputs.InstanceFromTemplateSchedulingOnInstanceStopAction']:
|
9253
|
+
"""
|
9254
|
+
Defines the behaviour for instances with the instance_termination_action.
|
9255
|
+
"""
|
9256
|
+
return pulumi.get(self, "on_instance_stop_action")
|
9257
|
+
|
9180
9258
|
@property
|
9181
9259
|
@pulumi.getter
|
9182
9260
|
def preemptible(self) -> Optional[bool]:
|
@@ -9296,6 +9374,42 @@ class InstanceFromTemplateSchedulingNodeAffinity(dict):
|
|
9296
9374
|
return pulumi.get(self, "values")
|
9297
9375
|
|
9298
9376
|
|
9377
|
+
@pulumi.output_type
|
9378
|
+
class InstanceFromTemplateSchedulingOnInstanceStopAction(dict):
|
9379
|
+
@staticmethod
|
9380
|
+
def __key_warning(key: str):
|
9381
|
+
suggest = None
|
9382
|
+
if key == "discardLocalSsd":
|
9383
|
+
suggest = "discard_local_ssd"
|
9384
|
+
|
9385
|
+
if suggest:
|
9386
|
+
pulumi.log.warn(f"Key '{key}' not found in InstanceFromTemplateSchedulingOnInstanceStopAction. Access the value via the '{suggest}' property getter instead.")
|
9387
|
+
|
9388
|
+
def __getitem__(self, key: str) -> Any:
|
9389
|
+
InstanceFromTemplateSchedulingOnInstanceStopAction.__key_warning(key)
|
9390
|
+
return super().__getitem__(key)
|
9391
|
+
|
9392
|
+
def get(self, key: str, default = None) -> Any:
|
9393
|
+
InstanceFromTemplateSchedulingOnInstanceStopAction.__key_warning(key)
|
9394
|
+
return super().get(key, default)
|
9395
|
+
|
9396
|
+
def __init__(__self__, *,
|
9397
|
+
discard_local_ssd: Optional[bool] = None):
|
9398
|
+
"""
|
9399
|
+
:param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
|
9400
|
+
"""
|
9401
|
+
if discard_local_ssd is not None:
|
9402
|
+
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
9403
|
+
|
9404
|
+
@property
|
9405
|
+
@pulumi.getter(name="discardLocalSsd")
|
9406
|
+
def discard_local_ssd(self) -> Optional[bool]:
|
9407
|
+
"""
|
9408
|
+
If true, the contents of any attached Local SSD disks will be discarded.
|
9409
|
+
"""
|
9410
|
+
return pulumi.get(self, "discard_local_ssd")
|
9411
|
+
|
9412
|
+
|
9299
9413
|
@pulumi.output_type
|
9300
9414
|
class InstanceFromTemplateScratchDisk(dict):
|
9301
9415
|
@staticmethod
|
@@ -11152,6 +11266,8 @@ class InstanceScheduling(dict):
|
|
11152
11266
|
suggest = "node_affinities"
|
11153
11267
|
elif key == "onHostMaintenance":
|
11154
11268
|
suggest = "on_host_maintenance"
|
11269
|
+
elif key == "onInstanceStopAction":
|
11270
|
+
suggest = "on_instance_stop_action"
|
11155
11271
|
elif key == "provisioningModel":
|
11156
11272
|
suggest = "provisioning_model"
|
11157
11273
|
|
@@ -11175,6 +11291,7 @@ class InstanceScheduling(dict):
|
|
11175
11291
|
min_node_cpus: Optional[int] = None,
|
11176
11292
|
node_affinities: Optional[Sequence['outputs.InstanceSchedulingNodeAffinity']] = None,
|
11177
11293
|
on_host_maintenance: Optional[str] = None,
|
11294
|
+
on_instance_stop_action: Optional['outputs.InstanceSchedulingOnInstanceStopAction'] = None,
|
11178
11295
|
preemptible: Optional[bool] = None,
|
11179
11296
|
provisioning_model: Optional[str] = None):
|
11180
11297
|
"""
|
@@ -11187,8 +11304,7 @@ class InstanceScheduling(dict):
|
|
11187
11304
|
between 0 and 168 hours with hour granularity and the default value being 1
|
11188
11305
|
hour.
|
11189
11306
|
:param str maintenance_interval: Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.
|
11190
|
-
:param 'InstanceSchedulingMaxRunDurationArgs' max_run_duration: The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`.
|
11191
|
-
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
11307
|
+
:param 'InstanceSchedulingMaxRunDurationArgs' max_run_duration: The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Structure is documented below.
|
11192
11308
|
:param int min_node_cpus: The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.
|
11193
11309
|
:param Sequence['InstanceSchedulingNodeAffinityArgs'] node_affinities: Specifies node affinities or anti-affinities
|
11194
11310
|
to determine which sole-tenant nodes your instances and managed instance
|
@@ -11198,6 +11314,7 @@ class InstanceScheduling(dict):
|
|
11198
11314
|
:param str on_host_maintenance: Describes maintenance behavior for the
|
11199
11315
|
instance. Can be MIGRATE or TERMINATE, for more info, read
|
11200
11316
|
[here](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options).
|
11317
|
+
:param 'InstanceSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Specifies the action to be performed when the instance is terminated using `max_run_duration` and `STOP` `instance_termination_action`. Only support `true` `discard_local_ssd` at this point. Structure is documented below.
|
11201
11318
|
:param bool preemptible: Specifies if the instance is preemptible.
|
11202
11319
|
If this field is set to true, then `automatic_restart` must be
|
11203
11320
|
set to false. Defaults to false.
|
@@ -11222,6 +11339,8 @@ class InstanceScheduling(dict):
|
|
11222
11339
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
11223
11340
|
if on_host_maintenance is not None:
|
11224
11341
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
11342
|
+
if on_instance_stop_action is not None:
|
11343
|
+
pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
|
11225
11344
|
if preemptible is not None:
|
11226
11345
|
pulumi.set(__self__, "preemptible", preemptible)
|
11227
11346
|
if provisioning_model is not None:
|
@@ -11268,8 +11387,7 @@ class InstanceScheduling(dict):
|
|
11268
11387
|
@pulumi.getter(name="maxRunDuration")
|
11269
11388
|
def max_run_duration(self) -> Optional['outputs.InstanceSchedulingMaxRunDuration']:
|
11270
11389
|
"""
|
11271
|
-
The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`.
|
11272
|
-
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
11390
|
+
The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Structure is documented below.
|
11273
11391
|
"""
|
11274
11392
|
return pulumi.get(self, "max_run_duration")
|
11275
11393
|
|
@@ -11303,6 +11421,14 @@ class InstanceScheduling(dict):
|
|
11303
11421
|
"""
|
11304
11422
|
return pulumi.get(self, "on_host_maintenance")
|
11305
11423
|
|
11424
|
+
@property
|
11425
|
+
@pulumi.getter(name="onInstanceStopAction")
|
11426
|
+
def on_instance_stop_action(self) -> Optional['outputs.InstanceSchedulingOnInstanceStopAction']:
|
11427
|
+
"""
|
11428
|
+
Specifies the action to be performed when the instance is terminated using `max_run_duration` and `STOP` `instance_termination_action`. Only support `true` `discard_local_ssd` at this point. Structure is documented below.
|
11429
|
+
"""
|
11430
|
+
return pulumi.get(self, "on_instance_stop_action")
|
11431
|
+
|
11306
11432
|
@property
|
11307
11433
|
@pulumi.getter
|
11308
11434
|
def preemptible(self) -> Optional[bool]:
|
@@ -11369,12 +11495,13 @@ class InstanceSchedulingMaxRunDuration(dict):
|
|
11369
11495
|
seconds: int,
|
11370
11496
|
nanos: Optional[int] = None):
|
11371
11497
|
"""
|
11372
|
-
:param int seconds: Span of time at a resolution of a second.
|
11373
|
-
|
11498
|
+
:param int seconds: Span of time at a resolution of a second. Must be from 0 to
|
11499
|
+
315,576,000,000 inclusive. Note: these bounds are computed from: 60
|
11500
|
+
sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
|
11374
11501
|
:param int nanos: Span of time that's a fraction of a second at nanosecond
|
11375
|
-
resolution. Durations less than one second are represented
|
11376
|
-
|
11377
|
-
|
11502
|
+
resolution. Durations less than one second are represented with a 0
|
11503
|
+
`seconds` field and a positive `nanos` field. Must be from 0 to
|
11504
|
+
999,999,999 inclusive.
|
11378
11505
|
"""
|
11379
11506
|
pulumi.set(__self__, "seconds", seconds)
|
11380
11507
|
if nanos is not None:
|
@@ -11384,8 +11511,9 @@ class InstanceSchedulingMaxRunDuration(dict):
|
|
11384
11511
|
@pulumi.getter
|
11385
11512
|
def seconds(self) -> int:
|
11386
11513
|
"""
|
11387
|
-
Span of time at a resolution of a second.
|
11388
|
-
|
11514
|
+
Span of time at a resolution of a second. Must be from 0 to
|
11515
|
+
315,576,000,000 inclusive. Note: these bounds are computed from: 60
|
11516
|
+
sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
|
11389
11517
|
"""
|
11390
11518
|
return pulumi.get(self, "seconds")
|
11391
11519
|
|
@@ -11394,9 +11522,9 @@ class InstanceSchedulingMaxRunDuration(dict):
|
|
11394
11522
|
def nanos(self) -> Optional[int]:
|
11395
11523
|
"""
|
11396
11524
|
Span of time that's a fraction of a second at nanosecond
|
11397
|
-
resolution. Durations less than one second are represented
|
11398
|
-
|
11399
|
-
|
11525
|
+
resolution. Durations less than one second are represented with a 0
|
11526
|
+
`seconds` field and a positive `nanos` field. Must be from 0 to
|
11527
|
+
999,999,999 inclusive.
|
11400
11528
|
"""
|
11401
11529
|
return pulumi.get(self, "nanos")
|
11402
11530
|
|
@@ -11443,6 +11571,42 @@ class InstanceSchedulingNodeAffinity(dict):
|
|
11443
11571
|
return pulumi.get(self, "values")
|
11444
11572
|
|
11445
11573
|
|
11574
|
+
@pulumi.output_type
|
11575
|
+
class InstanceSchedulingOnInstanceStopAction(dict):
|
11576
|
+
@staticmethod
|
11577
|
+
def __key_warning(key: str):
|
11578
|
+
suggest = None
|
11579
|
+
if key == "discardLocalSsd":
|
11580
|
+
suggest = "discard_local_ssd"
|
11581
|
+
|
11582
|
+
if suggest:
|
11583
|
+
pulumi.log.warn(f"Key '{key}' not found in InstanceSchedulingOnInstanceStopAction. Access the value via the '{suggest}' property getter instead.")
|
11584
|
+
|
11585
|
+
def __getitem__(self, key: str) -> Any:
|
11586
|
+
InstanceSchedulingOnInstanceStopAction.__key_warning(key)
|
11587
|
+
return super().__getitem__(key)
|
11588
|
+
|
11589
|
+
def get(self, key: str, default = None) -> Any:
|
11590
|
+
InstanceSchedulingOnInstanceStopAction.__key_warning(key)
|
11591
|
+
return super().get(key, default)
|
11592
|
+
|
11593
|
+
def __init__(__self__, *,
|
11594
|
+
discard_local_ssd: Optional[bool] = None):
|
11595
|
+
"""
|
11596
|
+
:param bool discard_local_ssd: Whether to discard local SSDs attached to the VM while terminating using `max_run_duration`. Only supports `true` at this point.
|
11597
|
+
"""
|
11598
|
+
if discard_local_ssd is not None:
|
11599
|
+
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
11600
|
+
|
11601
|
+
@property
|
11602
|
+
@pulumi.getter(name="discardLocalSsd")
|
11603
|
+
def discard_local_ssd(self) -> Optional[bool]:
|
11604
|
+
"""
|
11605
|
+
Whether to discard local SSDs attached to the VM while terminating using `max_run_duration`. Only supports `true` at this point.
|
11606
|
+
"""
|
11607
|
+
return pulumi.get(self, "discard_local_ssd")
|
11608
|
+
|
11609
|
+
|
11446
11610
|
@pulumi.output_type
|
11447
11611
|
class InstanceScratchDisk(dict):
|
11448
11612
|
@staticmethod
|
@@ -12891,6 +13055,8 @@ class InstanceTemplateScheduling(dict):
|
|
12891
13055
|
suggest = "node_affinities"
|
12892
13056
|
elif key == "onHostMaintenance":
|
12893
13057
|
suggest = "on_host_maintenance"
|
13058
|
+
elif key == "onInstanceStopAction":
|
13059
|
+
suggest = "on_instance_stop_action"
|
12894
13060
|
elif key == "provisioningModel":
|
12895
13061
|
suggest = "provisioning_model"
|
12896
13062
|
|
@@ -12914,6 +13080,7 @@ class InstanceTemplateScheduling(dict):
|
|
12914
13080
|
min_node_cpus: Optional[int] = None,
|
12915
13081
|
node_affinities: Optional[Sequence['outputs.InstanceTemplateSchedulingNodeAffinity']] = None,
|
12916
13082
|
on_host_maintenance: Optional[str] = None,
|
13083
|
+
on_instance_stop_action: Optional['outputs.InstanceTemplateSchedulingOnInstanceStopAction'] = None,
|
12917
13084
|
preemptible: Optional[bool] = None,
|
12918
13085
|
provisioning_model: Optional[str] = None):
|
12919
13086
|
"""
|
@@ -12926,8 +13093,7 @@ class InstanceTemplateScheduling(dict):
|
|
12926
13093
|
between 0 and 168 hours with hour granularity and the default value being 1
|
12927
13094
|
hour.
|
12928
13095
|
:param str maintenance_interval: Specifies the frequency of planned maintenance events. The accepted values are: `PERIODIC`.
|
12929
|
-
:param 'InstanceTemplateSchedulingMaxRunDurationArgs' max_run_duration: The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`.
|
12930
|
-
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
13096
|
+
:param 'InstanceTemplateSchedulingMaxRunDurationArgs' max_run_duration: The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Structure is documented below.
|
12931
13097
|
:param int min_node_cpus: Minimum number of cpus for the instance.
|
12932
13098
|
:param Sequence['InstanceTemplateSchedulingNodeAffinityArgs'] node_affinities: Specifies node affinities or anti-affinities
|
12933
13099
|
to determine which sole-tenant nodes your instances and managed instance
|
@@ -12936,6 +13102,7 @@ class InstanceTemplateScheduling(dict):
|
|
12936
13102
|
Structure documented below.
|
12937
13103
|
:param str on_host_maintenance: Defines the maintenance behavior for this
|
12938
13104
|
instance.
|
13105
|
+
:param 'InstanceTemplateSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Specifies the action to be performed when the instance is terminated using `max_run_duration` and `STOP` `instance_termination_action`. Only support `true` `discard_local_ssd` at this point. Structure is documented below.
|
12939
13106
|
:param bool preemptible: Allows instance to be preempted. This defaults to
|
12940
13107
|
false. Read more on this
|
12941
13108
|
[here](https://cloud.google.com/compute/docs/instances/preemptible).
|
@@ -12960,6 +13127,8 @@ class InstanceTemplateScheduling(dict):
|
|
12960
13127
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
12961
13128
|
if on_host_maintenance is not None:
|
12962
13129
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
13130
|
+
if on_instance_stop_action is not None:
|
13131
|
+
pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
|
12963
13132
|
if preemptible is not None:
|
12964
13133
|
pulumi.set(__self__, "preemptible", preemptible)
|
12965
13134
|
if provisioning_model is not None:
|
@@ -13006,8 +13175,7 @@ class InstanceTemplateScheduling(dict):
|
|
13006
13175
|
@pulumi.getter(name="maxRunDuration")
|
13007
13176
|
def max_run_duration(self) -> Optional['outputs.InstanceTemplateSchedulingMaxRunDuration']:
|
13008
13177
|
"""
|
13009
|
-
The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`.
|
13010
|
-
<a name="nested_max_run_duration"></a>The `max_run_duration` block supports:
|
13178
|
+
The duration of the instance. Instance will run and be terminated after then, the termination action could be defined in `instance_termination_action`. Structure is documented below.
|
13011
13179
|
"""
|
13012
13180
|
return pulumi.get(self, "max_run_duration")
|
13013
13181
|
|
@@ -13040,6 +13208,14 @@ class InstanceTemplateScheduling(dict):
|
|
13040
13208
|
"""
|
13041
13209
|
return pulumi.get(self, "on_host_maintenance")
|
13042
13210
|
|
13211
|
+
@property
|
13212
|
+
@pulumi.getter(name="onInstanceStopAction")
|
13213
|
+
def on_instance_stop_action(self) -> Optional['outputs.InstanceTemplateSchedulingOnInstanceStopAction']:
|
13214
|
+
"""
|
13215
|
+
Specifies the action to be performed when the instance is terminated using `max_run_duration` and `STOP` `instance_termination_action`. Only support `true` `discard_local_ssd` at this point. Structure is documented below.
|
13216
|
+
"""
|
13217
|
+
return pulumi.get(self, "on_instance_stop_action")
|
13218
|
+
|
13043
13219
|
@property
|
13044
13220
|
@pulumi.getter
|
13045
13221
|
def preemptible(self) -> Optional[bool]:
|
@@ -13106,12 +13282,13 @@ class InstanceTemplateSchedulingMaxRunDuration(dict):
|
|
13106
13282
|
seconds: int,
|
13107
13283
|
nanos: Optional[int] = None):
|
13108
13284
|
"""
|
13109
|
-
:param int seconds: Span of time at a resolution of a second.
|
13110
|
-
|
13285
|
+
:param int seconds: Span of time at a resolution of a second. Must be from 0 to
|
13286
|
+
315,576,000,000 inclusive. Note: these bounds are computed from: 60
|
13287
|
+
sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
|
13111
13288
|
:param int nanos: Span of time that's a fraction of a second at nanosecond
|
13112
|
-
resolution. Durations less than one second are represented
|
13113
|
-
|
13114
|
-
|
13289
|
+
resolution. Durations less than one second are represented with a 0
|
13290
|
+
`seconds` field and a positive `nanos` field. Must be from 0 to
|
13291
|
+
999,999,999 inclusive.
|
13115
13292
|
"""
|
13116
13293
|
pulumi.set(__self__, "seconds", seconds)
|
13117
13294
|
if nanos is not None:
|
@@ -13121,8 +13298,9 @@ class InstanceTemplateSchedulingMaxRunDuration(dict):
|
|
13121
13298
|
@pulumi.getter
|
13122
13299
|
def seconds(self) -> int:
|
13123
13300
|
"""
|
13124
|
-
Span of time at a resolution of a second.
|
13125
|
-
|
13301
|
+
Span of time at a resolution of a second. Must be from 0 to
|
13302
|
+
315,576,000,000 inclusive. Note: these bounds are computed from: 60
|
13303
|
+
sec/min * 60 min/hr * 24 hr/day * 365.25 days/year * 10000 years.
|
13126
13304
|
"""
|
13127
13305
|
return pulumi.get(self, "seconds")
|
13128
13306
|
|
@@ -13131,9 +13309,9 @@ class InstanceTemplateSchedulingMaxRunDuration(dict):
|
|
13131
13309
|
def nanos(self) -> Optional[int]:
|
13132
13310
|
"""
|
13133
13311
|
Span of time that's a fraction of a second at nanosecond
|
13134
|
-
resolution. Durations less than one second are represented
|
13135
|
-
|
13136
|
-
|
13312
|
+
resolution. Durations less than one second are represented with a 0
|
13313
|
+
`seconds` field and a positive `nanos` field. Must be from 0 to
|
13314
|
+
999,999,999 inclusive.
|
13137
13315
|
"""
|
13138
13316
|
return pulumi.get(self, "nanos")
|
13139
13317
|
|
@@ -13176,6 +13354,42 @@ class InstanceTemplateSchedulingNodeAffinity(dict):
|
|
13176
13354
|
return pulumi.get(self, "values")
|
13177
13355
|
|
13178
13356
|
|
13357
|
+
@pulumi.output_type
|
13358
|
+
class InstanceTemplateSchedulingOnInstanceStopAction(dict):
|
13359
|
+
@staticmethod
|
13360
|
+
def __key_warning(key: str):
|
13361
|
+
suggest = None
|
13362
|
+
if key == "discardLocalSsd":
|
13363
|
+
suggest = "discard_local_ssd"
|
13364
|
+
|
13365
|
+
if suggest:
|
13366
|
+
pulumi.log.warn(f"Key '{key}' not found in InstanceTemplateSchedulingOnInstanceStopAction. Access the value via the '{suggest}' property getter instead.")
|
13367
|
+
|
13368
|
+
def __getitem__(self, key: str) -> Any:
|
13369
|
+
InstanceTemplateSchedulingOnInstanceStopAction.__key_warning(key)
|
13370
|
+
return super().__getitem__(key)
|
13371
|
+
|
13372
|
+
def get(self, key: str, default = None) -> Any:
|
13373
|
+
InstanceTemplateSchedulingOnInstanceStopAction.__key_warning(key)
|
13374
|
+
return super().get(key, default)
|
13375
|
+
|
13376
|
+
def __init__(__self__, *,
|
13377
|
+
discard_local_ssd: Optional[bool] = None):
|
13378
|
+
"""
|
13379
|
+
:param bool discard_local_ssd: Whether to discard local SSDs attached to the VM while terminating using `max_run_duration`. Only supports `true` at this point.
|
13380
|
+
"""
|
13381
|
+
if discard_local_ssd is not None:
|
13382
|
+
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
13383
|
+
|
13384
|
+
@property
|
13385
|
+
@pulumi.getter(name="discardLocalSsd")
|
13386
|
+
def discard_local_ssd(self) -> Optional[bool]:
|
13387
|
+
"""
|
13388
|
+
Whether to discard local SSDs attached to the VM while terminating using `max_run_duration`. Only supports `true` at this point.
|
13389
|
+
"""
|
13390
|
+
return pulumi.get(self, "discard_local_ssd")
|
13391
|
+
|
13392
|
+
|
13179
13393
|
@pulumi.output_type
|
13180
13394
|
class InstanceTemplateServiceAccount(dict):
|
13181
13395
|
def __init__(__self__, *,
|
@@ -13313,6 +13527,382 @@ class InterconnectAttachmentPrivateInterconnectInfo(dict):
|
|
13313
13527
|
return pulumi.get(self, "tag8021q")
|
13314
13528
|
|
13315
13529
|
|
13530
|
+
@pulumi.output_type
|
13531
|
+
class InterconnectCircuitInfo(dict):
|
13532
|
+
@staticmethod
|
13533
|
+
def __key_warning(key: str):
|
13534
|
+
suggest = None
|
13535
|
+
if key == "customerDemarcId":
|
13536
|
+
suggest = "customer_demarc_id"
|
13537
|
+
elif key == "googleCircuitId":
|
13538
|
+
suggest = "google_circuit_id"
|
13539
|
+
elif key == "googleDemarcId":
|
13540
|
+
suggest = "google_demarc_id"
|
13541
|
+
|
13542
|
+
if suggest:
|
13543
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectCircuitInfo. Access the value via the '{suggest}' property getter instead.")
|
13544
|
+
|
13545
|
+
def __getitem__(self, key: str) -> Any:
|
13546
|
+
InterconnectCircuitInfo.__key_warning(key)
|
13547
|
+
return super().__getitem__(key)
|
13548
|
+
|
13549
|
+
def get(self, key: str, default = None) -> Any:
|
13550
|
+
InterconnectCircuitInfo.__key_warning(key)
|
13551
|
+
return super().get(key, default)
|
13552
|
+
|
13553
|
+
def __init__(__self__, *,
|
13554
|
+
customer_demarc_id: Optional[str] = None,
|
13555
|
+
google_circuit_id: Optional[str] = None,
|
13556
|
+
google_demarc_id: Optional[str] = None):
|
13557
|
+
"""
|
13558
|
+
:param str customer_demarc_id: (Output)
|
13559
|
+
Customer-side demarc ID for this circuit.
|
13560
|
+
:param str google_circuit_id: (Output)
|
13561
|
+
Google-assigned unique ID for this circuit. Assigned at circuit turn-up.
|
13562
|
+
:param str google_demarc_id: (Output)
|
13563
|
+
Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by
|
13564
|
+
Google to the customer in the LOA.
|
13565
|
+
"""
|
13566
|
+
if customer_demarc_id is not None:
|
13567
|
+
pulumi.set(__self__, "customer_demarc_id", customer_demarc_id)
|
13568
|
+
if google_circuit_id is not None:
|
13569
|
+
pulumi.set(__self__, "google_circuit_id", google_circuit_id)
|
13570
|
+
if google_demarc_id is not None:
|
13571
|
+
pulumi.set(__self__, "google_demarc_id", google_demarc_id)
|
13572
|
+
|
13573
|
+
@property
|
13574
|
+
@pulumi.getter(name="customerDemarcId")
|
13575
|
+
def customer_demarc_id(self) -> Optional[str]:
|
13576
|
+
"""
|
13577
|
+
(Output)
|
13578
|
+
Customer-side demarc ID for this circuit.
|
13579
|
+
"""
|
13580
|
+
return pulumi.get(self, "customer_demarc_id")
|
13581
|
+
|
13582
|
+
@property
|
13583
|
+
@pulumi.getter(name="googleCircuitId")
|
13584
|
+
def google_circuit_id(self) -> Optional[str]:
|
13585
|
+
"""
|
13586
|
+
(Output)
|
13587
|
+
Google-assigned unique ID for this circuit. Assigned at circuit turn-up.
|
13588
|
+
"""
|
13589
|
+
return pulumi.get(self, "google_circuit_id")
|
13590
|
+
|
13591
|
+
@property
|
13592
|
+
@pulumi.getter(name="googleDemarcId")
|
13593
|
+
def google_demarc_id(self) -> Optional[str]:
|
13594
|
+
"""
|
13595
|
+
(Output)
|
13596
|
+
Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by
|
13597
|
+
Google to the customer in the LOA.
|
13598
|
+
"""
|
13599
|
+
return pulumi.get(self, "google_demarc_id")
|
13600
|
+
|
13601
|
+
|
13602
|
+
@pulumi.output_type
|
13603
|
+
class InterconnectExpectedOutage(dict):
|
13604
|
+
@staticmethod
|
13605
|
+
def __key_warning(key: str):
|
13606
|
+
suggest = None
|
13607
|
+
if key == "affectedCircuits":
|
13608
|
+
suggest = "affected_circuits"
|
13609
|
+
elif key == "endTime":
|
13610
|
+
suggest = "end_time"
|
13611
|
+
elif key == "issueType":
|
13612
|
+
suggest = "issue_type"
|
13613
|
+
elif key == "startTime":
|
13614
|
+
suggest = "start_time"
|
13615
|
+
|
13616
|
+
if suggest:
|
13617
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectExpectedOutage. Access the value via the '{suggest}' property getter instead.")
|
13618
|
+
|
13619
|
+
def __getitem__(self, key: str) -> Any:
|
13620
|
+
InterconnectExpectedOutage.__key_warning(key)
|
13621
|
+
return super().__getitem__(key)
|
13622
|
+
|
13623
|
+
def get(self, key: str, default = None) -> Any:
|
13624
|
+
InterconnectExpectedOutage.__key_warning(key)
|
13625
|
+
return super().get(key, default)
|
13626
|
+
|
13627
|
+
def __init__(__self__, *,
|
13628
|
+
affected_circuits: Optional[Sequence[str]] = None,
|
13629
|
+
description: Optional[str] = None,
|
13630
|
+
end_time: Optional[str] = None,
|
13631
|
+
issue_type: Optional[str] = None,
|
13632
|
+
name: Optional[str] = None,
|
13633
|
+
source: Optional[str] = None,
|
13634
|
+
start_time: Optional[str] = None,
|
13635
|
+
state: Optional[str] = None):
|
13636
|
+
"""
|
13637
|
+
:param Sequence[str] affected_circuits: (Output)
|
13638
|
+
If issueType is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be
|
13639
|
+
affected.
|
13640
|
+
:param str description: An optional description of this resource. Provide this property when you create the resource.
|
13641
|
+
:param str end_time: (Output)
|
13642
|
+
Scheduled end time for the outage (milliseconds since Unix epoch).
|
13643
|
+
:param str issue_type: (Output)
|
13644
|
+
Form this outage is expected to take. Note that the versions of this enum prefixed with
|
13645
|
+
"IT_" have been deprecated in favor of the unprefixed values. Can take one of the
|
13646
|
+
following values:
|
13647
|
+
- OUTAGE: The Interconnect may be completely out of service for some or all of the
|
13648
|
+
specified window.
|
13649
|
+
- PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain
|
13650
|
+
up, but with reduced bandwidth.
|
13651
|
+
:param str name: Name of the resource. Provided by the client when the resource is created. The name must be
|
13652
|
+
1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
|
13653
|
+
long and match the regular expression `a-z?` which means the first
|
13654
|
+
character must be a lowercase letter, and all following characters must be a dash,
|
13655
|
+
lowercase letter, or digit, except the last character, which cannot be a dash.
|
13656
|
+
:param str source: (Output)
|
13657
|
+
The party that generated this notification. Note that the value of NSRC_GOOGLE has been
|
13658
|
+
deprecated in favor of GOOGLE. Can take the following value:
|
13659
|
+
- GOOGLE: this notification as generated by Google.
|
13660
|
+
:param str start_time: (Output)
|
13661
|
+
Scheduled start time for the outage (milliseconds since Unix epoch).
|
13662
|
+
:param str state: (Output)
|
13663
|
+
State of this notification. Note that the versions of this enum prefixed with "NS_" have
|
13664
|
+
been deprecated in favor of the unprefixed values. Can take one of the following values:
|
13665
|
+
- ACTIVE: This outage notification is active. The event could be in the past, present,
|
13666
|
+
or future. See startTime and endTime for scheduling.
|
13667
|
+
- CANCELLED: The outage associated with this notification was cancelled before the
|
13668
|
+
outage was due to start.
|
13669
|
+
- COMPLETED: The outage associated with this notification is complete.
|
13670
|
+
"""
|
13671
|
+
if affected_circuits is not None:
|
13672
|
+
pulumi.set(__self__, "affected_circuits", affected_circuits)
|
13673
|
+
if description is not None:
|
13674
|
+
pulumi.set(__self__, "description", description)
|
13675
|
+
if end_time is not None:
|
13676
|
+
pulumi.set(__self__, "end_time", end_time)
|
13677
|
+
if issue_type is not None:
|
13678
|
+
pulumi.set(__self__, "issue_type", issue_type)
|
13679
|
+
if name is not None:
|
13680
|
+
pulumi.set(__self__, "name", name)
|
13681
|
+
if source is not None:
|
13682
|
+
pulumi.set(__self__, "source", source)
|
13683
|
+
if start_time is not None:
|
13684
|
+
pulumi.set(__self__, "start_time", start_time)
|
13685
|
+
if state is not None:
|
13686
|
+
pulumi.set(__self__, "state", state)
|
13687
|
+
|
13688
|
+
@property
|
13689
|
+
@pulumi.getter(name="affectedCircuits")
|
13690
|
+
def affected_circuits(self) -> Optional[Sequence[str]]:
|
13691
|
+
"""
|
13692
|
+
(Output)
|
13693
|
+
If issueType is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be
|
13694
|
+
affected.
|
13695
|
+
"""
|
13696
|
+
return pulumi.get(self, "affected_circuits")
|
13697
|
+
|
13698
|
+
@property
|
13699
|
+
@pulumi.getter
|
13700
|
+
def description(self) -> Optional[str]:
|
13701
|
+
"""
|
13702
|
+
An optional description of this resource. Provide this property when you create the resource.
|
13703
|
+
"""
|
13704
|
+
return pulumi.get(self, "description")
|
13705
|
+
|
13706
|
+
@property
|
13707
|
+
@pulumi.getter(name="endTime")
|
13708
|
+
def end_time(self) -> Optional[str]:
|
13709
|
+
"""
|
13710
|
+
(Output)
|
13711
|
+
Scheduled end time for the outage (milliseconds since Unix epoch).
|
13712
|
+
"""
|
13713
|
+
return pulumi.get(self, "end_time")
|
13714
|
+
|
13715
|
+
@property
|
13716
|
+
@pulumi.getter(name="issueType")
|
13717
|
+
def issue_type(self) -> Optional[str]:
|
13718
|
+
"""
|
13719
|
+
(Output)
|
13720
|
+
Form this outage is expected to take. Note that the versions of this enum prefixed with
|
13721
|
+
"IT_" have been deprecated in favor of the unprefixed values. Can take one of the
|
13722
|
+
following values:
|
13723
|
+
- OUTAGE: The Interconnect may be completely out of service for some or all of the
|
13724
|
+
specified window.
|
13725
|
+
- PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain
|
13726
|
+
up, but with reduced bandwidth.
|
13727
|
+
"""
|
13728
|
+
return pulumi.get(self, "issue_type")
|
13729
|
+
|
13730
|
+
@property
|
13731
|
+
@pulumi.getter
|
13732
|
+
def name(self) -> Optional[str]:
|
13733
|
+
"""
|
13734
|
+
Name of the resource. Provided by the client when the resource is created. The name must be
|
13735
|
+
1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
|
13736
|
+
long and match the regular expression `a-z?` which means the first
|
13737
|
+
character must be a lowercase letter, and all following characters must be a dash,
|
13738
|
+
lowercase letter, or digit, except the last character, which cannot be a dash.
|
13739
|
+
"""
|
13740
|
+
return pulumi.get(self, "name")
|
13741
|
+
|
13742
|
+
@property
|
13743
|
+
@pulumi.getter
|
13744
|
+
def source(self) -> Optional[str]:
|
13745
|
+
"""
|
13746
|
+
(Output)
|
13747
|
+
The party that generated this notification. Note that the value of NSRC_GOOGLE has been
|
13748
|
+
deprecated in favor of GOOGLE. Can take the following value:
|
13749
|
+
- GOOGLE: this notification as generated by Google.
|
13750
|
+
"""
|
13751
|
+
return pulumi.get(self, "source")
|
13752
|
+
|
13753
|
+
@property
|
13754
|
+
@pulumi.getter(name="startTime")
|
13755
|
+
def start_time(self) -> Optional[str]:
|
13756
|
+
"""
|
13757
|
+
(Output)
|
13758
|
+
Scheduled start time for the outage (milliseconds since Unix epoch).
|
13759
|
+
"""
|
13760
|
+
return pulumi.get(self, "start_time")
|
13761
|
+
|
13762
|
+
@property
|
13763
|
+
@pulumi.getter
|
13764
|
+
def state(self) -> Optional[str]:
|
13765
|
+
"""
|
13766
|
+
(Output)
|
13767
|
+
State of this notification. Note that the versions of this enum prefixed with "NS_" have
|
13768
|
+
been deprecated in favor of the unprefixed values. Can take one of the following values:
|
13769
|
+
- ACTIVE: This outage notification is active. The event could be in the past, present,
|
13770
|
+
or future. See startTime and endTime for scheduling.
|
13771
|
+
- CANCELLED: The outage associated with this notification was cancelled before the
|
13772
|
+
outage was due to start.
|
13773
|
+
- COMPLETED: The outage associated with this notification is complete.
|
13774
|
+
"""
|
13775
|
+
return pulumi.get(self, "state")
|
13776
|
+
|
13777
|
+
|
13778
|
+
@pulumi.output_type
|
13779
|
+
class InterconnectMacsec(dict):
|
13780
|
+
@staticmethod
|
13781
|
+
def __key_warning(key: str):
|
13782
|
+
suggest = None
|
13783
|
+
if key == "preSharedKeys":
|
13784
|
+
suggest = "pre_shared_keys"
|
13785
|
+
|
13786
|
+
if suggest:
|
13787
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectMacsec. Access the value via the '{suggest}' property getter instead.")
|
13788
|
+
|
13789
|
+
def __getitem__(self, key: str) -> Any:
|
13790
|
+
InterconnectMacsec.__key_warning(key)
|
13791
|
+
return super().__getitem__(key)
|
13792
|
+
|
13793
|
+
def get(self, key: str, default = None) -> Any:
|
13794
|
+
InterconnectMacsec.__key_warning(key)
|
13795
|
+
return super().get(key, default)
|
13796
|
+
|
13797
|
+
def __init__(__self__, *,
|
13798
|
+
pre_shared_keys: Sequence['outputs.InterconnectMacsecPreSharedKey']):
|
13799
|
+
"""
|
13800
|
+
:param Sequence['InterconnectMacsecPreSharedKeyArgs'] pre_shared_keys: A keychain placeholder describing a set of named key objects along with their
|
13801
|
+
start times. A MACsec CKN/CAK is generated for each key in the key chain.
|
13802
|
+
Google router automatically picks the key with the most recent startTime when establishing
|
13803
|
+
or re-establishing a MACsec secure link.
|
13804
|
+
Structure is documented below.
|
13805
|
+
"""
|
13806
|
+
pulumi.set(__self__, "pre_shared_keys", pre_shared_keys)
|
13807
|
+
|
13808
|
+
@property
|
13809
|
+
@pulumi.getter(name="preSharedKeys")
|
13810
|
+
def pre_shared_keys(self) -> Sequence['outputs.InterconnectMacsecPreSharedKey']:
|
13811
|
+
"""
|
13812
|
+
A keychain placeholder describing a set of named key objects along with their
|
13813
|
+
start times. A MACsec CKN/CAK is generated for each key in the key chain.
|
13814
|
+
Google router automatically picks the key with the most recent startTime when establishing
|
13815
|
+
or re-establishing a MACsec secure link.
|
13816
|
+
Structure is documented below.
|
13817
|
+
"""
|
13818
|
+
return pulumi.get(self, "pre_shared_keys")
|
13819
|
+
|
13820
|
+
|
13821
|
+
@pulumi.output_type
|
13822
|
+
class InterconnectMacsecPreSharedKey(dict):
|
13823
|
+
@staticmethod
|
13824
|
+
def __key_warning(key: str):
|
13825
|
+
suggest = None
|
13826
|
+
if key == "failOpen":
|
13827
|
+
suggest = "fail_open"
|
13828
|
+
elif key == "startTime":
|
13829
|
+
suggest = "start_time"
|
13830
|
+
|
13831
|
+
if suggest:
|
13832
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectMacsecPreSharedKey. Access the value via the '{suggest}' property getter instead.")
|
13833
|
+
|
13834
|
+
def __getitem__(self, key: str) -> Any:
|
13835
|
+
InterconnectMacsecPreSharedKey.__key_warning(key)
|
13836
|
+
return super().__getitem__(key)
|
13837
|
+
|
13838
|
+
def get(self, key: str, default = None) -> Any:
|
13839
|
+
InterconnectMacsecPreSharedKey.__key_warning(key)
|
13840
|
+
return super().get(key, default)
|
13841
|
+
|
13842
|
+
def __init__(__self__, *,
|
13843
|
+
name: str,
|
13844
|
+
fail_open: Optional[bool] = None,
|
13845
|
+
start_time: Optional[str] = None):
|
13846
|
+
"""
|
13847
|
+
:param str name: A name for this pre-shared key. The name must be 1-63 characters long, and
|
13848
|
+
comply with RFC1035. Specifically, the name must be 1-63 characters long and match
|
13849
|
+
the regular expression `a-z?` which means the first character
|
13850
|
+
must be a lowercase letter, and all following characters must be a dash, lowercase
|
13851
|
+
letter, or digit, except the last character, which cannot be a dash.
|
13852
|
+
:param bool fail_open: If set to true, the Interconnect connection is configured with a should-secure
|
13853
|
+
MACsec security policy, that allows the Google router to fallback to cleartext
|
13854
|
+
traffic if the MKA session cannot be established. By default, the Interconnect
|
13855
|
+
connection is configured with a must-secure security policy that drops all traffic
|
13856
|
+
if the MKA session cannot be established with your router.
|
13857
|
+
:param str start_time: A RFC3339 timestamp on or after which the key is valid. startTime can be in the
|
13858
|
+
future. If the keychain has a single key, startTime can be omitted. If the keychain
|
13859
|
+
has multiple keys, startTime is mandatory for each key. The start times of keys must
|
13860
|
+
be in increasing order. The start times of two consecutive keys must be at least 6
|
13861
|
+
hours apart.
|
13862
|
+
"""
|
13863
|
+
pulumi.set(__self__, "name", name)
|
13864
|
+
if fail_open is not None:
|
13865
|
+
pulumi.set(__self__, "fail_open", fail_open)
|
13866
|
+
if start_time is not None:
|
13867
|
+
pulumi.set(__self__, "start_time", start_time)
|
13868
|
+
|
13869
|
+
@property
|
13870
|
+
@pulumi.getter
|
13871
|
+
def name(self) -> str:
|
13872
|
+
"""
|
13873
|
+
A name for this pre-shared key. The name must be 1-63 characters long, and
|
13874
|
+
comply with RFC1035. Specifically, the name must be 1-63 characters long and match
|
13875
|
+
the regular expression `a-z?` which means the first character
|
13876
|
+
must be a lowercase letter, and all following characters must be a dash, lowercase
|
13877
|
+
letter, or digit, except the last character, which cannot be a dash.
|
13878
|
+
"""
|
13879
|
+
return pulumi.get(self, "name")
|
13880
|
+
|
13881
|
+
@property
|
13882
|
+
@pulumi.getter(name="failOpen")
|
13883
|
+
def fail_open(self) -> Optional[bool]:
|
13884
|
+
"""
|
13885
|
+
If set to true, the Interconnect connection is configured with a should-secure
|
13886
|
+
MACsec security policy, that allows the Google router to fallback to cleartext
|
13887
|
+
traffic if the MKA session cannot be established. By default, the Interconnect
|
13888
|
+
connection is configured with a must-secure security policy that drops all traffic
|
13889
|
+
if the MKA session cannot be established with your router.
|
13890
|
+
"""
|
13891
|
+
return pulumi.get(self, "fail_open")
|
13892
|
+
|
13893
|
+
@property
|
13894
|
+
@pulumi.getter(name="startTime")
|
13895
|
+
def start_time(self) -> Optional[str]:
|
13896
|
+
"""
|
13897
|
+
A RFC3339 timestamp on or after which the key is valid. startTime can be in the
|
13898
|
+
future. If the keychain has a single key, startTime can be omitted. If the keychain
|
13899
|
+
has multiple keys, startTime is mandatory for each key. The start times of keys must
|
13900
|
+
be in increasing order. The start times of two consecutive keys must be at least 6
|
13901
|
+
hours apart.
|
13902
|
+
"""
|
13903
|
+
return pulumi.get(self, "start_time")
|
13904
|
+
|
13905
|
+
|
13316
13906
|
@pulumi.output_type
|
13317
13907
|
class MachineImageIamBindingCondition(dict):
|
13318
13908
|
def __init__(__self__, *,
|
@@ -20856,6 +21446,8 @@ class RegionInstanceTemplateScheduling(dict):
|
|
20856
21446
|
suggest = "node_affinities"
|
20857
21447
|
elif key == "onHostMaintenance":
|
20858
21448
|
suggest = "on_host_maintenance"
|
21449
|
+
elif key == "onInstanceStopAction":
|
21450
|
+
suggest = "on_instance_stop_action"
|
20859
21451
|
elif key == "provisioningModel":
|
20860
21452
|
suggest = "provisioning_model"
|
20861
21453
|
|
@@ -20879,6 +21471,7 @@ class RegionInstanceTemplateScheduling(dict):
|
|
20879
21471
|
min_node_cpus: Optional[int] = None,
|
20880
21472
|
node_affinities: Optional[Sequence['outputs.RegionInstanceTemplateSchedulingNodeAffinity']] = None,
|
20881
21473
|
on_host_maintenance: Optional[str] = None,
|
21474
|
+
on_instance_stop_action: Optional['outputs.RegionInstanceTemplateSchedulingOnInstanceStopAction'] = None,
|
20882
21475
|
preemptible: Optional[bool] = None,
|
20883
21476
|
provisioning_model: Optional[str] = None):
|
20884
21477
|
"""
|
@@ -20900,6 +21493,7 @@ class RegionInstanceTemplateScheduling(dict):
|
|
20900
21493
|
Structure documented below.
|
20901
21494
|
:param str on_host_maintenance: Defines the maintenance behavior for this
|
20902
21495
|
instance.
|
21496
|
+
:param 'RegionInstanceTemplateSchedulingOnInstanceStopActionArgs' on_instance_stop_action: Defines the behaviour for instances with the instance_termination_action.
|
20903
21497
|
:param bool preemptible: Allows instance to be preempted. This defaults to
|
20904
21498
|
false. Read more on this
|
20905
21499
|
[here](https://cloud.google.com/compute/docs/instances/preemptible).
|
@@ -20924,6 +21518,8 @@ class RegionInstanceTemplateScheduling(dict):
|
|
20924
21518
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
20925
21519
|
if on_host_maintenance is not None:
|
20926
21520
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
21521
|
+
if on_instance_stop_action is not None:
|
21522
|
+
pulumi.set(__self__, "on_instance_stop_action", on_instance_stop_action)
|
20927
21523
|
if preemptible is not None:
|
20928
21524
|
pulumi.set(__self__, "preemptible", preemptible)
|
20929
21525
|
if provisioning_model is not None:
|
@@ -21003,6 +21599,14 @@ class RegionInstanceTemplateScheduling(dict):
|
|
21003
21599
|
"""
|
21004
21600
|
return pulumi.get(self, "on_host_maintenance")
|
21005
21601
|
|
21602
|
+
@property
|
21603
|
+
@pulumi.getter(name="onInstanceStopAction")
|
21604
|
+
def on_instance_stop_action(self) -> Optional['outputs.RegionInstanceTemplateSchedulingOnInstanceStopAction']:
|
21605
|
+
"""
|
21606
|
+
Defines the behaviour for instances with the instance_termination_action.
|
21607
|
+
"""
|
21608
|
+
return pulumi.get(self, "on_instance_stop_action")
|
21609
|
+
|
21006
21610
|
@property
|
21007
21611
|
@pulumi.getter
|
21008
21612
|
def preemptible(self) -> Optional[bool]:
|
@@ -21141,6 +21745,42 @@ class RegionInstanceTemplateSchedulingNodeAffinity(dict):
|
|
21141
21745
|
return pulumi.get(self, "values")
|
21142
21746
|
|
21143
21747
|
|
21748
|
+
@pulumi.output_type
|
21749
|
+
class RegionInstanceTemplateSchedulingOnInstanceStopAction(dict):
|
21750
|
+
@staticmethod
|
21751
|
+
def __key_warning(key: str):
|
21752
|
+
suggest = None
|
21753
|
+
if key == "discardLocalSsd":
|
21754
|
+
suggest = "discard_local_ssd"
|
21755
|
+
|
21756
|
+
if suggest:
|
21757
|
+
pulumi.log.warn(f"Key '{key}' not found in RegionInstanceTemplateSchedulingOnInstanceStopAction. Access the value via the '{suggest}' property getter instead.")
|
21758
|
+
|
21759
|
+
def __getitem__(self, key: str) -> Any:
|
21760
|
+
RegionInstanceTemplateSchedulingOnInstanceStopAction.__key_warning(key)
|
21761
|
+
return super().__getitem__(key)
|
21762
|
+
|
21763
|
+
def get(self, key: str, default = None) -> Any:
|
21764
|
+
RegionInstanceTemplateSchedulingOnInstanceStopAction.__key_warning(key)
|
21765
|
+
return super().get(key, default)
|
21766
|
+
|
21767
|
+
def __init__(__self__, *,
|
21768
|
+
discard_local_ssd: Optional[bool] = None):
|
21769
|
+
"""
|
21770
|
+
:param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
|
21771
|
+
"""
|
21772
|
+
if discard_local_ssd is not None:
|
21773
|
+
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
21774
|
+
|
21775
|
+
@property
|
21776
|
+
@pulumi.getter(name="discardLocalSsd")
|
21777
|
+
def discard_local_ssd(self) -> Optional[bool]:
|
21778
|
+
"""
|
21779
|
+
If true, the contents of any attached Local SSD disks will be discarded.
|
21780
|
+
"""
|
21781
|
+
return pulumi.get(self, "discard_local_ssd")
|
21782
|
+
|
21783
|
+
|
21144
21784
|
@pulumi.output_type
|
21145
21785
|
class RegionInstanceTemplateServiceAccount(dict):
|
21146
21786
|
def __init__(__self__, *,
|
@@ -22274,17 +22914,22 @@ class RegionSecurityPolicyRuleMatch(dict):
|
|
22274
22914
|
|
22275
22915
|
def __init__(__self__, *,
|
22276
22916
|
config: Optional['outputs.RegionSecurityPolicyRuleMatchConfig'] = None,
|
22917
|
+
expr: Optional['outputs.RegionSecurityPolicyRuleMatchExpr'] = None,
|
22277
22918
|
versioned_expr: Optional[str] = None):
|
22278
22919
|
"""
|
22279
22920
|
:param 'RegionSecurityPolicyRuleMatchConfigArgs' config: The configuration options available when specifying versionedExpr.
|
22280
22921
|
This field must be specified if versionedExpr is specified and cannot be specified if versionedExpr is not specified.
|
22281
22922
|
Structure is documented below.
|
22923
|
+
:param 'RegionSecurityPolicyRuleMatchExprArgs' expr: User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
|
22924
|
+
Structure is documented below.
|
22282
22925
|
:param str versioned_expr: Preconfigured versioned expression. If this field is specified, config must also be specified.
|
22283
22926
|
Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding srcIpRange field in config.
|
22284
22927
|
Possible values are: `SRC_IPS_V1`.
|
22285
22928
|
"""
|
22286
22929
|
if config is not None:
|
22287
22930
|
pulumi.set(__self__, "config", config)
|
22931
|
+
if expr is not None:
|
22932
|
+
pulumi.set(__self__, "expr", expr)
|
22288
22933
|
if versioned_expr is not None:
|
22289
22934
|
pulumi.set(__self__, "versioned_expr", versioned_expr)
|
22290
22935
|
|
@@ -22298,6 +22943,15 @@ class RegionSecurityPolicyRuleMatch(dict):
|
|
22298
22943
|
"""
|
22299
22944
|
return pulumi.get(self, "config")
|
22300
22945
|
|
22946
|
+
@property
|
22947
|
+
@pulumi.getter
|
22948
|
+
def expr(self) -> Optional['outputs.RegionSecurityPolicyRuleMatchExpr']:
|
22949
|
+
"""
|
22950
|
+
User defined CEVAL expression. A CEVAL expression is used to specify match criteria such as origin.ip, source.region_code and contents in the request header.
|
22951
|
+
Structure is documented below.
|
22952
|
+
"""
|
22953
|
+
return pulumi.get(self, "expr")
|
22954
|
+
|
22301
22955
|
@property
|
22302
22956
|
@pulumi.getter(name="versionedExpr")
|
22303
22957
|
def versioned_expr(self) -> Optional[str]:
|
@@ -22345,6 +22999,24 @@ class RegionSecurityPolicyRuleMatchConfig(dict):
|
|
22345
22999
|
return pulumi.get(self, "src_ip_ranges")
|
22346
23000
|
|
22347
23001
|
|
23002
|
+
@pulumi.output_type
|
23003
|
+
class RegionSecurityPolicyRuleMatchExpr(dict):
|
23004
|
+
def __init__(__self__, *,
|
23005
|
+
expression: str):
|
23006
|
+
"""
|
23007
|
+
:param str expression: Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported.
|
23008
|
+
"""
|
23009
|
+
pulumi.set(__self__, "expression", expression)
|
23010
|
+
|
23011
|
+
@property
|
23012
|
+
@pulumi.getter
|
23013
|
+
def expression(self) -> str:
|
23014
|
+
"""
|
23015
|
+
Textual representation of an expression in Common Expression Language syntax. The application context of the containing message determines which well-known feature set of CEL is supported.
|
23016
|
+
"""
|
23017
|
+
return pulumi.get(self, "expression")
|
23018
|
+
|
23019
|
+
|
22348
23020
|
@pulumi.output_type
|
22349
23021
|
class RegionSecurityPolicyRuleNetworkMatch(dict):
|
22350
23022
|
@staticmethod
|
@@ -30720,6 +31392,7 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
|
|
30720
31392
|
:param str json_parsing: Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
|
30721
31393
|
* `DISABLED` - Don't parse JSON payloads in POST bodies.
|
30722
31394
|
* `STANDARD` - Parse JSON payloads in POST bodies.
|
31395
|
+
* `STANDARD_WITH_GRAPHQL` - Parse JSON and GraphQL payloads in POST bodies.
|
30723
31396
|
:param str log_level: Log level to use. Defaults to `NORMAL`.
|
30724
31397
|
* `NORMAL` - Normal log level.
|
30725
31398
|
* `VERBOSE` - Verbose log level.
|
@@ -30750,6 +31423,7 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
|
|
30750
31423
|
Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
|
30751
31424
|
* `DISABLED` - Don't parse JSON payloads in POST bodies.
|
30752
31425
|
* `STANDARD` - Parse JSON payloads in POST bodies.
|
31426
|
+
* `STANDARD_WITH_GRAPHQL` - Parse JSON and GraphQL payloads in POST bodies.
|
30753
31427
|
"""
|
30754
31428
|
return pulumi.get(self, "json_parsing")
|
30755
31429
|
|
@@ -31518,24 +32192,24 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
31518
32192
|
@staticmethod
|
31519
32193
|
def __key_warning(key: str):
|
31520
32194
|
suggest = None
|
31521
|
-
if key == "
|
31522
|
-
suggest = "conform_action"
|
31523
|
-
elif key == "exceedAction":
|
31524
|
-
suggest = "exceed_action"
|
31525
|
-
elif key == "rateLimitThreshold":
|
31526
|
-
suggest = "rate_limit_threshold"
|
31527
|
-
elif key == "banDurationSec":
|
32195
|
+
if key == "banDurationSec":
|
31528
32196
|
suggest = "ban_duration_sec"
|
31529
32197
|
elif key == "banThreshold":
|
31530
32198
|
suggest = "ban_threshold"
|
32199
|
+
elif key == "conformAction":
|
32200
|
+
suggest = "conform_action"
|
31531
32201
|
elif key == "enforceOnKey":
|
31532
32202
|
suggest = "enforce_on_key"
|
31533
32203
|
elif key == "enforceOnKeyConfigs":
|
31534
32204
|
suggest = "enforce_on_key_configs"
|
31535
32205
|
elif key == "enforceOnKeyName":
|
31536
32206
|
suggest = "enforce_on_key_name"
|
32207
|
+
elif key == "exceedAction":
|
32208
|
+
suggest = "exceed_action"
|
31537
32209
|
elif key == "exceedRedirectOptions":
|
31538
32210
|
suggest = "exceed_redirect_options"
|
32211
|
+
elif key == "rateLimitThreshold":
|
32212
|
+
suggest = "rate_limit_threshold"
|
31539
32213
|
|
31540
32214
|
if suggest:
|
31541
32215
|
pulumi.log.warn(f"Key '{key}' not found in SecurityPolicyRuleRateLimitOptions. Access the value via the '{suggest}' property getter instead.")
|
@@ -31549,90 +32223,73 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
31549
32223
|
return super().get(key, default)
|
31550
32224
|
|
31551
32225
|
def __init__(__self__, *,
|
31552
|
-
conform_action: str,
|
31553
|
-
exceed_action: str,
|
31554
|
-
rate_limit_threshold: 'outputs.SecurityPolicyRuleRateLimitOptionsRateLimitThreshold',
|
31555
32226
|
ban_duration_sec: Optional[int] = None,
|
31556
32227
|
ban_threshold: Optional['outputs.SecurityPolicyRuleRateLimitOptionsBanThreshold'] = None,
|
32228
|
+
conform_action: Optional[str] = None,
|
31557
32229
|
enforce_on_key: Optional[str] = None,
|
31558
32230
|
enforce_on_key_configs: Optional[Sequence['outputs.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig']] = None,
|
31559
32231
|
enforce_on_key_name: Optional[str] = None,
|
31560
|
-
|
32232
|
+
exceed_action: Optional[str] = None,
|
32233
|
+
exceed_redirect_options: Optional['outputs.SecurityPolicyRuleRateLimitOptionsExceedRedirectOptions'] = None,
|
32234
|
+
rate_limit_threshold: Optional['outputs.SecurityPolicyRuleRateLimitOptionsRateLimitThreshold'] = None):
|
31561
32235
|
"""
|
31562
|
-
:param
|
31563
|
-
:param str exceed_action: When a request is denied, returns the HTTP response code specified.
|
31564
|
-
Valid options are `deny()` where valid values for status are 403, 404, 429, and 502.
|
31565
|
-
:param 'SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs' rate_limit_threshold: Threshold at which to begin ratelimiting. Structure is documented below.
|
31566
|
-
:param int ban_duration_sec: Can only be specified if the `action` for the rule is `rate_based_ban`.
|
32236
|
+
:param int ban_duration_sec: Can only be specified if the action for the rule is "rate_based_ban".
|
31567
32237
|
If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
|
31568
|
-
:param 'SecurityPolicyRuleRateLimitOptionsBanThresholdArgs' ban_threshold: Can only be specified if the
|
31569
|
-
If specified, the key will be banned for the configured
|
31570
|
-
|
31571
|
-
:param str
|
31572
|
-
|
31573
|
-
|
31574
|
-
*
|
31575
|
-
*
|
31576
|
-
*
|
31577
|
-
*
|
31578
|
-
*
|
31579
|
-
*
|
31580
|
-
*
|
31581
|
-
|
31582
|
-
|
31583
|
-
|
32238
|
+
:param 'SecurityPolicyRuleRateLimitOptionsBanThresholdArgs' ban_threshold: Can only be specified if the action for the rule is "rate_based_ban".
|
32239
|
+
If specified, the key will be banned for the configured 'banDurationSec' when the number of requests that exceed the 'rateLimitThreshold' also exceed this 'banThreshold'.
|
32240
|
+
Structure is documented below.
|
32241
|
+
:param str conform_action: Action to take for requests that are under the configured rate limit threshold.
|
32242
|
+
Valid option is "allow" only.
|
32243
|
+
:param str enforce_on_key: Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
32244
|
+
* ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured.
|
32245
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
32246
|
+
* HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL.
|
32247
|
+
* XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP.
|
32248
|
+
* HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL.
|
32249
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
32250
|
+
* SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
|
32251
|
+
* REGION_CODE: The country/region from which the request originates.
|
32252
|
+
* TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
|
32253
|
+
* USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
|
32254
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
32255
|
+
:param Sequence['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs'] enforce_on_key_configs: If specified, any combination of values of enforceOnKeyType/enforceOnKeyName is treated as the key on which ratelimit threshold/action is enforced.
|
32256
|
+
You can specify up to 3 enforceOnKeyConfigs.
|
32257
|
+
If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
|
32258
|
+
Structure is documented below.
|
31584
32259
|
:param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
31585
|
-
|
31586
|
-
|
31587
|
-
|
31588
|
-
|
32260
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
32261
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
32262
|
+
:param str exceed_action: Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint.
|
32263
|
+
Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502.
|
32264
|
+
:param 'SecurityPolicyRuleRateLimitOptionsExceedRedirectOptionsArgs' exceed_redirect_options: Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
|
32265
|
+
Structure is documented below.
|
32266
|
+
:param 'SecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs' rate_limit_threshold: Threshold at which to begin ratelimiting.
|
32267
|
+
Structure is documented below.
|
31589
32268
|
"""
|
31590
|
-
pulumi.set(__self__, "conform_action", conform_action)
|
31591
|
-
pulumi.set(__self__, "exceed_action", exceed_action)
|
31592
|
-
pulumi.set(__self__, "rate_limit_threshold", rate_limit_threshold)
|
31593
32269
|
if ban_duration_sec is not None:
|
31594
32270
|
pulumi.set(__self__, "ban_duration_sec", ban_duration_sec)
|
31595
32271
|
if ban_threshold is not None:
|
31596
32272
|
pulumi.set(__self__, "ban_threshold", ban_threshold)
|
32273
|
+
if conform_action is not None:
|
32274
|
+
pulumi.set(__self__, "conform_action", conform_action)
|
31597
32275
|
if enforce_on_key is not None:
|
31598
32276
|
pulumi.set(__self__, "enforce_on_key", enforce_on_key)
|
31599
32277
|
if enforce_on_key_configs is not None:
|
31600
32278
|
pulumi.set(__self__, "enforce_on_key_configs", enforce_on_key_configs)
|
31601
32279
|
if enforce_on_key_name is not None:
|
31602
32280
|
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
32281
|
+
if exceed_action is not None:
|
32282
|
+
pulumi.set(__self__, "exceed_action", exceed_action)
|
31603
32283
|
if exceed_redirect_options is not None:
|
31604
32284
|
pulumi.set(__self__, "exceed_redirect_options", exceed_redirect_options)
|
31605
|
-
|
31606
|
-
|
31607
|
-
@pulumi.getter(name="conformAction")
|
31608
|
-
def conform_action(self) -> str:
|
31609
|
-
"""
|
31610
|
-
Action to take for requests that are under the configured rate limit threshold. Valid option is `allow` only.
|
31611
|
-
"""
|
31612
|
-
return pulumi.get(self, "conform_action")
|
31613
|
-
|
31614
|
-
@property
|
31615
|
-
@pulumi.getter(name="exceedAction")
|
31616
|
-
def exceed_action(self) -> str:
|
31617
|
-
"""
|
31618
|
-
When a request is denied, returns the HTTP response code specified.
|
31619
|
-
Valid options are `deny()` where valid values for status are 403, 404, 429, and 502.
|
31620
|
-
"""
|
31621
|
-
return pulumi.get(self, "exceed_action")
|
31622
|
-
|
31623
|
-
@property
|
31624
|
-
@pulumi.getter(name="rateLimitThreshold")
|
31625
|
-
def rate_limit_threshold(self) -> 'outputs.SecurityPolicyRuleRateLimitOptionsRateLimitThreshold':
|
31626
|
-
"""
|
31627
|
-
Threshold at which to begin ratelimiting. Structure is documented below.
|
31628
|
-
"""
|
31629
|
-
return pulumi.get(self, "rate_limit_threshold")
|
32285
|
+
if rate_limit_threshold is not None:
|
32286
|
+
pulumi.set(__self__, "rate_limit_threshold", rate_limit_threshold)
|
31630
32287
|
|
31631
32288
|
@property
|
31632
32289
|
@pulumi.getter(name="banDurationSec")
|
31633
32290
|
def ban_duration_sec(self) -> Optional[int]:
|
31634
32291
|
"""
|
31635
|
-
Can only be specified if the
|
32292
|
+
Can only be specified if the action for the rule is "rate_based_ban".
|
31636
32293
|
If specified, determines the time (in seconds) the traffic will continue to be banned by the rate limit after the rate falls below the threshold.
|
31637
32294
|
"""
|
31638
32295
|
return pulumi.get(self, "ban_duration_sec")
|
@@ -31641,26 +32298,37 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
31641
32298
|
@pulumi.getter(name="banThreshold")
|
31642
32299
|
def ban_threshold(self) -> Optional['outputs.SecurityPolicyRuleRateLimitOptionsBanThreshold']:
|
31643
32300
|
"""
|
31644
|
-
Can only be specified if the
|
31645
|
-
If specified, the key will be banned for the configured
|
31646
|
-
|
32301
|
+
Can only be specified if the action for the rule is "rate_based_ban".
|
32302
|
+
If specified, the key will be banned for the configured 'banDurationSec' when the number of requests that exceed the 'rateLimitThreshold' also exceed this 'banThreshold'.
|
32303
|
+
Structure is documented below.
|
31647
32304
|
"""
|
31648
32305
|
return pulumi.get(self, "ban_threshold")
|
31649
32306
|
|
32307
|
+
@property
|
32308
|
+
@pulumi.getter(name="conformAction")
|
32309
|
+
def conform_action(self) -> Optional[str]:
|
32310
|
+
"""
|
32311
|
+
Action to take for requests that are under the configured rate limit threshold.
|
32312
|
+
Valid option is "allow" only.
|
32313
|
+
"""
|
32314
|
+
return pulumi.get(self, "conform_action")
|
32315
|
+
|
31650
32316
|
@property
|
31651
32317
|
@pulumi.getter(name="enforceOnKey")
|
31652
32318
|
def enforce_on_key(self) -> Optional[str]:
|
31653
32319
|
"""
|
31654
|
-
Determines the key to enforce the
|
31655
|
-
|
31656
|
-
*
|
31657
|
-
*
|
31658
|
-
*
|
31659
|
-
*
|
31660
|
-
*
|
31661
|
-
*
|
31662
|
-
*
|
31663
|
-
*
|
32320
|
+
Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
32321
|
+
* ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKey" is not configured.
|
32322
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
32323
|
+
* HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL.
|
32324
|
+
* XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP.
|
32325
|
+
* HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL.
|
32326
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
32327
|
+
* SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
|
32328
|
+
* REGION_CODE: The country/region from which the request originates.
|
32329
|
+
* TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
|
32330
|
+
* USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
|
32331
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
31664
32332
|
"""
|
31665
32333
|
return pulumi.get(self, "enforce_on_key")
|
31666
32334
|
|
@@ -31668,9 +32336,10 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
31668
32336
|
@pulumi.getter(name="enforceOnKeyConfigs")
|
31669
32337
|
def enforce_on_key_configs(self) -> Optional[Sequence['outputs.SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig']]:
|
31670
32338
|
"""
|
31671
|
-
If specified, any combination of values of
|
31672
|
-
|
31673
|
-
|
32339
|
+
If specified, any combination of values of enforceOnKeyType/enforceOnKeyName is treated as the key on which ratelimit threshold/action is enforced.
|
32340
|
+
You can specify up to 3 enforceOnKeyConfigs.
|
32341
|
+
If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
|
32342
|
+
Structure is documented below.
|
31674
32343
|
"""
|
31675
32344
|
return pulumi.get(self, "enforce_on_key_configs")
|
31676
32345
|
|
@@ -31679,20 +32348,38 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
31679
32348
|
def enforce_on_key_name(self) -> Optional[str]:
|
31680
32349
|
"""
|
31681
32350
|
Rate limit key name applicable only for the following key types:
|
31682
|
-
|
31683
|
-
|
31684
|
-
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
32351
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
32352
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
31685
32353
|
"""
|
31686
32354
|
return pulumi.get(self, "enforce_on_key_name")
|
31687
32355
|
|
32356
|
+
@property
|
32357
|
+
@pulumi.getter(name="exceedAction")
|
32358
|
+
def exceed_action(self) -> Optional[str]:
|
32359
|
+
"""
|
32360
|
+
Action to take for requests that are above the configured rate limit threshold, to either deny with a specified HTTP response code, or redirect to a different endpoint.
|
32361
|
+
Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502.
|
32362
|
+
"""
|
32363
|
+
return pulumi.get(self, "exceed_action")
|
32364
|
+
|
31688
32365
|
@property
|
31689
32366
|
@pulumi.getter(name="exceedRedirectOptions")
|
31690
32367
|
def exceed_redirect_options(self) -> Optional['outputs.SecurityPolicyRuleRateLimitOptionsExceedRedirectOptions']:
|
31691
32368
|
"""
|
31692
|
-
Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect.
|
32369
|
+
Parameters defining the redirect action that is used as the exceed action. Cannot be specified if the exceed action is not redirect. This field is only supported in Global Security Policies of type CLOUD_ARMOR.
|
32370
|
+
Structure is documented below.
|
31693
32371
|
"""
|
31694
32372
|
return pulumi.get(self, "exceed_redirect_options")
|
31695
32373
|
|
32374
|
+
@property
|
32375
|
+
@pulumi.getter(name="rateLimitThreshold")
|
32376
|
+
def rate_limit_threshold(self) -> Optional['outputs.SecurityPolicyRuleRateLimitOptionsRateLimitThreshold']:
|
32377
|
+
"""
|
32378
|
+
Threshold at which to begin ratelimiting.
|
32379
|
+
Structure is documented below.
|
32380
|
+
"""
|
32381
|
+
return pulumi.get(self, "rate_limit_threshold")
|
32382
|
+
|
31696
32383
|
|
31697
32384
|
@pulumi.output_type
|
31698
32385
|
class SecurityPolicyRuleRateLimitOptionsBanThreshold(dict):
|
@@ -31714,18 +32401,20 @@ class SecurityPolicyRuleRateLimitOptionsBanThreshold(dict):
|
|
31714
32401
|
return super().get(key, default)
|
31715
32402
|
|
31716
32403
|
def __init__(__self__, *,
|
31717
|
-
count: int,
|
31718
|
-
interval_sec: int):
|
32404
|
+
count: Optional[int] = None,
|
32405
|
+
interval_sec: Optional[int] = None):
|
31719
32406
|
"""
|
31720
32407
|
:param int count: Number of HTTP(S) requests for calculating the threshold.
|
31721
32408
|
:param int interval_sec: Interval over which the threshold is computed.
|
31722
32409
|
"""
|
31723
|
-
|
31724
|
-
|
32410
|
+
if count is not None:
|
32411
|
+
pulumi.set(__self__, "count", count)
|
32412
|
+
if interval_sec is not None:
|
32413
|
+
pulumi.set(__self__, "interval_sec", interval_sec)
|
31725
32414
|
|
31726
32415
|
@property
|
31727
32416
|
@pulumi.getter
|
31728
|
-
def count(self) -> int:
|
32417
|
+
def count(self) -> Optional[int]:
|
31729
32418
|
"""
|
31730
32419
|
Number of HTTP(S) requests for calculating the threshold.
|
31731
32420
|
"""
|
@@ -31733,7 +32422,7 @@ class SecurityPolicyRuleRateLimitOptionsBanThreshold(dict):
|
|
31733
32422
|
|
31734
32423
|
@property
|
31735
32424
|
@pulumi.getter(name="intervalSec")
|
31736
|
-
def interval_sec(self) -> int:
|
32425
|
+
def interval_sec(self) -> Optional[int]:
|
31737
32426
|
"""
|
31738
32427
|
Interval over which the threshold is computed.
|
31739
32428
|
"""
|
@@ -31766,19 +32455,20 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
31766
32455
|
enforce_on_key_type: Optional[str] = None):
|
31767
32456
|
"""
|
31768
32457
|
:param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
31769
|
-
|
31770
|
-
|
31771
|
-
|
31772
|
-
|
31773
|
-
|
31774
|
-
*
|
31775
|
-
*
|
31776
|
-
*
|
31777
|
-
*
|
31778
|
-
*
|
31779
|
-
*
|
31780
|
-
*
|
31781
|
-
*
|
32458
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
32459
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
32460
|
+
:param str enforce_on_key_type: Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
32461
|
+
* ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured.
|
32462
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
32463
|
+
* HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL.
|
32464
|
+
* XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP.
|
32465
|
+
* HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL.
|
32466
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
32467
|
+
* SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
|
32468
|
+
* REGION_CODE: The country/region from which the request originates.
|
32469
|
+
* TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
|
32470
|
+
* USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
|
32471
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
31782
32472
|
"""
|
31783
32473
|
if enforce_on_key_name is not None:
|
31784
32474
|
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
@@ -31790,9 +32480,8 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
31790
32480
|
def enforce_on_key_name(self) -> Optional[str]:
|
31791
32481
|
"""
|
31792
32482
|
Rate limit key name applicable only for the following key types:
|
31793
|
-
|
31794
|
-
|
31795
|
-
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
32483
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
32484
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
31796
32485
|
"""
|
31797
32486
|
return pulumi.get(self, "enforce_on_key_name")
|
31798
32487
|
|
@@ -31800,16 +32489,18 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
31800
32489
|
@pulumi.getter(name="enforceOnKeyType")
|
31801
32490
|
def enforce_on_key_type(self) -> Optional[str]:
|
31802
32491
|
"""
|
31803
|
-
Determines the key to enforce the
|
31804
|
-
|
31805
|
-
*
|
31806
|
-
*
|
31807
|
-
*
|
31808
|
-
*
|
31809
|
-
*
|
31810
|
-
*
|
31811
|
-
*
|
31812
|
-
*
|
32492
|
+
Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
32493
|
+
* ALL: A single rate limit threshold is applied to all the requests matching this rule. This is the default value if "enforceOnKeyConfigs" is not configured.
|
32494
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
32495
|
+
* HTTP_HEADER: The value of the HTTP header whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the header value. If no such header is present in the request, the key type defaults to ALL.
|
32496
|
+
* XFF_IP: The first IP address (i.e. the originating client IP address) specified in the list of IPs under X-Forwarded-For HTTP header. If no such header is present or the value is not a valid IP, the key defaults to the source IP address of the request i.e. key type IP.
|
32497
|
+
* HTTP_COOKIE: The value of the HTTP cookie whose name is configured under "enforceOnKeyName". The key value is truncated to the first 128 bytes of the cookie value. If no such cookie is present in the request, the key type defaults to ALL.
|
32498
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
32499
|
+
* SNI: Server name indication in the TLS session of the HTTPS request. The key value is truncated to the first 128 bytes. The key type defaults to ALL on a HTTP session.
|
32500
|
+
* REGION_CODE: The country/region from which the request originates.
|
32501
|
+
* TLS_JA3_FINGERPRINT: JA3 TLS/SSL fingerprint if the client connects using HTTPS, HTTP/2 or HTTP/3. If not available, the key type defaults to ALL.
|
32502
|
+
* USER_IP: The IP address of the originating client, which is resolved based on "userIpRequestHeaders" configured with the security policy. If there is no "userIpRequestHeaders" configuration or an IP address cannot be resolved from it, the key type defaults to IP.
|
32503
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
31813
32504
|
"""
|
31814
32505
|
return pulumi.get(self, "enforce_on_key_type")
|
31815
32506
|
|
@@ -31817,31 +32508,32 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
31817
32508
|
@pulumi.output_type
|
31818
32509
|
class SecurityPolicyRuleRateLimitOptionsExceedRedirectOptions(dict):
|
31819
32510
|
def __init__(__self__, *,
|
31820
|
-
|
31821
|
-
|
32511
|
+
target: Optional[str] = None,
|
32512
|
+
type: Optional[str] = None):
|
31822
32513
|
"""
|
32514
|
+
:param str target: Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
|
31823
32515
|
:param str type: Type of the redirect action.
|
31824
|
-
:param str target: Target for the redirect action. This is required if the type is `EXTERNAL_302` and cannot be specified for `GOOGLE_RECAPTCHA`.
|
31825
32516
|
"""
|
31826
|
-
pulumi.set(__self__, "type", type)
|
31827
32517
|
if target is not None:
|
31828
32518
|
pulumi.set(__self__, "target", target)
|
32519
|
+
if type is not None:
|
32520
|
+
pulumi.set(__self__, "type", type)
|
31829
32521
|
|
31830
32522
|
@property
|
31831
32523
|
@pulumi.getter
|
31832
|
-
def
|
32524
|
+
def target(self) -> Optional[str]:
|
31833
32525
|
"""
|
31834
|
-
|
32526
|
+
Target for the redirect action. This is required if the type is EXTERNAL_302 and cannot be specified for GOOGLE_RECAPTCHA.
|
31835
32527
|
"""
|
31836
|
-
return pulumi.get(self, "
|
32528
|
+
return pulumi.get(self, "target")
|
31837
32529
|
|
31838
32530
|
@property
|
31839
32531
|
@pulumi.getter
|
31840
|
-
def
|
32532
|
+
def type(self) -> Optional[str]:
|
31841
32533
|
"""
|
31842
|
-
|
32534
|
+
Type of the redirect action.
|
31843
32535
|
"""
|
31844
|
-
return pulumi.get(self, "
|
32536
|
+
return pulumi.get(self, "type")
|
31845
32537
|
|
31846
32538
|
|
31847
32539
|
@pulumi.output_type
|
@@ -31864,18 +32556,20 @@ class SecurityPolicyRuleRateLimitOptionsRateLimitThreshold(dict):
|
|
31864
32556
|
return super().get(key, default)
|
31865
32557
|
|
31866
32558
|
def __init__(__self__, *,
|
31867
|
-
count: int,
|
31868
|
-
interval_sec: int):
|
32559
|
+
count: Optional[int] = None,
|
32560
|
+
interval_sec: Optional[int] = None):
|
31869
32561
|
"""
|
31870
32562
|
:param int count: Number of HTTP(S) requests for calculating the threshold.
|
31871
32563
|
:param int interval_sec: Interval over which the threshold is computed.
|
31872
32564
|
"""
|
31873
|
-
|
31874
|
-
|
32565
|
+
if count is not None:
|
32566
|
+
pulumi.set(__self__, "count", count)
|
32567
|
+
if interval_sec is not None:
|
32568
|
+
pulumi.set(__self__, "interval_sec", interval_sec)
|
31875
32569
|
|
31876
32570
|
@property
|
31877
32571
|
@pulumi.getter
|
31878
|
-
def count(self) -> int:
|
32572
|
+
def count(self) -> Optional[int]:
|
31879
32573
|
"""
|
31880
32574
|
Number of HTTP(S) requests for calculating the threshold.
|
31881
32575
|
"""
|
@@ -31883,7 +32577,7 @@ class SecurityPolicyRuleRateLimitOptionsRateLimitThreshold(dict):
|
|
31883
32577
|
|
31884
32578
|
@property
|
31885
32579
|
@pulumi.getter(name="intervalSec")
|
31886
|
-
def interval_sec(self) -> int:
|
32580
|
+
def interval_sec(self) -> Optional[int]:
|
31887
32581
|
"""
|
31888
32582
|
Interval over which the threshold is computed.
|
31889
32583
|
"""
|
@@ -44223,6 +44917,7 @@ class GetInstanceSchedulingResult(dict):
|
|
44223
44917
|
min_node_cpus: int,
|
44224
44918
|
node_affinities: Sequence['outputs.GetInstanceSchedulingNodeAffinityResult'],
|
44225
44919
|
on_host_maintenance: str,
|
44920
|
+
on_instance_stop_actions: Sequence['outputs.GetInstanceSchedulingOnInstanceStopActionResult'],
|
44226
44921
|
preemptible: bool,
|
44227
44922
|
provisioning_model: str):
|
44228
44923
|
"""
|
@@ -44239,6 +44934,7 @@ class GetInstanceSchedulingResult(dict):
|
|
44239
44934
|
:param str on_host_maintenance: Describes maintenance behavior for the
|
44240
44935
|
instance. One of `MIGRATE` or `TERMINATE`, for more info, read
|
44241
44936
|
[here](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options)
|
44937
|
+
:param Sequence['GetInstanceSchedulingOnInstanceStopActionArgs'] on_instance_stop_actions: Defines the behaviour for instances with the instance_termination_action.
|
44242
44938
|
:param bool preemptible: Whether the instance is preemptible.
|
44243
44939
|
:param str provisioning_model: Describe the type of preemptible VM.
|
44244
44940
|
"""
|
@@ -44250,6 +44946,7 @@ class GetInstanceSchedulingResult(dict):
|
|
44250
44946
|
pulumi.set(__self__, "min_node_cpus", min_node_cpus)
|
44251
44947
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
44252
44948
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
44949
|
+
pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
|
44253
44950
|
pulumi.set(__self__, "preemptible", preemptible)
|
44254
44951
|
pulumi.set(__self__, "provisioning_model", provisioning_model)
|
44255
44952
|
|
@@ -44320,6 +45017,14 @@ class GetInstanceSchedulingResult(dict):
|
|
44320
45017
|
"""
|
44321
45018
|
return pulumi.get(self, "on_host_maintenance")
|
44322
45019
|
|
45020
|
+
@property
|
45021
|
+
@pulumi.getter(name="onInstanceStopActions")
|
45022
|
+
def on_instance_stop_actions(self) -> Sequence['outputs.GetInstanceSchedulingOnInstanceStopActionResult']:
|
45023
|
+
"""
|
45024
|
+
Defines the behaviour for instances with the instance_termination_action.
|
45025
|
+
"""
|
45026
|
+
return pulumi.get(self, "on_instance_stop_actions")
|
45027
|
+
|
44323
45028
|
@property
|
44324
45029
|
@pulumi.getter
|
44325
45030
|
def preemptible(self) -> bool:
|
@@ -44437,6 +45142,24 @@ class GetInstanceSchedulingNodeAffinityResult(dict):
|
|
44437
45142
|
return pulumi.get(self, "values")
|
44438
45143
|
|
44439
45144
|
|
45145
|
+
@pulumi.output_type
|
45146
|
+
class GetInstanceSchedulingOnInstanceStopActionResult(dict):
|
45147
|
+
def __init__(__self__, *,
|
45148
|
+
discard_local_ssd: bool):
|
45149
|
+
"""
|
45150
|
+
:param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
|
45151
|
+
"""
|
45152
|
+
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
45153
|
+
|
45154
|
+
@property
|
45155
|
+
@pulumi.getter(name="discardLocalSsd")
|
45156
|
+
def discard_local_ssd(self) -> bool:
|
45157
|
+
"""
|
45158
|
+
If true, the contents of any attached Local SSD disks will be discarded.
|
45159
|
+
"""
|
45160
|
+
return pulumi.get(self, "discard_local_ssd")
|
45161
|
+
|
45162
|
+
|
44440
45163
|
@pulumi.output_type
|
44441
45164
|
class GetInstanceScratchDiskResult(dict):
|
44442
45165
|
def __init__(__self__, *,
|
@@ -45456,6 +46179,7 @@ class GetInstanceTemplateSchedulingResult(dict):
|
|
45456
46179
|
min_node_cpus: int,
|
45457
46180
|
node_affinities: Sequence['outputs.GetInstanceTemplateSchedulingNodeAffinityResult'],
|
45458
46181
|
on_host_maintenance: str,
|
46182
|
+
on_instance_stop_actions: Sequence['outputs.GetInstanceTemplateSchedulingOnInstanceStopActionResult'],
|
45459
46183
|
preemptible: bool,
|
45460
46184
|
provisioning_model: str):
|
45461
46185
|
"""
|
@@ -45477,6 +46201,7 @@ class GetInstanceTemplateSchedulingResult(dict):
|
|
45477
46201
|
Structure documented below.
|
45478
46202
|
:param str on_host_maintenance: Defines the maintenance behavior for this
|
45479
46203
|
instance.
|
46204
|
+
:param Sequence['GetInstanceTemplateSchedulingOnInstanceStopActionArgs'] on_instance_stop_actions: Defines the behaviour for instances with the instance_termination_action.
|
45480
46205
|
:param bool preemptible: Allows instance to be preempted. This defaults to
|
45481
46206
|
false. Read more on this
|
45482
46207
|
[here](https://cloud.google.com/compute/docs/instances/preemptible).
|
@@ -45490,6 +46215,7 @@ class GetInstanceTemplateSchedulingResult(dict):
|
|
45490
46215
|
pulumi.set(__self__, "min_node_cpus", min_node_cpus)
|
45491
46216
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
45492
46217
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
46218
|
+
pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
|
45493
46219
|
pulumi.set(__self__, "preemptible", preemptible)
|
45494
46220
|
pulumi.set(__self__, "provisioning_model", provisioning_model)
|
45495
46221
|
|
@@ -45567,6 +46293,14 @@ class GetInstanceTemplateSchedulingResult(dict):
|
|
45567
46293
|
"""
|
45568
46294
|
return pulumi.get(self, "on_host_maintenance")
|
45569
46295
|
|
46296
|
+
@property
|
46297
|
+
@pulumi.getter(name="onInstanceStopActions")
|
46298
|
+
def on_instance_stop_actions(self) -> Sequence['outputs.GetInstanceTemplateSchedulingOnInstanceStopActionResult']:
|
46299
|
+
"""
|
46300
|
+
Defines the behaviour for instances with the instance_termination_action.
|
46301
|
+
"""
|
46302
|
+
return pulumi.get(self, "on_instance_stop_actions")
|
46303
|
+
|
45570
46304
|
@property
|
45571
46305
|
@pulumi.getter
|
45572
46306
|
def preemptible(self) -> bool:
|
@@ -45698,6 +46432,24 @@ class GetInstanceTemplateSchedulingNodeAffinityResult(dict):
|
|
45698
46432
|
return pulumi.get(self, "values")
|
45699
46433
|
|
45700
46434
|
|
46435
|
+
@pulumi.output_type
|
46436
|
+
class GetInstanceTemplateSchedulingOnInstanceStopActionResult(dict):
|
46437
|
+
def __init__(__self__, *,
|
46438
|
+
discard_local_ssd: bool):
|
46439
|
+
"""
|
46440
|
+
:param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
|
46441
|
+
"""
|
46442
|
+
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
46443
|
+
|
46444
|
+
@property
|
46445
|
+
@pulumi.getter(name="discardLocalSsd")
|
46446
|
+
def discard_local_ssd(self) -> bool:
|
46447
|
+
"""
|
46448
|
+
If true, the contents of any attached Local SSD disks will be discarded.
|
46449
|
+
"""
|
46450
|
+
return pulumi.get(self, "discard_local_ssd")
|
46451
|
+
|
46452
|
+
|
45701
46453
|
@pulumi.output_type
|
45702
46454
|
class GetInstanceTemplateServiceAccountResult(dict):
|
45703
46455
|
def __init__(__self__, *,
|
@@ -47064,6 +47816,7 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
|
|
47064
47816
|
min_node_cpus: int,
|
47065
47817
|
node_affinities: Sequence['outputs.GetRegionInstanceTemplateSchedulingNodeAffinityResult'],
|
47066
47818
|
on_host_maintenance: str,
|
47819
|
+
on_instance_stop_actions: Sequence['outputs.GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult'],
|
47067
47820
|
preemptible: bool,
|
47068
47821
|
provisioning_model: str):
|
47069
47822
|
"""
|
@@ -47085,6 +47838,7 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
|
|
47085
47838
|
Structure documented below.
|
47086
47839
|
:param str on_host_maintenance: Defines the maintenance behavior for this
|
47087
47840
|
instance.
|
47841
|
+
:param Sequence['GetRegionInstanceTemplateSchedulingOnInstanceStopActionArgs'] on_instance_stop_actions: Defines the behaviour for instances with the instance_termination_action.
|
47088
47842
|
:param bool preemptible: Allows instance to be preempted. This defaults to
|
47089
47843
|
false. Read more on this
|
47090
47844
|
[here](https://cloud.google.com/compute/docs/instances/preemptible).
|
@@ -47098,6 +47852,7 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
|
|
47098
47852
|
pulumi.set(__self__, "min_node_cpus", min_node_cpus)
|
47099
47853
|
pulumi.set(__self__, "node_affinities", node_affinities)
|
47100
47854
|
pulumi.set(__self__, "on_host_maintenance", on_host_maintenance)
|
47855
|
+
pulumi.set(__self__, "on_instance_stop_actions", on_instance_stop_actions)
|
47101
47856
|
pulumi.set(__self__, "preemptible", preemptible)
|
47102
47857
|
pulumi.set(__self__, "provisioning_model", provisioning_model)
|
47103
47858
|
|
@@ -47175,6 +47930,14 @@ class GetRegionInstanceTemplateSchedulingResult(dict):
|
|
47175
47930
|
"""
|
47176
47931
|
return pulumi.get(self, "on_host_maintenance")
|
47177
47932
|
|
47933
|
+
@property
|
47934
|
+
@pulumi.getter(name="onInstanceStopActions")
|
47935
|
+
def on_instance_stop_actions(self) -> Sequence['outputs.GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult']:
|
47936
|
+
"""
|
47937
|
+
Defines the behaviour for instances with the instance_termination_action.
|
47938
|
+
"""
|
47939
|
+
return pulumi.get(self, "on_instance_stop_actions")
|
47940
|
+
|
47178
47941
|
@property
|
47179
47942
|
@pulumi.getter
|
47180
47943
|
def preemptible(self) -> bool:
|
@@ -47306,6 +48069,24 @@ class GetRegionInstanceTemplateSchedulingNodeAffinityResult(dict):
|
|
47306
48069
|
return pulumi.get(self, "values")
|
47307
48070
|
|
47308
48071
|
|
48072
|
+
@pulumi.output_type
|
48073
|
+
class GetRegionInstanceTemplateSchedulingOnInstanceStopActionResult(dict):
|
48074
|
+
def __init__(__self__, *,
|
48075
|
+
discard_local_ssd: bool):
|
48076
|
+
"""
|
48077
|
+
:param bool discard_local_ssd: If true, the contents of any attached Local SSD disks will be discarded.
|
48078
|
+
"""
|
48079
|
+
pulumi.set(__self__, "discard_local_ssd", discard_local_ssd)
|
48080
|
+
|
48081
|
+
@property
|
48082
|
+
@pulumi.getter(name="discardLocalSsd")
|
48083
|
+
def discard_local_ssd(self) -> bool:
|
48084
|
+
"""
|
48085
|
+
If true, the contents of any attached Local SSD disks will be discarded.
|
48086
|
+
"""
|
48087
|
+
return pulumi.get(self, "discard_local_ssd")
|
48088
|
+
|
48089
|
+
|
47309
48090
|
@pulumi.output_type
|
47310
48091
|
class GetRegionInstanceTemplateServiceAccountResult(dict):
|
47311
48092
|
def __init__(__self__, *,
|
@@ -49290,3 +50071,83 @@ class GetSubnetworkSecondaryIpRangeResult(dict):
|
|
49290
50071
|
return pulumi.get(self, "range_name")
|
49291
50072
|
|
49292
50073
|
|
50074
|
+
@pulumi.output_type
|
50075
|
+
class GetSubnetworksSubnetworkResult(dict):
|
50076
|
+
def __init__(__self__, *,
|
50077
|
+
description: str,
|
50078
|
+
ip_cidr_range: str,
|
50079
|
+
name: str,
|
50080
|
+
network: str,
|
50081
|
+
network_self_link: str,
|
50082
|
+
private_ip_google_access: bool,
|
50083
|
+
self_link: str):
|
50084
|
+
"""
|
50085
|
+
:param str description: Description of the subnetwork.
|
50086
|
+
:param str ip_cidr_range: The IP address range represented as a CIDR block.
|
50087
|
+
:param str name: The name of the subnetwork.
|
50088
|
+
:param str network: The self link of the parent network.
|
50089
|
+
:param bool private_ip_google_access: Whether the VMs in the subnet can access Google services without assigned external IP addresses.
|
50090
|
+
:param str self_link: The self link of the subnetwork.
|
50091
|
+
"""
|
50092
|
+
pulumi.set(__self__, "description", description)
|
50093
|
+
pulumi.set(__self__, "ip_cidr_range", ip_cidr_range)
|
50094
|
+
pulumi.set(__self__, "name", name)
|
50095
|
+
pulumi.set(__self__, "network", network)
|
50096
|
+
pulumi.set(__self__, "network_self_link", network_self_link)
|
50097
|
+
pulumi.set(__self__, "private_ip_google_access", private_ip_google_access)
|
50098
|
+
pulumi.set(__self__, "self_link", self_link)
|
50099
|
+
|
50100
|
+
@property
|
50101
|
+
@pulumi.getter
|
50102
|
+
def description(self) -> str:
|
50103
|
+
"""
|
50104
|
+
Description of the subnetwork.
|
50105
|
+
"""
|
50106
|
+
return pulumi.get(self, "description")
|
50107
|
+
|
50108
|
+
@property
|
50109
|
+
@pulumi.getter(name="ipCidrRange")
|
50110
|
+
def ip_cidr_range(self) -> str:
|
50111
|
+
"""
|
50112
|
+
The IP address range represented as a CIDR block.
|
50113
|
+
"""
|
50114
|
+
return pulumi.get(self, "ip_cidr_range")
|
50115
|
+
|
50116
|
+
@property
|
50117
|
+
@pulumi.getter
|
50118
|
+
def name(self) -> str:
|
50119
|
+
"""
|
50120
|
+
The name of the subnetwork.
|
50121
|
+
"""
|
50122
|
+
return pulumi.get(self, "name")
|
50123
|
+
|
50124
|
+
@property
|
50125
|
+
@pulumi.getter
|
50126
|
+
def network(self) -> str:
|
50127
|
+
"""
|
50128
|
+
The self link of the parent network.
|
50129
|
+
"""
|
50130
|
+
return pulumi.get(self, "network")
|
50131
|
+
|
50132
|
+
@property
|
50133
|
+
@pulumi.getter(name="networkSelfLink")
|
50134
|
+
def network_self_link(self) -> str:
|
50135
|
+
return pulumi.get(self, "network_self_link")
|
50136
|
+
|
50137
|
+
@property
|
50138
|
+
@pulumi.getter(name="privateIpGoogleAccess")
|
50139
|
+
def private_ip_google_access(self) -> bool:
|
50140
|
+
"""
|
50141
|
+
Whether the VMs in the subnet can access Google services without assigned external IP addresses.
|
50142
|
+
"""
|
50143
|
+
return pulumi.get(self, "private_ip_google_access")
|
50144
|
+
|
50145
|
+
@property
|
50146
|
+
@pulumi.getter(name="selfLink")
|
50147
|
+
def self_link(self) -> str:
|
50148
|
+
"""
|
50149
|
+
The self link of the subnetwork.
|
50150
|
+
"""
|
50151
|
+
return pulumi.get(self, "self_link")
|
50152
|
+
|
50153
|
+
|