pulumi-gcp 7.23.0a1715695885__py3-none-any.whl → 7.24.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 +40 -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/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_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/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/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/bigquery/_inputs.py +16 -0
- 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/dataset_access.py +56 -0
- 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/outputs.py +16 -0
- pulumi_gcp/bigquery/routine.py +2 -2
- pulumi_gcp/bigquery/table.py +47 -0
- 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/__init__.py +1 -0
- pulumi_gcp/bigtable/_inputs.py +101 -0
- pulumi_gcp/bigtable/authorized_view.py +440 -0
- 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/outputs.py +119 -0
- 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/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_template.py +70 -0
- 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/cloudasset/__init__.py +1 -0
- pulumi_gcp/cloudasset/get_search_all_resources.py +197 -0
- pulumi_gcp/cloudasset/outputs.py +184 -0
- 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 +2 -2
- pulumi_gcp/clouddeploy/_inputs.py +96 -0
- pulumi_gcp/clouddeploy/custom_target_type.py +46 -0
- pulumi_gcp/clouddeploy/delivery_pipeline.py +7 -7
- pulumi_gcp/clouddeploy/outputs.py +96 -1
- pulumi_gcp/clouddeploy/target.py +54 -7
- pulumi_gcp/cloudfunctions/function.py +21 -0
- 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_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/cloudrun/iam_binding.py +12 -12
- pulumi_gcp/cloudrun/iam_member.py +12 -12
- pulumi_gcp/cloudrun/iam_policy.py +12 -12
- 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_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/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +1412 -42
- pulumi_gcp/compute/backend_service.py +315 -0
- 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/firewall_policy_rule.py +125 -10
- pulumi_gcp/compute/forwarding_rule.py +6 -6
- 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/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_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/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_firewall_policy_rule.py +125 -10
- pulumi_gcp/compute/outputs.py +1385 -0
- pulumi_gcp/compute/region_backend_service.py +315 -0
- 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_network_firewall_policy_rule.py +125 -10
- pulumi_gcp/compute/region_security_policy_rule.py +230 -1
- pulumi_gcp/compute/router_nat.py +68 -0
- pulumi_gcp/compute/router_peer.py +88 -0
- pulumi_gcp/compute/security_policy.py +49 -0
- 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/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 +4 -4
- pulumi_gcp/compute/target_pool.py +21 -21
- pulumi_gcp/container/_inputs.py +81 -5
- pulumi_gcp/container/outputs.py +109 -8
- 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 +6 -6
- 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_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/dataflow/flex_template_job.py +7 -7
- pulumi_gcp/dataflow/job.py +7 -7
- pulumi_gcp/dataloss/_inputs.py +420 -13
- pulumi_gcp/dataloss/outputs.py +439 -13
- 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_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/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/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 +190 -46
- 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 +182 -46
- pulumi_gcp/datastream/_inputs.py +1789 -820
- pulumi_gcp/datastream/connection_profile.py +163 -3
- pulumi_gcp/datastream/outputs.py +864 -5
- pulumi_gcp/datastream/stream.py +174 -0
- 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/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/firestore/field.py +4 -4
- 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 +6 -6
- 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 +4 -4
- pulumi_gcp/gkehub/namespace.py +4 -4
- 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 +4 -4
- 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/iam/_inputs.py +191 -2
- pulumi_gcp/iam/outputs.py +197 -2
- pulumi_gcp/iam/workforce_pool_provider.py +245 -0
- 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/__init__.py +1 -0
- pulumi_gcp/integrationconnectors/managed_zone.py +753 -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/netapp/storage_pool.py +7 -7
- pulumi_gcp/netapp/volume.py +4 -4
- pulumi_gcp/networkconnectivity/__init__.py +1 -0
- pulumi_gcp/networkconnectivity/regional_endpoint.py +946 -0
- pulumi_gcp/networksecurity/firewall_endpoint.py +34 -0
- pulumi_gcp/networksecurity/firewall_endpoint_association.py +24 -0
- pulumi_gcp/networksecurity/gateway_security_policy.py +4 -4
- pulumi_gcp/networksecurity/security_profile.py +16 -0
- pulumi_gcp/networksecurity/security_profile_group.py +18 -0
- pulumi_gcp/networksecurity/tls_inspection_policy.py +435 -5
- pulumi_gcp/networkservices/__init__.py +1 -0
- pulumi_gcp/networkservices/_inputs.py +254 -0
- pulumi_gcp/networkservices/lb_traffic_extension.py +1181 -0
- pulumi_gcp/networkservices/outputs.py +265 -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/_inputs.py +10 -0
- pulumi_gcp/organizations/iam_member.py +16 -16
- pulumi_gcp/organizations/iam_policy.py +16 -16
- pulumi_gcp/organizations/outputs.py +10 -0
- pulumi_gcp/orgpolicy/policy.py +2 -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/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 +4 -4
- 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_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/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/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/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/outputs.py +12 -10
- 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-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/RECORD +355 -349
- {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.23.0a1715695885.dist-info → pulumi_gcp-7.24.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/compute/outputs.py
CHANGED
@@ -182,6 +182,10 @@ __all__ = [
|
|
182
182
|
'InstanceTemplateServiceAccount',
|
183
183
|
'InstanceTemplateShieldedInstanceConfig',
|
184
184
|
'InterconnectAttachmentPrivateInterconnectInfo',
|
185
|
+
'InterconnectCircuitInfo',
|
186
|
+
'InterconnectExpectedOutage',
|
187
|
+
'InterconnectMacsec',
|
188
|
+
'InterconnectMacsecPreSharedKey',
|
185
189
|
'MachineImageIamBindingCondition',
|
186
190
|
'MachineImageIamMemberCondition',
|
187
191
|
'MachineImageMachineImageEncryptionKey',
|
@@ -310,8 +314,19 @@ __all__ = [
|
|
310
314
|
'RegionSecurityPolicyDdosProtectionConfig',
|
311
315
|
'RegionSecurityPolicyRuleMatch',
|
312
316
|
'RegionSecurityPolicyRuleMatchConfig',
|
317
|
+
'RegionSecurityPolicyRuleMatchExpr',
|
313
318
|
'RegionSecurityPolicyRuleNetworkMatch',
|
314
319
|
'RegionSecurityPolicyRuleNetworkMatchUserDefinedField',
|
320
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfig',
|
321
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigExclusion',
|
322
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCooky',
|
323
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeader',
|
324
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParam',
|
325
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUri',
|
326
|
+
'RegionSecurityPolicyRuleRateLimitOptions',
|
327
|
+
'RegionSecurityPolicyRuleRateLimitOptionsBanThreshold',
|
328
|
+
'RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig',
|
329
|
+
'RegionSecurityPolicyRuleRateLimitOptionsRateLimitThreshold',
|
315
330
|
'RegionSecurityPolicyUserDefinedField',
|
316
331
|
'RegionUrlMapDefaultRouteAction',
|
317
332
|
'RegionUrlMapDefaultRouteActionCorsPolicy',
|
@@ -3111,6 +3126,25 @@ class BackendServiceLocalityLbPolicyPolicy(dict):
|
|
3111
3126
|
Note that specifying the same policy more than once for a backend is
|
3112
3127
|
not a valid configuration and will be rejected.
|
3113
3128
|
The possible values are:
|
3129
|
+
* `ROUND_ROBIN`: This is a simple policy in which each healthy backend
|
3130
|
+
is selected in round robin order.
|
3131
|
+
* `LEAST_REQUEST`: An O(1) algorithm which selects two random healthy
|
3132
|
+
hosts and picks the host which has fewer active requests.
|
3133
|
+
* `RING_HASH`: The ring/modulo hash load balancer implements consistent
|
3134
|
+
hashing to backends. The algorithm has the property that the
|
3135
|
+
addition/removal of a host from a set of N hosts only affects
|
3136
|
+
1/N of the requests.
|
3137
|
+
* `RANDOM`: The load balancer selects a random healthy host.
|
3138
|
+
* `ORIGINAL_DESTINATION`: Backend host is selected based on the client
|
3139
|
+
connection metadata, i.e., connections are opened
|
3140
|
+
to the same address as the destination address of
|
3141
|
+
the incoming connection before the connection
|
3142
|
+
was redirected to the load balancer.
|
3143
|
+
* `MAGLEV`: used as a drop in replacement for the ring hash load balancer.
|
3144
|
+
Maglev is not as stable as ring hash but has faster table lookup
|
3145
|
+
build times and host selection times. For more information about
|
3146
|
+
Maglev, refer to https://ai.google/research/pubs/pub44824
|
3147
|
+
Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`.
|
3114
3148
|
"""
|
3115
3149
|
pulumi.set(__self__, "name", name)
|
3116
3150
|
|
@@ -3126,6 +3160,25 @@ class BackendServiceLocalityLbPolicyPolicy(dict):
|
|
3126
3160
|
Note that specifying the same policy more than once for a backend is
|
3127
3161
|
not a valid configuration and will be rejected.
|
3128
3162
|
The possible values are:
|
3163
|
+
* `ROUND_ROBIN`: This is a simple policy in which each healthy backend
|
3164
|
+
is selected in round robin order.
|
3165
|
+
* `LEAST_REQUEST`: An O(1) algorithm which selects two random healthy
|
3166
|
+
hosts and picks the host which has fewer active requests.
|
3167
|
+
* `RING_HASH`: The ring/modulo hash load balancer implements consistent
|
3168
|
+
hashing to backends. The algorithm has the property that the
|
3169
|
+
addition/removal of a host from a set of N hosts only affects
|
3170
|
+
1/N of the requests.
|
3171
|
+
* `RANDOM`: The load balancer selects a random healthy host.
|
3172
|
+
* `ORIGINAL_DESTINATION`: Backend host is selected based on the client
|
3173
|
+
connection metadata, i.e., connections are opened
|
3174
|
+
to the same address as the destination address of
|
3175
|
+
the incoming connection before the connection
|
3176
|
+
was redirected to the load balancer.
|
3177
|
+
* `MAGLEV`: used as a drop in replacement for the ring hash load balancer.
|
3178
|
+
Maglev is not as stable as ring hash but has faster table lookup
|
3179
|
+
build times and host selection times. For more information about
|
3180
|
+
Maglev, refer to https://ai.google/research/pubs/pub44824
|
3181
|
+
Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`.
|
3129
3182
|
"""
|
3130
3183
|
return pulumi.get(self, "name")
|
3131
3184
|
|
@@ -4665,6 +4718,15 @@ class HealthCheckGrpcHealthCheck(dict):
|
|
4665
4718
|
port_name are defined, port takes precedence.
|
4666
4719
|
:param str port_specification: Specifies how port is selected for health checking, can be one of the
|
4667
4720
|
following values:
|
4721
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
4722
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
4723
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
4724
|
+
network endpoint is used for health checking. For other backends, the
|
4725
|
+
port or named port specified in the Backend Service is used for health
|
4726
|
+
checking.
|
4727
|
+
If not specified, gRPC health check follows behavior specified in `port` and
|
4728
|
+
`portName` fields.
|
4729
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
4668
4730
|
"""
|
4669
4731
|
if grpc_service_name is not None:
|
4670
4732
|
pulumi.set(__self__, "grpc_service_name", grpc_service_name)
|
@@ -4712,6 +4774,15 @@ class HealthCheckGrpcHealthCheck(dict):
|
|
4712
4774
|
"""
|
4713
4775
|
Specifies how port is selected for health checking, can be one of the
|
4714
4776
|
following values:
|
4777
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
4778
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
4779
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
4780
|
+
network endpoint is used for health checking. For other backends, the
|
4781
|
+
port or named port specified in the Backend Service is used for health
|
4782
|
+
checking.
|
4783
|
+
If not specified, gRPC health check follows behavior specified in `port` and
|
4784
|
+
`portName` fields.
|
4785
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
4715
4786
|
"""
|
4716
4787
|
return pulumi.get(self, "port_specification")
|
4717
4788
|
|
@@ -4915,6 +4986,15 @@ class HealthCheckHttpHealthCheck(dict):
|
|
4915
4986
|
port_name are defined, port takes precedence.
|
4916
4987
|
:param str port_specification: Specifies how port is selected for health checking, can be one of the
|
4917
4988
|
following values:
|
4989
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
4990
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
4991
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
4992
|
+
network endpoint is used for health checking. For other backends, the
|
4993
|
+
port or named port specified in the Backend Service is used for health
|
4994
|
+
checking.
|
4995
|
+
If not specified, HTTP health check follows behavior specified in `port` and
|
4996
|
+
`portName` fields.
|
4997
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
4918
4998
|
:param str proxy_header: Specifies the type of proxy header to append before sending data to the
|
4919
4999
|
backend.
|
4920
5000
|
Default value is `NONE`.
|
@@ -4974,6 +5054,15 @@ class HealthCheckHttpHealthCheck(dict):
|
|
4974
5054
|
"""
|
4975
5055
|
Specifies how port is selected for health checking, can be one of the
|
4976
5056
|
following values:
|
5057
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5058
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5059
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5060
|
+
network endpoint is used for health checking. For other backends, the
|
5061
|
+
port or named port specified in the Backend Service is used for health
|
5062
|
+
checking.
|
5063
|
+
If not specified, HTTP health check follows behavior specified in `port` and
|
5064
|
+
`portName` fields.
|
5065
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
4977
5066
|
"""
|
4978
5067
|
return pulumi.get(self, "port_specification")
|
4979
5068
|
|
@@ -5051,6 +5140,15 @@ class HealthCheckHttpsHealthCheck(dict):
|
|
5051
5140
|
port_name are defined, port takes precedence.
|
5052
5141
|
:param str port_specification: Specifies how port is selected for health checking, can be one of the
|
5053
5142
|
following values:
|
5143
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5144
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5145
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5146
|
+
network endpoint is used for health checking. For other backends, the
|
5147
|
+
port or named port specified in the Backend Service is used for health
|
5148
|
+
checking.
|
5149
|
+
If not specified, HTTPS health check follows behavior specified in `port` and
|
5150
|
+
`portName` fields.
|
5151
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5054
5152
|
:param str proxy_header: Specifies the type of proxy header to append before sending data to the
|
5055
5153
|
backend.
|
5056
5154
|
Default value is `NONE`.
|
@@ -5110,6 +5208,15 @@ class HealthCheckHttpsHealthCheck(dict):
|
|
5110
5208
|
"""
|
5111
5209
|
Specifies how port is selected for health checking, can be one of the
|
5112
5210
|
following values:
|
5211
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5212
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5213
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5214
|
+
network endpoint is used for health checking. For other backends, the
|
5215
|
+
port or named port specified in the Backend Service is used for health
|
5216
|
+
checking.
|
5217
|
+
If not specified, HTTPS health check follows behavior specified in `port` and
|
5218
|
+
`portName` fields.
|
5219
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5113
5220
|
"""
|
5114
5221
|
return pulumi.get(self, "port_specification")
|
5115
5222
|
|
@@ -5202,6 +5309,15 @@ class HealthCheckSslHealthCheck(dict):
|
|
5202
5309
|
port_name are defined, port takes precedence.
|
5203
5310
|
:param str port_specification: Specifies how port is selected for health checking, can be one of the
|
5204
5311
|
following values:
|
5312
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5313
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5314
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5315
|
+
network endpoint is used for health checking. For other backends, the
|
5316
|
+
port or named port specified in the Backend Service is used for health
|
5317
|
+
checking.
|
5318
|
+
If not specified, HTTP2 health check follows behavior specified in `port` and
|
5319
|
+
`portName` fields.
|
5320
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5205
5321
|
:param str proxy_header: Specifies the type of proxy header to append before sending data to the
|
5206
5322
|
backend.
|
5207
5323
|
Default value is `NONE`.
|
@@ -5251,6 +5367,15 @@ class HealthCheckSslHealthCheck(dict):
|
|
5251
5367
|
"""
|
5252
5368
|
Specifies how port is selected for health checking, can be one of the
|
5253
5369
|
following values:
|
5370
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5371
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5372
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5373
|
+
network endpoint is used for health checking. For other backends, the
|
5374
|
+
port or named port specified in the Backend Service is used for health
|
5375
|
+
checking.
|
5376
|
+
If not specified, HTTP2 health check follows behavior specified in `port` and
|
5377
|
+
`portName` fields.
|
5378
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5254
5379
|
"""
|
5255
5380
|
return pulumi.get(self, "port_specification")
|
5256
5381
|
|
@@ -5324,6 +5449,15 @@ class HealthCheckTcpHealthCheck(dict):
|
|
5324
5449
|
port_name are defined, port takes precedence.
|
5325
5450
|
:param str port_specification: Specifies how port is selected for health checking, can be one of the
|
5326
5451
|
following values:
|
5452
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5453
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5454
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5455
|
+
network endpoint is used for health checking. For other backends, the
|
5456
|
+
port or named port specified in the Backend Service is used for health
|
5457
|
+
checking.
|
5458
|
+
If not specified, TCP health check follows behavior specified in `port` and
|
5459
|
+
`portName` fields.
|
5460
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5327
5461
|
:param str proxy_header: Specifies the type of proxy header to append before sending data to the
|
5328
5462
|
backend.
|
5329
5463
|
Default value is `NONE`.
|
@@ -5373,6 +5507,15 @@ class HealthCheckTcpHealthCheck(dict):
|
|
5373
5507
|
"""
|
5374
5508
|
Specifies how port is selected for health checking, can be one of the
|
5375
5509
|
following values:
|
5510
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5511
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5512
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5513
|
+
network endpoint is used for health checking. For other backends, the
|
5514
|
+
port or named port specified in the Backend Service is used for health
|
5515
|
+
checking.
|
5516
|
+
If not specified, TCP health check follows behavior specified in `port` and
|
5517
|
+
`portName` fields.
|
5518
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5376
5519
|
"""
|
5377
5520
|
return pulumi.get(self, "port_specification")
|
5378
5521
|
|
@@ -13175,6 +13318,382 @@ class InterconnectAttachmentPrivateInterconnectInfo(dict):
|
|
13175
13318
|
return pulumi.get(self, "tag8021q")
|
13176
13319
|
|
13177
13320
|
|
13321
|
+
@pulumi.output_type
|
13322
|
+
class InterconnectCircuitInfo(dict):
|
13323
|
+
@staticmethod
|
13324
|
+
def __key_warning(key: str):
|
13325
|
+
suggest = None
|
13326
|
+
if key == "customerDemarcId":
|
13327
|
+
suggest = "customer_demarc_id"
|
13328
|
+
elif key == "googleCircuitId":
|
13329
|
+
suggest = "google_circuit_id"
|
13330
|
+
elif key == "googleDemarcId":
|
13331
|
+
suggest = "google_demarc_id"
|
13332
|
+
|
13333
|
+
if suggest:
|
13334
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectCircuitInfo. Access the value via the '{suggest}' property getter instead.")
|
13335
|
+
|
13336
|
+
def __getitem__(self, key: str) -> Any:
|
13337
|
+
InterconnectCircuitInfo.__key_warning(key)
|
13338
|
+
return super().__getitem__(key)
|
13339
|
+
|
13340
|
+
def get(self, key: str, default = None) -> Any:
|
13341
|
+
InterconnectCircuitInfo.__key_warning(key)
|
13342
|
+
return super().get(key, default)
|
13343
|
+
|
13344
|
+
def __init__(__self__, *,
|
13345
|
+
customer_demarc_id: Optional[str] = None,
|
13346
|
+
google_circuit_id: Optional[str] = None,
|
13347
|
+
google_demarc_id: Optional[str] = None):
|
13348
|
+
"""
|
13349
|
+
:param str customer_demarc_id: (Output)
|
13350
|
+
Customer-side demarc ID for this circuit.
|
13351
|
+
:param str google_circuit_id: (Output)
|
13352
|
+
Google-assigned unique ID for this circuit. Assigned at circuit turn-up.
|
13353
|
+
:param str google_demarc_id: (Output)
|
13354
|
+
Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by
|
13355
|
+
Google to the customer in the LOA.
|
13356
|
+
"""
|
13357
|
+
if customer_demarc_id is not None:
|
13358
|
+
pulumi.set(__self__, "customer_demarc_id", customer_demarc_id)
|
13359
|
+
if google_circuit_id is not None:
|
13360
|
+
pulumi.set(__self__, "google_circuit_id", google_circuit_id)
|
13361
|
+
if google_demarc_id is not None:
|
13362
|
+
pulumi.set(__self__, "google_demarc_id", google_demarc_id)
|
13363
|
+
|
13364
|
+
@property
|
13365
|
+
@pulumi.getter(name="customerDemarcId")
|
13366
|
+
def customer_demarc_id(self) -> Optional[str]:
|
13367
|
+
"""
|
13368
|
+
(Output)
|
13369
|
+
Customer-side demarc ID for this circuit.
|
13370
|
+
"""
|
13371
|
+
return pulumi.get(self, "customer_demarc_id")
|
13372
|
+
|
13373
|
+
@property
|
13374
|
+
@pulumi.getter(name="googleCircuitId")
|
13375
|
+
def google_circuit_id(self) -> Optional[str]:
|
13376
|
+
"""
|
13377
|
+
(Output)
|
13378
|
+
Google-assigned unique ID for this circuit. Assigned at circuit turn-up.
|
13379
|
+
"""
|
13380
|
+
return pulumi.get(self, "google_circuit_id")
|
13381
|
+
|
13382
|
+
@property
|
13383
|
+
@pulumi.getter(name="googleDemarcId")
|
13384
|
+
def google_demarc_id(self) -> Optional[str]:
|
13385
|
+
"""
|
13386
|
+
(Output)
|
13387
|
+
Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by
|
13388
|
+
Google to the customer in the LOA.
|
13389
|
+
"""
|
13390
|
+
return pulumi.get(self, "google_demarc_id")
|
13391
|
+
|
13392
|
+
|
13393
|
+
@pulumi.output_type
|
13394
|
+
class InterconnectExpectedOutage(dict):
|
13395
|
+
@staticmethod
|
13396
|
+
def __key_warning(key: str):
|
13397
|
+
suggest = None
|
13398
|
+
if key == "affectedCircuits":
|
13399
|
+
suggest = "affected_circuits"
|
13400
|
+
elif key == "endTime":
|
13401
|
+
suggest = "end_time"
|
13402
|
+
elif key == "issueType":
|
13403
|
+
suggest = "issue_type"
|
13404
|
+
elif key == "startTime":
|
13405
|
+
suggest = "start_time"
|
13406
|
+
|
13407
|
+
if suggest:
|
13408
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectExpectedOutage. Access the value via the '{suggest}' property getter instead.")
|
13409
|
+
|
13410
|
+
def __getitem__(self, key: str) -> Any:
|
13411
|
+
InterconnectExpectedOutage.__key_warning(key)
|
13412
|
+
return super().__getitem__(key)
|
13413
|
+
|
13414
|
+
def get(self, key: str, default = None) -> Any:
|
13415
|
+
InterconnectExpectedOutage.__key_warning(key)
|
13416
|
+
return super().get(key, default)
|
13417
|
+
|
13418
|
+
def __init__(__self__, *,
|
13419
|
+
affected_circuits: Optional[Sequence[str]] = None,
|
13420
|
+
description: Optional[str] = None,
|
13421
|
+
end_time: Optional[str] = None,
|
13422
|
+
issue_type: Optional[str] = None,
|
13423
|
+
name: Optional[str] = None,
|
13424
|
+
source: Optional[str] = None,
|
13425
|
+
start_time: Optional[str] = None,
|
13426
|
+
state: Optional[str] = None):
|
13427
|
+
"""
|
13428
|
+
:param Sequence[str] affected_circuits: (Output)
|
13429
|
+
If issueType is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be
|
13430
|
+
affected.
|
13431
|
+
:param str description: An optional description of this resource. Provide this property when you create the resource.
|
13432
|
+
:param str end_time: (Output)
|
13433
|
+
Scheduled end time for the outage (milliseconds since Unix epoch).
|
13434
|
+
:param str issue_type: (Output)
|
13435
|
+
Form this outage is expected to take. Note that the versions of this enum prefixed with
|
13436
|
+
"IT_" have been deprecated in favor of the unprefixed values. Can take one of the
|
13437
|
+
following values:
|
13438
|
+
- OUTAGE: The Interconnect may be completely out of service for some or all of the
|
13439
|
+
specified window.
|
13440
|
+
- PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain
|
13441
|
+
up, but with reduced bandwidth.
|
13442
|
+
:param str name: Name of the resource. Provided by the client when the resource is created. The name must be
|
13443
|
+
1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
|
13444
|
+
long and match the regular expression `a-z?` which means the first
|
13445
|
+
character must be a lowercase letter, and all following characters must be a dash,
|
13446
|
+
lowercase letter, or digit, except the last character, which cannot be a dash.
|
13447
|
+
:param str source: (Output)
|
13448
|
+
The party that generated this notification. Note that the value of NSRC_GOOGLE has been
|
13449
|
+
deprecated in favor of GOOGLE. Can take the following value:
|
13450
|
+
- GOOGLE: this notification as generated by Google.
|
13451
|
+
:param str start_time: (Output)
|
13452
|
+
Scheduled start time for the outage (milliseconds since Unix epoch).
|
13453
|
+
:param str state: (Output)
|
13454
|
+
State of this notification. Note that the versions of this enum prefixed with "NS_" have
|
13455
|
+
been deprecated in favor of the unprefixed values. Can take one of the following values:
|
13456
|
+
- ACTIVE: This outage notification is active. The event could be in the past, present,
|
13457
|
+
or future. See startTime and endTime for scheduling.
|
13458
|
+
- CANCELLED: The outage associated with this notification was cancelled before the
|
13459
|
+
outage was due to start.
|
13460
|
+
- COMPLETED: The outage associated with this notification is complete.
|
13461
|
+
"""
|
13462
|
+
if affected_circuits is not None:
|
13463
|
+
pulumi.set(__self__, "affected_circuits", affected_circuits)
|
13464
|
+
if description is not None:
|
13465
|
+
pulumi.set(__self__, "description", description)
|
13466
|
+
if end_time is not None:
|
13467
|
+
pulumi.set(__self__, "end_time", end_time)
|
13468
|
+
if issue_type is not None:
|
13469
|
+
pulumi.set(__self__, "issue_type", issue_type)
|
13470
|
+
if name is not None:
|
13471
|
+
pulumi.set(__self__, "name", name)
|
13472
|
+
if source is not None:
|
13473
|
+
pulumi.set(__self__, "source", source)
|
13474
|
+
if start_time is not None:
|
13475
|
+
pulumi.set(__self__, "start_time", start_time)
|
13476
|
+
if state is not None:
|
13477
|
+
pulumi.set(__self__, "state", state)
|
13478
|
+
|
13479
|
+
@property
|
13480
|
+
@pulumi.getter(name="affectedCircuits")
|
13481
|
+
def affected_circuits(self) -> Optional[Sequence[str]]:
|
13482
|
+
"""
|
13483
|
+
(Output)
|
13484
|
+
If issueType is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be
|
13485
|
+
affected.
|
13486
|
+
"""
|
13487
|
+
return pulumi.get(self, "affected_circuits")
|
13488
|
+
|
13489
|
+
@property
|
13490
|
+
@pulumi.getter
|
13491
|
+
def description(self) -> Optional[str]:
|
13492
|
+
"""
|
13493
|
+
An optional description of this resource. Provide this property when you create the resource.
|
13494
|
+
"""
|
13495
|
+
return pulumi.get(self, "description")
|
13496
|
+
|
13497
|
+
@property
|
13498
|
+
@pulumi.getter(name="endTime")
|
13499
|
+
def end_time(self) -> Optional[str]:
|
13500
|
+
"""
|
13501
|
+
(Output)
|
13502
|
+
Scheduled end time for the outage (milliseconds since Unix epoch).
|
13503
|
+
"""
|
13504
|
+
return pulumi.get(self, "end_time")
|
13505
|
+
|
13506
|
+
@property
|
13507
|
+
@pulumi.getter(name="issueType")
|
13508
|
+
def issue_type(self) -> Optional[str]:
|
13509
|
+
"""
|
13510
|
+
(Output)
|
13511
|
+
Form this outage is expected to take. Note that the versions of this enum prefixed with
|
13512
|
+
"IT_" have been deprecated in favor of the unprefixed values. Can take one of the
|
13513
|
+
following values:
|
13514
|
+
- OUTAGE: The Interconnect may be completely out of service for some or all of the
|
13515
|
+
specified window.
|
13516
|
+
- PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain
|
13517
|
+
up, but with reduced bandwidth.
|
13518
|
+
"""
|
13519
|
+
return pulumi.get(self, "issue_type")
|
13520
|
+
|
13521
|
+
@property
|
13522
|
+
@pulumi.getter
|
13523
|
+
def name(self) -> Optional[str]:
|
13524
|
+
"""
|
13525
|
+
Name of the resource. Provided by the client when the resource is created. The name must be
|
13526
|
+
1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
|
13527
|
+
long and match the regular expression `a-z?` which means the first
|
13528
|
+
character must be a lowercase letter, and all following characters must be a dash,
|
13529
|
+
lowercase letter, or digit, except the last character, which cannot be a dash.
|
13530
|
+
"""
|
13531
|
+
return pulumi.get(self, "name")
|
13532
|
+
|
13533
|
+
@property
|
13534
|
+
@pulumi.getter
|
13535
|
+
def source(self) -> Optional[str]:
|
13536
|
+
"""
|
13537
|
+
(Output)
|
13538
|
+
The party that generated this notification. Note that the value of NSRC_GOOGLE has been
|
13539
|
+
deprecated in favor of GOOGLE. Can take the following value:
|
13540
|
+
- GOOGLE: this notification as generated by Google.
|
13541
|
+
"""
|
13542
|
+
return pulumi.get(self, "source")
|
13543
|
+
|
13544
|
+
@property
|
13545
|
+
@pulumi.getter(name="startTime")
|
13546
|
+
def start_time(self) -> Optional[str]:
|
13547
|
+
"""
|
13548
|
+
(Output)
|
13549
|
+
Scheduled start time for the outage (milliseconds since Unix epoch).
|
13550
|
+
"""
|
13551
|
+
return pulumi.get(self, "start_time")
|
13552
|
+
|
13553
|
+
@property
|
13554
|
+
@pulumi.getter
|
13555
|
+
def state(self) -> Optional[str]:
|
13556
|
+
"""
|
13557
|
+
(Output)
|
13558
|
+
State of this notification. Note that the versions of this enum prefixed with "NS_" have
|
13559
|
+
been deprecated in favor of the unprefixed values. Can take one of the following values:
|
13560
|
+
- ACTIVE: This outage notification is active. The event could be in the past, present,
|
13561
|
+
or future. See startTime and endTime for scheduling.
|
13562
|
+
- CANCELLED: The outage associated with this notification was cancelled before the
|
13563
|
+
outage was due to start.
|
13564
|
+
- COMPLETED: The outage associated with this notification is complete.
|
13565
|
+
"""
|
13566
|
+
return pulumi.get(self, "state")
|
13567
|
+
|
13568
|
+
|
13569
|
+
@pulumi.output_type
|
13570
|
+
class InterconnectMacsec(dict):
|
13571
|
+
@staticmethod
|
13572
|
+
def __key_warning(key: str):
|
13573
|
+
suggest = None
|
13574
|
+
if key == "preSharedKeys":
|
13575
|
+
suggest = "pre_shared_keys"
|
13576
|
+
|
13577
|
+
if suggest:
|
13578
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectMacsec. Access the value via the '{suggest}' property getter instead.")
|
13579
|
+
|
13580
|
+
def __getitem__(self, key: str) -> Any:
|
13581
|
+
InterconnectMacsec.__key_warning(key)
|
13582
|
+
return super().__getitem__(key)
|
13583
|
+
|
13584
|
+
def get(self, key: str, default = None) -> Any:
|
13585
|
+
InterconnectMacsec.__key_warning(key)
|
13586
|
+
return super().get(key, default)
|
13587
|
+
|
13588
|
+
def __init__(__self__, *,
|
13589
|
+
pre_shared_keys: Sequence['outputs.InterconnectMacsecPreSharedKey']):
|
13590
|
+
"""
|
13591
|
+
:param Sequence['InterconnectMacsecPreSharedKeyArgs'] pre_shared_keys: A keychain placeholder describing a set of named key objects along with their
|
13592
|
+
start times. A MACsec CKN/CAK is generated for each key in the key chain.
|
13593
|
+
Google router automatically picks the key with the most recent startTime when establishing
|
13594
|
+
or re-establishing a MACsec secure link.
|
13595
|
+
Structure is documented below.
|
13596
|
+
"""
|
13597
|
+
pulumi.set(__self__, "pre_shared_keys", pre_shared_keys)
|
13598
|
+
|
13599
|
+
@property
|
13600
|
+
@pulumi.getter(name="preSharedKeys")
|
13601
|
+
def pre_shared_keys(self) -> Sequence['outputs.InterconnectMacsecPreSharedKey']:
|
13602
|
+
"""
|
13603
|
+
A keychain placeholder describing a set of named key objects along with their
|
13604
|
+
start times. A MACsec CKN/CAK is generated for each key in the key chain.
|
13605
|
+
Google router automatically picks the key with the most recent startTime when establishing
|
13606
|
+
or re-establishing a MACsec secure link.
|
13607
|
+
Structure is documented below.
|
13608
|
+
"""
|
13609
|
+
return pulumi.get(self, "pre_shared_keys")
|
13610
|
+
|
13611
|
+
|
13612
|
+
@pulumi.output_type
|
13613
|
+
class InterconnectMacsecPreSharedKey(dict):
|
13614
|
+
@staticmethod
|
13615
|
+
def __key_warning(key: str):
|
13616
|
+
suggest = None
|
13617
|
+
if key == "failOpen":
|
13618
|
+
suggest = "fail_open"
|
13619
|
+
elif key == "startTime":
|
13620
|
+
suggest = "start_time"
|
13621
|
+
|
13622
|
+
if suggest:
|
13623
|
+
pulumi.log.warn(f"Key '{key}' not found in InterconnectMacsecPreSharedKey. Access the value via the '{suggest}' property getter instead.")
|
13624
|
+
|
13625
|
+
def __getitem__(self, key: str) -> Any:
|
13626
|
+
InterconnectMacsecPreSharedKey.__key_warning(key)
|
13627
|
+
return super().__getitem__(key)
|
13628
|
+
|
13629
|
+
def get(self, key: str, default = None) -> Any:
|
13630
|
+
InterconnectMacsecPreSharedKey.__key_warning(key)
|
13631
|
+
return super().get(key, default)
|
13632
|
+
|
13633
|
+
def __init__(__self__, *,
|
13634
|
+
name: str,
|
13635
|
+
fail_open: Optional[bool] = None,
|
13636
|
+
start_time: Optional[str] = None):
|
13637
|
+
"""
|
13638
|
+
:param str name: A name for this pre-shared key. The name must be 1-63 characters long, and
|
13639
|
+
comply with RFC1035. Specifically, the name must be 1-63 characters long and match
|
13640
|
+
the regular expression `a-z?` which means the first character
|
13641
|
+
must be a lowercase letter, and all following characters must be a dash, lowercase
|
13642
|
+
letter, or digit, except the last character, which cannot be a dash.
|
13643
|
+
:param bool fail_open: If set to true, the Interconnect connection is configured with a should-secure
|
13644
|
+
MACsec security policy, that allows the Google router to fallback to cleartext
|
13645
|
+
traffic if the MKA session cannot be established. By default, the Interconnect
|
13646
|
+
connection is configured with a must-secure security policy that drops all traffic
|
13647
|
+
if the MKA session cannot be established with your router.
|
13648
|
+
:param str start_time: A RFC3339 timestamp on or after which the key is valid. startTime can be in the
|
13649
|
+
future. If the keychain has a single key, startTime can be omitted. If the keychain
|
13650
|
+
has multiple keys, startTime is mandatory for each key. The start times of keys must
|
13651
|
+
be in increasing order. The start times of two consecutive keys must be at least 6
|
13652
|
+
hours apart.
|
13653
|
+
"""
|
13654
|
+
pulumi.set(__self__, "name", name)
|
13655
|
+
if fail_open is not None:
|
13656
|
+
pulumi.set(__self__, "fail_open", fail_open)
|
13657
|
+
if start_time is not None:
|
13658
|
+
pulumi.set(__self__, "start_time", start_time)
|
13659
|
+
|
13660
|
+
@property
|
13661
|
+
@pulumi.getter
|
13662
|
+
def name(self) -> str:
|
13663
|
+
"""
|
13664
|
+
A name for this pre-shared key. The name must be 1-63 characters long, and
|
13665
|
+
comply with RFC1035. Specifically, the name must be 1-63 characters long and match
|
13666
|
+
the regular expression `a-z?` which means the first character
|
13667
|
+
must be a lowercase letter, and all following characters must be a dash, lowercase
|
13668
|
+
letter, or digit, except the last character, which cannot be a dash.
|
13669
|
+
"""
|
13670
|
+
return pulumi.get(self, "name")
|
13671
|
+
|
13672
|
+
@property
|
13673
|
+
@pulumi.getter(name="failOpen")
|
13674
|
+
def fail_open(self) -> Optional[bool]:
|
13675
|
+
"""
|
13676
|
+
If set to true, the Interconnect connection is configured with a should-secure
|
13677
|
+
MACsec security policy, that allows the Google router to fallback to cleartext
|
13678
|
+
traffic if the MKA session cannot be established. By default, the Interconnect
|
13679
|
+
connection is configured with a must-secure security policy that drops all traffic
|
13680
|
+
if the MKA session cannot be established with your router.
|
13681
|
+
"""
|
13682
|
+
return pulumi.get(self, "fail_open")
|
13683
|
+
|
13684
|
+
@property
|
13685
|
+
@pulumi.getter(name="startTime")
|
13686
|
+
def start_time(self) -> Optional[str]:
|
13687
|
+
"""
|
13688
|
+
A RFC3339 timestamp on or after which the key is valid. startTime can be in the
|
13689
|
+
future. If the keychain has a single key, startTime can be omitted. If the keychain
|
13690
|
+
has multiple keys, startTime is mandatory for each key. The start times of keys must
|
13691
|
+
be in increasing order. The start times of two consecutive keys must be at least 6
|
13692
|
+
hours apart.
|
13693
|
+
"""
|
13694
|
+
return pulumi.get(self, "start_time")
|
13695
|
+
|
13696
|
+
|
13178
13697
|
@pulumi.output_type
|
13179
13698
|
class MachineImageIamBindingCondition(dict):
|
13180
13699
|
def __init__(__self__, *,
|
@@ -17787,6 +18306,15 @@ class RegionHealthCheckGrpcHealthCheck(dict):
|
|
17787
18306
|
port_name are defined, port takes precedence.
|
17788
18307
|
:param str port_specification: Specifies how port is selected for health checking, can be one of the
|
17789
18308
|
following values:
|
18309
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18310
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18311
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18312
|
+
network endpoint is used for health checking. For other backends, the
|
18313
|
+
port or named port specified in the Backend Service is used for health
|
18314
|
+
checking.
|
18315
|
+
If not specified, gRPC health check follows behavior specified in `port` and
|
18316
|
+
`portName` fields.
|
18317
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
17790
18318
|
"""
|
17791
18319
|
if grpc_service_name is not None:
|
17792
18320
|
pulumi.set(__self__, "grpc_service_name", grpc_service_name)
|
@@ -17834,6 +18362,15 @@ class RegionHealthCheckGrpcHealthCheck(dict):
|
|
17834
18362
|
"""
|
17835
18363
|
Specifies how port is selected for health checking, can be one of the
|
17836
18364
|
following values:
|
18365
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18366
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18367
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18368
|
+
network endpoint is used for health checking. For other backends, the
|
18369
|
+
port or named port specified in the Backend Service is used for health
|
18370
|
+
checking.
|
18371
|
+
If not specified, gRPC health check follows behavior specified in `port` and
|
18372
|
+
`portName` fields.
|
18373
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
17837
18374
|
"""
|
17838
18375
|
return pulumi.get(self, "port_specification")
|
17839
18376
|
|
@@ -18037,6 +18574,15 @@ class RegionHealthCheckHttpHealthCheck(dict):
|
|
18037
18574
|
port_name are defined, port takes precedence.
|
18038
18575
|
:param str port_specification: Specifies how port is selected for health checking, can be one of the
|
18039
18576
|
following values:
|
18577
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18578
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18579
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18580
|
+
network endpoint is used for health checking. For other backends, the
|
18581
|
+
port or named port specified in the Backend Service is used for health
|
18582
|
+
checking.
|
18583
|
+
If not specified, HTTP health check follows behavior specified in `port` and
|
18584
|
+
`portName` fields.
|
18585
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18040
18586
|
:param str proxy_header: Specifies the type of proxy header to append before sending data to the
|
18041
18587
|
backend.
|
18042
18588
|
Default value is `NONE`.
|
@@ -18096,6 +18642,15 @@ class RegionHealthCheckHttpHealthCheck(dict):
|
|
18096
18642
|
"""
|
18097
18643
|
Specifies how port is selected for health checking, can be one of the
|
18098
18644
|
following values:
|
18645
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18646
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18647
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18648
|
+
network endpoint is used for health checking. For other backends, the
|
18649
|
+
port or named port specified in the Backend Service is used for health
|
18650
|
+
checking.
|
18651
|
+
If not specified, HTTP health check follows behavior specified in `port` and
|
18652
|
+
`portName` fields.
|
18653
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18099
18654
|
"""
|
18100
18655
|
return pulumi.get(self, "port_specification")
|
18101
18656
|
|
@@ -18173,6 +18728,15 @@ class RegionHealthCheckHttpsHealthCheck(dict):
|
|
18173
18728
|
port_name are defined, port takes precedence.
|
18174
18729
|
:param str port_specification: Specifies how port is selected for health checking, can be one of the
|
18175
18730
|
following values:
|
18731
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18732
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18733
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18734
|
+
network endpoint is used for health checking. For other backends, the
|
18735
|
+
port or named port specified in the Backend Service is used for health
|
18736
|
+
checking.
|
18737
|
+
If not specified, HTTPS health check follows behavior specified in `port` and
|
18738
|
+
`portName` fields.
|
18739
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18176
18740
|
:param str proxy_header: Specifies the type of proxy header to append before sending data to the
|
18177
18741
|
backend.
|
18178
18742
|
Default value is `NONE`.
|
@@ -18232,6 +18796,15 @@ class RegionHealthCheckHttpsHealthCheck(dict):
|
|
18232
18796
|
"""
|
18233
18797
|
Specifies how port is selected for health checking, can be one of the
|
18234
18798
|
following values:
|
18799
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18800
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18801
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18802
|
+
network endpoint is used for health checking. For other backends, the
|
18803
|
+
port or named port specified in the Backend Service is used for health
|
18804
|
+
checking.
|
18805
|
+
If not specified, HTTPS health check follows behavior specified in `port` and
|
18806
|
+
`portName` fields.
|
18807
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18235
18808
|
"""
|
18236
18809
|
return pulumi.get(self, "port_specification")
|
18237
18810
|
|
@@ -18324,6 +18897,15 @@ class RegionHealthCheckSslHealthCheck(dict):
|
|
18324
18897
|
port_name are defined, port takes precedence.
|
18325
18898
|
:param str port_specification: Specifies how port is selected for health checking, can be one of the
|
18326
18899
|
following values:
|
18900
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18901
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18902
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18903
|
+
network endpoint is used for health checking. For other backends, the
|
18904
|
+
port or named port specified in the Backend Service is used for health
|
18905
|
+
checking.
|
18906
|
+
If not specified, HTTP2 health check follows behavior specified in `port` and
|
18907
|
+
`portName` fields.
|
18908
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18327
18909
|
:param str proxy_header: Specifies the type of proxy header to append before sending data to the
|
18328
18910
|
backend.
|
18329
18911
|
Default value is `NONE`.
|
@@ -18373,6 +18955,15 @@ class RegionHealthCheckSslHealthCheck(dict):
|
|
18373
18955
|
"""
|
18374
18956
|
Specifies how port is selected for health checking, can be one of the
|
18375
18957
|
following values:
|
18958
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18959
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18960
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18961
|
+
network endpoint is used for health checking. For other backends, the
|
18962
|
+
port or named port specified in the Backend Service is used for health
|
18963
|
+
checking.
|
18964
|
+
If not specified, HTTP2 health check follows behavior specified in `port` and
|
18965
|
+
`portName` fields.
|
18966
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18376
18967
|
"""
|
18377
18968
|
return pulumi.get(self, "port_specification")
|
18378
18969
|
|
@@ -18446,6 +19037,15 @@ class RegionHealthCheckTcpHealthCheck(dict):
|
|
18446
19037
|
port_name are defined, port takes precedence.
|
18447
19038
|
:param str port_specification: Specifies how port is selected for health checking, can be one of the
|
18448
19039
|
following values:
|
19040
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
19041
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
19042
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
19043
|
+
network endpoint is used for health checking. For other backends, the
|
19044
|
+
port or named port specified in the Backend Service is used for health
|
19045
|
+
checking.
|
19046
|
+
If not specified, TCP health check follows behavior specified in `port` and
|
19047
|
+
`portName` fields.
|
19048
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18449
19049
|
:param str proxy_header: Specifies the type of proxy header to append before sending data to the
|
18450
19050
|
backend.
|
18451
19051
|
Default value is `NONE`.
|
@@ -18495,6 +19095,15 @@ class RegionHealthCheckTcpHealthCheck(dict):
|
|
18495
19095
|
"""
|
18496
19096
|
Specifies how port is selected for health checking, can be one of the
|
18497
19097
|
following values:
|
19098
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
19099
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
19100
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
19101
|
+
network endpoint is used for health checking. For other backends, the
|
19102
|
+
port or named port specified in the Backend Service is used for health
|
19103
|
+
checking.
|
19104
|
+
If not specified, TCP health check follows behavior specified in `port` and
|
19105
|
+
`portName` fields.
|
19106
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18498
19107
|
"""
|
18499
19108
|
return pulumi.get(self, "port_specification")
|
18500
19109
|
|
@@ -22046,17 +22655,22 @@ class RegionSecurityPolicyRuleMatch(dict):
|
|
22046
22655
|
|
22047
22656
|
def __init__(__self__, *,
|
22048
22657
|
config: Optional['outputs.RegionSecurityPolicyRuleMatchConfig'] = None,
|
22658
|
+
expr: Optional['outputs.RegionSecurityPolicyRuleMatchExpr'] = None,
|
22049
22659
|
versioned_expr: Optional[str] = None):
|
22050
22660
|
"""
|
22051
22661
|
:param 'RegionSecurityPolicyRuleMatchConfigArgs' config: The configuration options available when specifying versionedExpr.
|
22052
22662
|
This field must be specified if versionedExpr is specified and cannot be specified if versionedExpr is not specified.
|
22053
22663
|
Structure is documented below.
|
22664
|
+
: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.
|
22665
|
+
Structure is documented below.
|
22054
22666
|
:param str versioned_expr: Preconfigured versioned expression. If this field is specified, config must also be specified.
|
22055
22667
|
Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding srcIpRange field in config.
|
22056
22668
|
Possible values are: `SRC_IPS_V1`.
|
22057
22669
|
"""
|
22058
22670
|
if config is not None:
|
22059
22671
|
pulumi.set(__self__, "config", config)
|
22672
|
+
if expr is not None:
|
22673
|
+
pulumi.set(__self__, "expr", expr)
|
22060
22674
|
if versioned_expr is not None:
|
22061
22675
|
pulumi.set(__self__, "versioned_expr", versioned_expr)
|
22062
22676
|
|
@@ -22070,6 +22684,15 @@ class RegionSecurityPolicyRuleMatch(dict):
|
|
22070
22684
|
"""
|
22071
22685
|
return pulumi.get(self, "config")
|
22072
22686
|
|
22687
|
+
@property
|
22688
|
+
@pulumi.getter
|
22689
|
+
def expr(self) -> Optional['outputs.RegionSecurityPolicyRuleMatchExpr']:
|
22690
|
+
"""
|
22691
|
+
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.
|
22692
|
+
Structure is documented below.
|
22693
|
+
"""
|
22694
|
+
return pulumi.get(self, "expr")
|
22695
|
+
|
22073
22696
|
@property
|
22074
22697
|
@pulumi.getter(name="versionedExpr")
|
22075
22698
|
def versioned_expr(self) -> Optional[str]:
|
@@ -22117,6 +22740,24 @@ class RegionSecurityPolicyRuleMatchConfig(dict):
|
|
22117
22740
|
return pulumi.get(self, "src_ip_ranges")
|
22118
22741
|
|
22119
22742
|
|
22743
|
+
@pulumi.output_type
|
22744
|
+
class RegionSecurityPolicyRuleMatchExpr(dict):
|
22745
|
+
def __init__(__self__, *,
|
22746
|
+
expression: str):
|
22747
|
+
"""
|
22748
|
+
: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.
|
22749
|
+
"""
|
22750
|
+
pulumi.set(__self__, "expression", expression)
|
22751
|
+
|
22752
|
+
@property
|
22753
|
+
@pulumi.getter
|
22754
|
+
def expression(self) -> str:
|
22755
|
+
"""
|
22756
|
+
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.
|
22757
|
+
"""
|
22758
|
+
return pulumi.get(self, "expression")
|
22759
|
+
|
22760
|
+
|
22120
22761
|
@pulumi.output_type
|
22121
22762
|
class RegionSecurityPolicyRuleNetworkMatch(dict):
|
22122
22763
|
@staticmethod
|
@@ -22284,6 +22925,680 @@ class RegionSecurityPolicyRuleNetworkMatchUserDefinedField(dict):
|
|
22284
22925
|
return pulumi.get(self, "values")
|
22285
22926
|
|
22286
22927
|
|
22928
|
+
@pulumi.output_type
|
22929
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfig(dict):
|
22930
|
+
def __init__(__self__, *,
|
22931
|
+
exclusions: Optional[Sequence['outputs.RegionSecurityPolicyRulePreconfiguredWafConfigExclusion']] = None):
|
22932
|
+
"""
|
22933
|
+
:param Sequence['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs'] exclusions: An exclusion to apply during preconfigured WAF evaluation.
|
22934
|
+
Structure is documented below.
|
22935
|
+
"""
|
22936
|
+
if exclusions is not None:
|
22937
|
+
pulumi.set(__self__, "exclusions", exclusions)
|
22938
|
+
|
22939
|
+
@property
|
22940
|
+
@pulumi.getter
|
22941
|
+
def exclusions(self) -> Optional[Sequence['outputs.RegionSecurityPolicyRulePreconfiguredWafConfigExclusion']]:
|
22942
|
+
"""
|
22943
|
+
An exclusion to apply during preconfigured WAF evaluation.
|
22944
|
+
Structure is documented below.
|
22945
|
+
"""
|
22946
|
+
return pulumi.get(self, "exclusions")
|
22947
|
+
|
22948
|
+
|
22949
|
+
@pulumi.output_type
|
22950
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigExclusion(dict):
|
22951
|
+
@staticmethod
|
22952
|
+
def __key_warning(key: str):
|
22953
|
+
suggest = None
|
22954
|
+
if key == "targetRuleSet":
|
22955
|
+
suggest = "target_rule_set"
|
22956
|
+
elif key == "requestCookies":
|
22957
|
+
suggest = "request_cookies"
|
22958
|
+
elif key == "requestHeaders":
|
22959
|
+
suggest = "request_headers"
|
22960
|
+
elif key == "requestQueryParams":
|
22961
|
+
suggest = "request_query_params"
|
22962
|
+
elif key == "requestUris":
|
22963
|
+
suggest = "request_uris"
|
22964
|
+
elif key == "targetRuleIds":
|
22965
|
+
suggest = "target_rule_ids"
|
22966
|
+
|
22967
|
+
if suggest:
|
22968
|
+
pulumi.log.warn(f"Key '{key}' not found in RegionSecurityPolicyRulePreconfiguredWafConfigExclusion. Access the value via the '{suggest}' property getter instead.")
|
22969
|
+
|
22970
|
+
def __getitem__(self, key: str) -> Any:
|
22971
|
+
RegionSecurityPolicyRulePreconfiguredWafConfigExclusion.__key_warning(key)
|
22972
|
+
return super().__getitem__(key)
|
22973
|
+
|
22974
|
+
def get(self, key: str, default = None) -> Any:
|
22975
|
+
RegionSecurityPolicyRulePreconfiguredWafConfigExclusion.__key_warning(key)
|
22976
|
+
return super().get(key, default)
|
22977
|
+
|
22978
|
+
def __init__(__self__, *,
|
22979
|
+
target_rule_set: str,
|
22980
|
+
request_cookies: Optional[Sequence['outputs.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCooky']] = None,
|
22981
|
+
request_headers: Optional[Sequence['outputs.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeader']] = None,
|
22982
|
+
request_query_params: Optional[Sequence['outputs.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParam']] = None,
|
22983
|
+
request_uris: Optional[Sequence['outputs.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUri']] = None,
|
22984
|
+
target_rule_ids: Optional[Sequence[str]] = None):
|
22985
|
+
"""
|
22986
|
+
:param str target_rule_set: Target WAF rule set to apply the preconfigured WAF exclusion.
|
22987
|
+
:param Sequence['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyArgs'] request_cookies: Request cookie whose value will be excluded from inspection during preconfigured WAF evaluation.
|
22988
|
+
Structure is documented below.
|
22989
|
+
:param Sequence['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderArgs'] request_headers: Request header whose value will be excluded from inspection during preconfigured WAF evaluation.
|
22990
|
+
Structure is documented below.
|
22991
|
+
:param Sequence['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs'] request_query_params: Request query parameter whose value will be excluded from inspection during preconfigured WAF evaluation.
|
22992
|
+
Note that the parameter can be in the query string or in the POST body.
|
22993
|
+
Structure is documented below.
|
22994
|
+
:param Sequence['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs'] request_uris: Request URI from the request line to be excluded from inspection during preconfigured WAF evaluation.
|
22995
|
+
When specifying this field, the query or fragment part should be excluded.
|
22996
|
+
Structure is documented below.
|
22997
|
+
:param Sequence[str] target_rule_ids: A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion.
|
22998
|
+
If omitted, it refers to all the rule IDs under the WAF rule set.
|
22999
|
+
"""
|
23000
|
+
pulumi.set(__self__, "target_rule_set", target_rule_set)
|
23001
|
+
if request_cookies is not None:
|
23002
|
+
pulumi.set(__self__, "request_cookies", request_cookies)
|
23003
|
+
if request_headers is not None:
|
23004
|
+
pulumi.set(__self__, "request_headers", request_headers)
|
23005
|
+
if request_query_params is not None:
|
23006
|
+
pulumi.set(__self__, "request_query_params", request_query_params)
|
23007
|
+
if request_uris is not None:
|
23008
|
+
pulumi.set(__self__, "request_uris", request_uris)
|
23009
|
+
if target_rule_ids is not None:
|
23010
|
+
pulumi.set(__self__, "target_rule_ids", target_rule_ids)
|
23011
|
+
|
23012
|
+
@property
|
23013
|
+
@pulumi.getter(name="targetRuleSet")
|
23014
|
+
def target_rule_set(self) -> str:
|
23015
|
+
"""
|
23016
|
+
Target WAF rule set to apply the preconfigured WAF exclusion.
|
23017
|
+
"""
|
23018
|
+
return pulumi.get(self, "target_rule_set")
|
23019
|
+
|
23020
|
+
@property
|
23021
|
+
@pulumi.getter(name="requestCookies")
|
23022
|
+
def request_cookies(self) -> Optional[Sequence['outputs.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCooky']]:
|
23023
|
+
"""
|
23024
|
+
Request cookie whose value will be excluded from inspection during preconfigured WAF evaluation.
|
23025
|
+
Structure is documented below.
|
23026
|
+
"""
|
23027
|
+
return pulumi.get(self, "request_cookies")
|
23028
|
+
|
23029
|
+
@property
|
23030
|
+
@pulumi.getter(name="requestHeaders")
|
23031
|
+
def request_headers(self) -> Optional[Sequence['outputs.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeader']]:
|
23032
|
+
"""
|
23033
|
+
Request header whose value will be excluded from inspection during preconfigured WAF evaluation.
|
23034
|
+
Structure is documented below.
|
23035
|
+
"""
|
23036
|
+
return pulumi.get(self, "request_headers")
|
23037
|
+
|
23038
|
+
@property
|
23039
|
+
@pulumi.getter(name="requestQueryParams")
|
23040
|
+
def request_query_params(self) -> Optional[Sequence['outputs.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParam']]:
|
23041
|
+
"""
|
23042
|
+
Request query parameter whose value will be excluded from inspection during preconfigured WAF evaluation.
|
23043
|
+
Note that the parameter can be in the query string or in the POST body.
|
23044
|
+
Structure is documented below.
|
23045
|
+
"""
|
23046
|
+
return pulumi.get(self, "request_query_params")
|
23047
|
+
|
23048
|
+
@property
|
23049
|
+
@pulumi.getter(name="requestUris")
|
23050
|
+
def request_uris(self) -> Optional[Sequence['outputs.RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUri']]:
|
23051
|
+
"""
|
23052
|
+
Request URI from the request line to be excluded from inspection during preconfigured WAF evaluation.
|
23053
|
+
When specifying this field, the query or fragment part should be excluded.
|
23054
|
+
Structure is documented below.
|
23055
|
+
"""
|
23056
|
+
return pulumi.get(self, "request_uris")
|
23057
|
+
|
23058
|
+
@property
|
23059
|
+
@pulumi.getter(name="targetRuleIds")
|
23060
|
+
def target_rule_ids(self) -> Optional[Sequence[str]]:
|
23061
|
+
"""
|
23062
|
+
A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion.
|
23063
|
+
If omitted, it refers to all the rule IDs under the WAF rule set.
|
23064
|
+
"""
|
23065
|
+
return pulumi.get(self, "target_rule_ids")
|
23066
|
+
|
23067
|
+
|
23068
|
+
@pulumi.output_type
|
23069
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCooky(dict):
|
23070
|
+
def __init__(__self__, *,
|
23071
|
+
operator: str,
|
23072
|
+
value: Optional[str] = None):
|
23073
|
+
"""
|
23074
|
+
:param str operator: You can specify an exact match or a partial match by using a field operator and a field value.
|
23075
|
+
Available options:
|
23076
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23077
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23078
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23079
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23080
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23081
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23082
|
+
:param str value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23083
|
+
The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
23084
|
+
"""
|
23085
|
+
pulumi.set(__self__, "operator", operator)
|
23086
|
+
if value is not None:
|
23087
|
+
pulumi.set(__self__, "value", value)
|
23088
|
+
|
23089
|
+
@property
|
23090
|
+
@pulumi.getter
|
23091
|
+
def operator(self) -> str:
|
23092
|
+
"""
|
23093
|
+
You can specify an exact match or a partial match by using a field operator and a field value.
|
23094
|
+
Available options:
|
23095
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23096
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23097
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23098
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23099
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23100
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23101
|
+
"""
|
23102
|
+
return pulumi.get(self, "operator")
|
23103
|
+
|
23104
|
+
@property
|
23105
|
+
@pulumi.getter
|
23106
|
+
def value(self) -> Optional[str]:
|
23107
|
+
"""
|
23108
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23109
|
+
The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
23110
|
+
"""
|
23111
|
+
return pulumi.get(self, "value")
|
23112
|
+
|
23113
|
+
|
23114
|
+
@pulumi.output_type
|
23115
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeader(dict):
|
23116
|
+
def __init__(__self__, *,
|
23117
|
+
operator: str,
|
23118
|
+
value: Optional[str] = None):
|
23119
|
+
"""
|
23120
|
+
:param str operator: You can specify an exact match or a partial match by using a field operator and a field value.
|
23121
|
+
Available options:
|
23122
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23123
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23124
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23125
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23126
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23127
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23128
|
+
:param str value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23129
|
+
The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
23130
|
+
"""
|
23131
|
+
pulumi.set(__self__, "operator", operator)
|
23132
|
+
if value is not None:
|
23133
|
+
pulumi.set(__self__, "value", value)
|
23134
|
+
|
23135
|
+
@property
|
23136
|
+
@pulumi.getter
|
23137
|
+
def operator(self) -> str:
|
23138
|
+
"""
|
23139
|
+
You can specify an exact match or a partial match by using a field operator and a field value.
|
23140
|
+
Available options:
|
23141
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23142
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23143
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23144
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23145
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23146
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23147
|
+
"""
|
23148
|
+
return pulumi.get(self, "operator")
|
23149
|
+
|
23150
|
+
@property
|
23151
|
+
@pulumi.getter
|
23152
|
+
def value(self) -> Optional[str]:
|
23153
|
+
"""
|
23154
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23155
|
+
The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
23156
|
+
"""
|
23157
|
+
return pulumi.get(self, "value")
|
23158
|
+
|
23159
|
+
|
23160
|
+
@pulumi.output_type
|
23161
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParam(dict):
|
23162
|
+
def __init__(__self__, *,
|
23163
|
+
operator: str,
|
23164
|
+
value: Optional[str] = None):
|
23165
|
+
"""
|
23166
|
+
:param str operator: You can specify an exact match or a partial match by using a field operator and a field value.
|
23167
|
+
Available options:
|
23168
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23169
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23170
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23171
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23172
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23173
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23174
|
+
:param str value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23175
|
+
The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
23176
|
+
"""
|
23177
|
+
pulumi.set(__self__, "operator", operator)
|
23178
|
+
if value is not None:
|
23179
|
+
pulumi.set(__self__, "value", value)
|
23180
|
+
|
23181
|
+
@property
|
23182
|
+
@pulumi.getter
|
23183
|
+
def operator(self) -> str:
|
23184
|
+
"""
|
23185
|
+
You can specify an exact match or a partial match by using a field operator and a field value.
|
23186
|
+
Available options:
|
23187
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23188
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23189
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23190
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23191
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23192
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23193
|
+
"""
|
23194
|
+
return pulumi.get(self, "operator")
|
23195
|
+
|
23196
|
+
@property
|
23197
|
+
@pulumi.getter
|
23198
|
+
def value(self) -> Optional[str]:
|
23199
|
+
"""
|
23200
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23201
|
+
The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
23202
|
+
"""
|
23203
|
+
return pulumi.get(self, "value")
|
23204
|
+
|
23205
|
+
|
23206
|
+
@pulumi.output_type
|
23207
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUri(dict):
|
23208
|
+
def __init__(__self__, *,
|
23209
|
+
operator: str,
|
23210
|
+
value: Optional[str] = None):
|
23211
|
+
"""
|
23212
|
+
:param str operator: You can specify an exact match or a partial match by using a field operator and a field value.
|
23213
|
+
Available options:
|
23214
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23215
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23216
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23217
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23218
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23219
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23220
|
+
:param str value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23221
|
+
The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
23222
|
+
"""
|
23223
|
+
pulumi.set(__self__, "operator", operator)
|
23224
|
+
if value is not None:
|
23225
|
+
pulumi.set(__self__, "value", value)
|
23226
|
+
|
23227
|
+
@property
|
23228
|
+
@pulumi.getter
|
23229
|
+
def operator(self) -> str:
|
23230
|
+
"""
|
23231
|
+
You can specify an exact match or a partial match by using a field operator and a field value.
|
23232
|
+
Available options:
|
23233
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23234
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23235
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23236
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23237
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23238
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23239
|
+
"""
|
23240
|
+
return pulumi.get(self, "operator")
|
23241
|
+
|
23242
|
+
@property
|
23243
|
+
@pulumi.getter
|
23244
|
+
def value(self) -> Optional[str]:
|
23245
|
+
"""
|
23246
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23247
|
+
The field value must be given if the field operator is not EQUALS_ANY, and cannot be given if the field operator is EQUALS_ANY.
|
23248
|
+
"""
|
23249
|
+
return pulumi.get(self, "value")
|
23250
|
+
|
23251
|
+
|
23252
|
+
@pulumi.output_type
|
23253
|
+
class RegionSecurityPolicyRuleRateLimitOptions(dict):
|
23254
|
+
@staticmethod
|
23255
|
+
def __key_warning(key: str):
|
23256
|
+
suggest = None
|
23257
|
+
if key == "banDurationSec":
|
23258
|
+
suggest = "ban_duration_sec"
|
23259
|
+
elif key == "banThreshold":
|
23260
|
+
suggest = "ban_threshold"
|
23261
|
+
elif key == "conformAction":
|
23262
|
+
suggest = "conform_action"
|
23263
|
+
elif key == "enforceOnKey":
|
23264
|
+
suggest = "enforce_on_key"
|
23265
|
+
elif key == "enforceOnKeyConfigs":
|
23266
|
+
suggest = "enforce_on_key_configs"
|
23267
|
+
elif key == "enforceOnKeyName":
|
23268
|
+
suggest = "enforce_on_key_name"
|
23269
|
+
elif key == "exceedAction":
|
23270
|
+
suggest = "exceed_action"
|
23271
|
+
elif key == "rateLimitThreshold":
|
23272
|
+
suggest = "rate_limit_threshold"
|
23273
|
+
|
23274
|
+
if suggest:
|
23275
|
+
pulumi.log.warn(f"Key '{key}' not found in RegionSecurityPolicyRuleRateLimitOptions. Access the value via the '{suggest}' property getter instead.")
|
23276
|
+
|
23277
|
+
def __getitem__(self, key: str) -> Any:
|
23278
|
+
RegionSecurityPolicyRuleRateLimitOptions.__key_warning(key)
|
23279
|
+
return super().__getitem__(key)
|
23280
|
+
|
23281
|
+
def get(self, key: str, default = None) -> Any:
|
23282
|
+
RegionSecurityPolicyRuleRateLimitOptions.__key_warning(key)
|
23283
|
+
return super().get(key, default)
|
23284
|
+
|
23285
|
+
def __init__(__self__, *,
|
23286
|
+
ban_duration_sec: Optional[int] = None,
|
23287
|
+
ban_threshold: Optional['outputs.RegionSecurityPolicyRuleRateLimitOptionsBanThreshold'] = None,
|
23288
|
+
conform_action: Optional[str] = None,
|
23289
|
+
enforce_on_key: Optional[str] = None,
|
23290
|
+
enforce_on_key_configs: Optional[Sequence['outputs.RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig']] = None,
|
23291
|
+
enforce_on_key_name: Optional[str] = None,
|
23292
|
+
exceed_action: Optional[str] = None,
|
23293
|
+
rate_limit_threshold: Optional['outputs.RegionSecurityPolicyRuleRateLimitOptionsRateLimitThreshold'] = None):
|
23294
|
+
"""
|
23295
|
+
:param int ban_duration_sec: Can only be specified if the action for the rule is "rate_based_ban".
|
23296
|
+
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.
|
23297
|
+
:param 'RegionSecurityPolicyRuleRateLimitOptionsBanThresholdArgs' ban_threshold: Can only be specified if the action for the rule is "rate_based_ban".
|
23298
|
+
If specified, the key will be banned for the configured 'banDurationSec' when the number of requests that exceed the 'rateLimitThreshold' also exceed this 'banThreshold'.
|
23299
|
+
Structure is documented below.
|
23300
|
+
:param str conform_action: Action to take for requests that are under the configured rate limit threshold.
|
23301
|
+
Valid option is "allow" only.
|
23302
|
+
:param str enforce_on_key: Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
23303
|
+
* 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.
|
23304
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
23305
|
+
* 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.
|
23306
|
+
* 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.
|
23307
|
+
* 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.
|
23308
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
23309
|
+
* 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.
|
23310
|
+
* REGION_CODE: The country/region from which the request originates.
|
23311
|
+
* 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.
|
23312
|
+
* 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.
|
23313
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
23314
|
+
:param Sequence['RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs'] 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.
|
23315
|
+
You can specify up to 3 enforceOnKeyConfigs.
|
23316
|
+
If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
|
23317
|
+
Structure is documented below.
|
23318
|
+
:param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
23319
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
23320
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
23321
|
+
:param str exceed_action: Action to take for requests that are above the configured rate limit threshold, to deny with a specified HTTP response code.
|
23322
|
+
Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502.
|
23323
|
+
:param 'RegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs' rate_limit_threshold: Threshold at which to begin ratelimiting.
|
23324
|
+
Structure is documented below.
|
23325
|
+
"""
|
23326
|
+
if ban_duration_sec is not None:
|
23327
|
+
pulumi.set(__self__, "ban_duration_sec", ban_duration_sec)
|
23328
|
+
if ban_threshold is not None:
|
23329
|
+
pulumi.set(__self__, "ban_threshold", ban_threshold)
|
23330
|
+
if conform_action is not None:
|
23331
|
+
pulumi.set(__self__, "conform_action", conform_action)
|
23332
|
+
if enforce_on_key is not None:
|
23333
|
+
pulumi.set(__self__, "enforce_on_key", enforce_on_key)
|
23334
|
+
if enforce_on_key_configs is not None:
|
23335
|
+
pulumi.set(__self__, "enforce_on_key_configs", enforce_on_key_configs)
|
23336
|
+
if enforce_on_key_name is not None:
|
23337
|
+
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
23338
|
+
if exceed_action is not None:
|
23339
|
+
pulumi.set(__self__, "exceed_action", exceed_action)
|
23340
|
+
if rate_limit_threshold is not None:
|
23341
|
+
pulumi.set(__self__, "rate_limit_threshold", rate_limit_threshold)
|
23342
|
+
|
23343
|
+
@property
|
23344
|
+
@pulumi.getter(name="banDurationSec")
|
23345
|
+
def ban_duration_sec(self) -> Optional[int]:
|
23346
|
+
"""
|
23347
|
+
Can only be specified if the action for the rule is "rate_based_ban".
|
23348
|
+
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.
|
23349
|
+
"""
|
23350
|
+
return pulumi.get(self, "ban_duration_sec")
|
23351
|
+
|
23352
|
+
@property
|
23353
|
+
@pulumi.getter(name="banThreshold")
|
23354
|
+
def ban_threshold(self) -> Optional['outputs.RegionSecurityPolicyRuleRateLimitOptionsBanThreshold']:
|
23355
|
+
"""
|
23356
|
+
Can only be specified if the action for the rule is "rate_based_ban".
|
23357
|
+
If specified, the key will be banned for the configured 'banDurationSec' when the number of requests that exceed the 'rateLimitThreshold' also exceed this 'banThreshold'.
|
23358
|
+
Structure is documented below.
|
23359
|
+
"""
|
23360
|
+
return pulumi.get(self, "ban_threshold")
|
23361
|
+
|
23362
|
+
@property
|
23363
|
+
@pulumi.getter(name="conformAction")
|
23364
|
+
def conform_action(self) -> Optional[str]:
|
23365
|
+
"""
|
23366
|
+
Action to take for requests that are under the configured rate limit threshold.
|
23367
|
+
Valid option is "allow" only.
|
23368
|
+
"""
|
23369
|
+
return pulumi.get(self, "conform_action")
|
23370
|
+
|
23371
|
+
@property
|
23372
|
+
@pulumi.getter(name="enforceOnKey")
|
23373
|
+
def enforce_on_key(self) -> Optional[str]:
|
23374
|
+
"""
|
23375
|
+
Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
23376
|
+
* 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.
|
23377
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
23378
|
+
* 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.
|
23379
|
+
* 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.
|
23380
|
+
* 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.
|
23381
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
23382
|
+
* 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.
|
23383
|
+
* REGION_CODE: The country/region from which the request originates.
|
23384
|
+
* 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.
|
23385
|
+
* 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.
|
23386
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
23387
|
+
"""
|
23388
|
+
return pulumi.get(self, "enforce_on_key")
|
23389
|
+
|
23390
|
+
@property
|
23391
|
+
@pulumi.getter(name="enforceOnKeyConfigs")
|
23392
|
+
def enforce_on_key_configs(self) -> Optional[Sequence['outputs.RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig']]:
|
23393
|
+
"""
|
23394
|
+
If specified, any combination of values of enforceOnKeyType/enforceOnKeyName is treated as the key on which ratelimit threshold/action is enforced.
|
23395
|
+
You can specify up to 3 enforceOnKeyConfigs.
|
23396
|
+
If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
|
23397
|
+
Structure is documented below.
|
23398
|
+
"""
|
23399
|
+
return pulumi.get(self, "enforce_on_key_configs")
|
23400
|
+
|
23401
|
+
@property
|
23402
|
+
@pulumi.getter(name="enforceOnKeyName")
|
23403
|
+
def enforce_on_key_name(self) -> Optional[str]:
|
23404
|
+
"""
|
23405
|
+
Rate limit key name applicable only for the following key types:
|
23406
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
23407
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
23408
|
+
"""
|
23409
|
+
return pulumi.get(self, "enforce_on_key_name")
|
23410
|
+
|
23411
|
+
@property
|
23412
|
+
@pulumi.getter(name="exceedAction")
|
23413
|
+
def exceed_action(self) -> Optional[str]:
|
23414
|
+
"""
|
23415
|
+
Action to take for requests that are above the configured rate limit threshold, to deny with a specified HTTP response code.
|
23416
|
+
Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502.
|
23417
|
+
"""
|
23418
|
+
return pulumi.get(self, "exceed_action")
|
23419
|
+
|
23420
|
+
@property
|
23421
|
+
@pulumi.getter(name="rateLimitThreshold")
|
23422
|
+
def rate_limit_threshold(self) -> Optional['outputs.RegionSecurityPolicyRuleRateLimitOptionsRateLimitThreshold']:
|
23423
|
+
"""
|
23424
|
+
Threshold at which to begin ratelimiting.
|
23425
|
+
Structure is documented below.
|
23426
|
+
"""
|
23427
|
+
return pulumi.get(self, "rate_limit_threshold")
|
23428
|
+
|
23429
|
+
|
23430
|
+
@pulumi.output_type
|
23431
|
+
class RegionSecurityPolicyRuleRateLimitOptionsBanThreshold(dict):
|
23432
|
+
@staticmethod
|
23433
|
+
def __key_warning(key: str):
|
23434
|
+
suggest = None
|
23435
|
+
if key == "intervalSec":
|
23436
|
+
suggest = "interval_sec"
|
23437
|
+
|
23438
|
+
if suggest:
|
23439
|
+
pulumi.log.warn(f"Key '{key}' not found in RegionSecurityPolicyRuleRateLimitOptionsBanThreshold. Access the value via the '{suggest}' property getter instead.")
|
23440
|
+
|
23441
|
+
def __getitem__(self, key: str) -> Any:
|
23442
|
+
RegionSecurityPolicyRuleRateLimitOptionsBanThreshold.__key_warning(key)
|
23443
|
+
return super().__getitem__(key)
|
23444
|
+
|
23445
|
+
def get(self, key: str, default = None) -> Any:
|
23446
|
+
RegionSecurityPolicyRuleRateLimitOptionsBanThreshold.__key_warning(key)
|
23447
|
+
return super().get(key, default)
|
23448
|
+
|
23449
|
+
def __init__(__self__, *,
|
23450
|
+
count: Optional[int] = None,
|
23451
|
+
interval_sec: Optional[int] = None):
|
23452
|
+
"""
|
23453
|
+
:param int count: Number of HTTP(S) requests for calculating the threshold.
|
23454
|
+
:param int interval_sec: Interval over which the threshold is computed.
|
23455
|
+
"""
|
23456
|
+
if count is not None:
|
23457
|
+
pulumi.set(__self__, "count", count)
|
23458
|
+
if interval_sec is not None:
|
23459
|
+
pulumi.set(__self__, "interval_sec", interval_sec)
|
23460
|
+
|
23461
|
+
@property
|
23462
|
+
@pulumi.getter
|
23463
|
+
def count(self) -> Optional[int]:
|
23464
|
+
"""
|
23465
|
+
Number of HTTP(S) requests for calculating the threshold.
|
23466
|
+
"""
|
23467
|
+
return pulumi.get(self, "count")
|
23468
|
+
|
23469
|
+
@property
|
23470
|
+
@pulumi.getter(name="intervalSec")
|
23471
|
+
def interval_sec(self) -> Optional[int]:
|
23472
|
+
"""
|
23473
|
+
Interval over which the threshold is computed.
|
23474
|
+
"""
|
23475
|
+
return pulumi.get(self, "interval_sec")
|
23476
|
+
|
23477
|
+
|
23478
|
+
@pulumi.output_type
|
23479
|
+
class RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
23480
|
+
@staticmethod
|
23481
|
+
def __key_warning(key: str):
|
23482
|
+
suggest = None
|
23483
|
+
if key == "enforceOnKeyName":
|
23484
|
+
suggest = "enforce_on_key_name"
|
23485
|
+
elif key == "enforceOnKeyType":
|
23486
|
+
suggest = "enforce_on_key_type"
|
23487
|
+
|
23488
|
+
if suggest:
|
23489
|
+
pulumi.log.warn(f"Key '{key}' not found in RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig. Access the value via the '{suggest}' property getter instead.")
|
23490
|
+
|
23491
|
+
def __getitem__(self, key: str) -> Any:
|
23492
|
+
RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.__key_warning(key)
|
23493
|
+
return super().__getitem__(key)
|
23494
|
+
|
23495
|
+
def get(self, key: str, default = None) -> Any:
|
23496
|
+
RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig.__key_warning(key)
|
23497
|
+
return super().get(key, default)
|
23498
|
+
|
23499
|
+
def __init__(__self__, *,
|
23500
|
+
enforce_on_key_name: Optional[str] = None,
|
23501
|
+
enforce_on_key_type: Optional[str] = None):
|
23502
|
+
"""
|
23503
|
+
:param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
23504
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
23505
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
23506
|
+
:param str enforce_on_key_type: Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
23507
|
+
* 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.
|
23508
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
23509
|
+
* 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.
|
23510
|
+
* 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.
|
23511
|
+
* 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.
|
23512
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
23513
|
+
* 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.
|
23514
|
+
* REGION_CODE: The country/region from which the request originates.
|
23515
|
+
* 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.
|
23516
|
+
* 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.
|
23517
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
23518
|
+
"""
|
23519
|
+
if enforce_on_key_name is not None:
|
23520
|
+
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
23521
|
+
if enforce_on_key_type is not None:
|
23522
|
+
pulumi.set(__self__, "enforce_on_key_type", enforce_on_key_type)
|
23523
|
+
|
23524
|
+
@property
|
23525
|
+
@pulumi.getter(name="enforceOnKeyName")
|
23526
|
+
def enforce_on_key_name(self) -> Optional[str]:
|
23527
|
+
"""
|
23528
|
+
Rate limit key name applicable only for the following key types:
|
23529
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
23530
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
23531
|
+
"""
|
23532
|
+
return pulumi.get(self, "enforce_on_key_name")
|
23533
|
+
|
23534
|
+
@property
|
23535
|
+
@pulumi.getter(name="enforceOnKeyType")
|
23536
|
+
def enforce_on_key_type(self) -> Optional[str]:
|
23537
|
+
"""
|
23538
|
+
Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
23539
|
+
* 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.
|
23540
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
23541
|
+
* 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.
|
23542
|
+
* 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.
|
23543
|
+
* 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.
|
23544
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
23545
|
+
* 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.
|
23546
|
+
* REGION_CODE: The country/region from which the request originates.
|
23547
|
+
* 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.
|
23548
|
+
* 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.
|
23549
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
23550
|
+
"""
|
23551
|
+
return pulumi.get(self, "enforce_on_key_type")
|
23552
|
+
|
23553
|
+
|
23554
|
+
@pulumi.output_type
|
23555
|
+
class RegionSecurityPolicyRuleRateLimitOptionsRateLimitThreshold(dict):
|
23556
|
+
@staticmethod
|
23557
|
+
def __key_warning(key: str):
|
23558
|
+
suggest = None
|
23559
|
+
if key == "intervalSec":
|
23560
|
+
suggest = "interval_sec"
|
23561
|
+
|
23562
|
+
if suggest:
|
23563
|
+
pulumi.log.warn(f"Key '{key}' not found in RegionSecurityPolicyRuleRateLimitOptionsRateLimitThreshold. Access the value via the '{suggest}' property getter instead.")
|
23564
|
+
|
23565
|
+
def __getitem__(self, key: str) -> Any:
|
23566
|
+
RegionSecurityPolicyRuleRateLimitOptionsRateLimitThreshold.__key_warning(key)
|
23567
|
+
return super().__getitem__(key)
|
23568
|
+
|
23569
|
+
def get(self, key: str, default = None) -> Any:
|
23570
|
+
RegionSecurityPolicyRuleRateLimitOptionsRateLimitThreshold.__key_warning(key)
|
23571
|
+
return super().get(key, default)
|
23572
|
+
|
23573
|
+
def __init__(__self__, *,
|
23574
|
+
count: Optional[int] = None,
|
23575
|
+
interval_sec: Optional[int] = None):
|
23576
|
+
"""
|
23577
|
+
:param int count: Number of HTTP(S) requests for calculating the threshold.
|
23578
|
+
:param int interval_sec: Interval over which the threshold is computed.
|
23579
|
+
"""
|
23580
|
+
if count is not None:
|
23581
|
+
pulumi.set(__self__, "count", count)
|
23582
|
+
if interval_sec is not None:
|
23583
|
+
pulumi.set(__self__, "interval_sec", interval_sec)
|
23584
|
+
|
23585
|
+
@property
|
23586
|
+
@pulumi.getter
|
23587
|
+
def count(self) -> Optional[int]:
|
23588
|
+
"""
|
23589
|
+
Number of HTTP(S) requests for calculating the threshold.
|
23590
|
+
"""
|
23591
|
+
return pulumi.get(self, "count")
|
23592
|
+
|
23593
|
+
@property
|
23594
|
+
@pulumi.getter(name="intervalSec")
|
23595
|
+
def interval_sec(self) -> Optional[int]:
|
23596
|
+
"""
|
23597
|
+
Interval over which the threshold is computed.
|
23598
|
+
"""
|
23599
|
+
return pulumi.get(self, "interval_sec")
|
23600
|
+
|
23601
|
+
|
22287
23602
|
@pulumi.output_type
|
22288
23603
|
class RegionSecurityPolicyUserDefinedField(dict):
|
22289
23604
|
def __init__(__self__, *,
|
@@ -29816,7 +31131,11 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
|
|
29816
31131
|
:param 'SecurityPolicyAdvancedOptionsConfigJsonCustomConfigArgs' json_custom_config: Custom configuration to apply the JSON parsing. Only applicable when
|
29817
31132
|
`json_parsing` is set to `STANDARD`. Structure is documented below.
|
29818
31133
|
:param str json_parsing: Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
|
31134
|
+
* `DISABLED` - Don't parse JSON payloads in POST bodies.
|
31135
|
+
* `STANDARD` - Parse JSON payloads in POST bodies.
|
29819
31136
|
:param str log_level: Log level to use. Defaults to `NORMAL`.
|
31137
|
+
* `NORMAL` - Normal log level.
|
31138
|
+
* `VERBOSE` - Verbose log level.
|
29820
31139
|
:param Sequence[str] user_ip_request_headers: An optional list of case-insensitive request header names to use for resolving the callers client IP address.
|
29821
31140
|
"""
|
29822
31141
|
if json_custom_config is not None:
|
@@ -29842,6 +31161,8 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
|
|
29842
31161
|
def json_parsing(self) -> Optional[str]:
|
29843
31162
|
"""
|
29844
31163
|
Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
|
31164
|
+
* `DISABLED` - Don't parse JSON payloads in POST bodies.
|
31165
|
+
* `STANDARD` - Parse JSON payloads in POST bodies.
|
29845
31166
|
"""
|
29846
31167
|
return pulumi.get(self, "json_parsing")
|
29847
31168
|
|
@@ -29850,6 +31171,8 @@ class SecurityPolicyAdvancedOptionsConfig(dict):
|
|
29850
31171
|
def log_level(self) -> Optional[str]:
|
29851
31172
|
"""
|
29852
31173
|
Log level to use. Defaults to `NORMAL`.
|
31174
|
+
* `NORMAL` - Normal log level.
|
31175
|
+
* `VERBOSE` - Verbose log level.
|
29853
31176
|
"""
|
29854
31177
|
return pulumi.get(self, "log_level")
|
29855
31178
|
|
@@ -30659,10 +31982,22 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
30659
31982
|
If specified, the key will be banned for the configured `ban_duration_sec` when the number of requests that exceed the `rate_limit_threshold` also
|
30660
31983
|
exceed this `ban_threshold`. Structure is documented below.
|
30661
31984
|
:param str enforce_on_key: Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to `ALL`.
|
31985
|
+
|
31986
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
31987
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
31988
|
+
* `HTTP_HEADER`: The value of the HTTP header whose name is configured under `enforce_on_key_name`. 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`.
|
31989
|
+
* `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 type defaults to `ALL`.
|
31990
|
+
* `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. 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`.
|
31991
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
31992
|
+
* `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.
|
31993
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
30662
31994
|
:param Sequence['SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs'] enforce_on_key_configs: If specified, any combination of values of enforce_on_key_type/enforce_on_key_name is treated as the key on which rate limit threshold/action is enforced. You can specify up to 3 enforce_on_key_configs. If `enforce_on_key_configs` is specified, `enforce_on_key` must be set to an empty string. Structure is documented below.
|
30663
31995
|
|
30664
31996
|
**Note:** To avoid the conflict between `enforce_on_key` and `enforce_on_key_configs`, the field `enforce_on_key` needs to be set to an empty string.
|
30665
31997
|
:param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
31998
|
+
|
31999
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
32000
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
30666
32001
|
: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.
|
30667
32002
|
"""
|
30668
32003
|
pulumi.set(__self__, "conform_action", conform_action)
|
@@ -30730,6 +32065,15 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
30730
32065
|
def enforce_on_key(self) -> Optional[str]:
|
30731
32066
|
"""
|
30732
32067
|
Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to `ALL`.
|
32068
|
+
|
32069
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
32070
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
32071
|
+
* `HTTP_HEADER`: The value of the HTTP header whose name is configured under `enforce_on_key_name`. 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`.
|
32072
|
+
* `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 type defaults to `ALL`.
|
32073
|
+
* `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. 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`.
|
32074
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
32075
|
+
* `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.
|
32076
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
30733
32077
|
"""
|
30734
32078
|
return pulumi.get(self, "enforce_on_key")
|
30735
32079
|
|
@@ -30748,6 +32092,9 @@ class SecurityPolicyRuleRateLimitOptions(dict):
|
|
30748
32092
|
def enforce_on_key_name(self) -> Optional[str]:
|
30749
32093
|
"""
|
30750
32094
|
Rate limit key name applicable only for the following key types:
|
32095
|
+
|
32096
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
32097
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
30751
32098
|
"""
|
30752
32099
|
return pulumi.get(self, "enforce_on_key_name")
|
30753
32100
|
|
@@ -30832,7 +32179,19 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
30832
32179
|
enforce_on_key_type: Optional[str] = None):
|
30833
32180
|
"""
|
30834
32181
|
:param str enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
32182
|
+
|
32183
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
32184
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
30835
32185
|
:param str enforce_on_key_type: Determines the key to enforce the `rate_limit_threshold` on. If not specified, defaults to `ALL`.
|
32186
|
+
|
32187
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
32188
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
32189
|
+
* `HTTP_HEADER`: The value of the HTTP header whose name is configured on `enforce_on_key_name`. 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`.
|
32190
|
+
* `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 type defaults to `ALL`.
|
32191
|
+
* `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. 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`.
|
32192
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
32193
|
+
* `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.
|
32194
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
30836
32195
|
"""
|
30837
32196
|
if enforce_on_key_name is not None:
|
30838
32197
|
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
@@ -30844,6 +32203,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
30844
32203
|
def enforce_on_key_name(self) -> Optional[str]:
|
30845
32204
|
"""
|
30846
32205
|
Rate limit key name applicable only for the following key types:
|
32206
|
+
|
32207
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
32208
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
30847
32209
|
"""
|
30848
32210
|
return pulumi.get(self, "enforce_on_key_name")
|
30849
32211
|
|
@@ -30852,6 +32214,15 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfig(dict):
|
|
30852
32214
|
def enforce_on_key_type(self) -> Optional[str]:
|
30853
32215
|
"""
|
30854
32216
|
Determines the key to enforce the `rate_limit_threshold` on. If not specified, defaults to `ALL`.
|
32217
|
+
|
32218
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
32219
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
32220
|
+
* `HTTP_HEADER`: The value of the HTTP header whose name is configured on `enforce_on_key_name`. 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`.
|
32221
|
+
* `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 type defaults to `ALL`.
|
32222
|
+
* `HTTP_COOKIE`: The value of the HTTP cookie whose name is configured under `enforce_on_key_name`. 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`.
|
32223
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
32224
|
+
* `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.
|
32225
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
30855
32226
|
"""
|
30856
32227
|
return pulumi.get(self, "enforce_on_key_type")
|
30857
32228
|
|
@@ -30939,6 +32310,9 @@ class SecurityPolicyRuleRedirectOptions(dict):
|
|
30939
32310
|
target: Optional[str] = None):
|
30940
32311
|
"""
|
30941
32312
|
:param str type: Type of redirect action.
|
32313
|
+
|
32314
|
+
* `EXTERNAL_302`: Redirect to an external address, configured in `target`.
|
32315
|
+
* `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
|
30942
32316
|
:param str target: External redirection target when `EXTERNAL_302` is set in `type`.
|
30943
32317
|
"""
|
30944
32318
|
pulumi.set(__self__, "type", type)
|
@@ -30950,6 +32324,9 @@ class SecurityPolicyRuleRedirectOptions(dict):
|
|
30950
32324
|
def type(self) -> str:
|
30951
32325
|
"""
|
30952
32326
|
Type of redirect action.
|
32327
|
+
|
32328
|
+
* `EXTERNAL_302`: Redirect to an external address, configured in `target`.
|
32329
|
+
* `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
|
30953
32330
|
"""
|
30954
32331
|
return pulumi.get(self, "type")
|
30955
32332
|
|
@@ -40369,6 +41746,8 @@ class GetForwardingRulesRuleResult(dict):
|
|
40369
41746
|
For internal forwarding rules within the same VPC network, two or more
|
40370
41747
|
forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair, and
|
40371
41748
|
cannot have overlapping 'portRange's.
|
41749
|
+
|
41750
|
+
@pattern: \\d+(?:-\\d+)?
|
40372
41751
|
:param Sequence[str] ports: The 'ports', 'portRange', and 'allPorts' fields are mutually exclusive.
|
40373
41752
|
Only packets addressed to ports in the specified range will be forwarded
|
40374
41753
|
to the backends configured with this forwarding rule.
|
@@ -40389,6 +41768,8 @@ class GetForwardingRulesRuleResult(dict):
|
|
40389
41768
|
For internal forwarding rules within the same VPC network, two or more
|
40390
41769
|
forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair if
|
40391
41770
|
they share at least one port number.
|
41771
|
+
|
41772
|
+
@pattern: \\d+(?:-\\d+)?
|
40392
41773
|
:param str project: The name of the project.
|
40393
41774
|
:param str psc_connection_id: The PSC connection id of the PSC Forwarding Rule.
|
40394
41775
|
:param str psc_connection_status: The PSC connection status of the PSC Forwarding Rule. Possible values: 'STATUS_UNSPECIFIED', 'PENDING', 'ACCEPTED', 'REJECTED', 'CLOSED'
|
@@ -40774,6 +42155,8 @@ class GetForwardingRulesRuleResult(dict):
|
|
40774
42155
|
For internal forwarding rules within the same VPC network, two or more
|
40775
42156
|
forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair, and
|
40776
42157
|
cannot have overlapping 'portRange's.
|
42158
|
+
|
42159
|
+
@pattern: \\d+(?:-\\d+)?
|
40777
42160
|
"""
|
40778
42161
|
return pulumi.get(self, "port_range")
|
40779
42162
|
|
@@ -40801,6 +42184,8 @@ class GetForwardingRulesRuleResult(dict):
|
|
40801
42184
|
For internal forwarding rules within the same VPC network, two or more
|
40802
42185
|
forwarding rules cannot use the same '[IPAddress, IPProtocol]' pair if
|
40803
42186
|
they share at least one port number.
|
42187
|
+
|
42188
|
+
@pattern: \\d+(?:-\\d+)?
|
40804
42189
|
"""
|
40805
42190
|
return pulumi.get(self, "ports")
|
40806
42191
|
|