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/_inputs.py
CHANGED
@@ -181,6 +181,10 @@ __all__ = [
|
|
181
181
|
'InstanceTemplateServiceAccountArgs',
|
182
182
|
'InstanceTemplateShieldedInstanceConfigArgs',
|
183
183
|
'InterconnectAttachmentPrivateInterconnectInfoArgs',
|
184
|
+
'InterconnectCircuitInfoArgs',
|
185
|
+
'InterconnectExpectedOutageArgs',
|
186
|
+
'InterconnectMacsecArgs',
|
187
|
+
'InterconnectMacsecPreSharedKeyArgs',
|
184
188
|
'MachineImageIamBindingConditionArgs',
|
185
189
|
'MachineImageIamMemberConditionArgs',
|
186
190
|
'MachineImageMachineImageEncryptionKeyArgs',
|
@@ -309,8 +313,19 @@ __all__ = [
|
|
309
313
|
'RegionSecurityPolicyDdosProtectionConfigArgs',
|
310
314
|
'RegionSecurityPolicyRuleMatchArgs',
|
311
315
|
'RegionSecurityPolicyRuleMatchConfigArgs',
|
316
|
+
'RegionSecurityPolicyRuleMatchExprArgs',
|
312
317
|
'RegionSecurityPolicyRuleNetworkMatchArgs',
|
313
318
|
'RegionSecurityPolicyRuleNetworkMatchUserDefinedFieldArgs',
|
319
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigArgs',
|
320
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs',
|
321
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyArgs',
|
322
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderArgs',
|
323
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs',
|
324
|
+
'RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs',
|
325
|
+
'RegionSecurityPolicyRuleRateLimitOptionsArgs',
|
326
|
+
'RegionSecurityPolicyRuleRateLimitOptionsBanThresholdArgs',
|
327
|
+
'RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs',
|
328
|
+
'RegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs',
|
314
329
|
'RegionSecurityPolicyUserDefinedFieldArgs',
|
315
330
|
'RegionUrlMapDefaultRouteActionArgs',
|
316
331
|
'RegionUrlMapDefaultRouteActionCorsPolicyArgs',
|
@@ -3006,6 +3021,25 @@ class BackendServiceLocalityLbPolicyPolicyArgs:
|
|
3006
3021
|
Note that specifying the same policy more than once for a backend is
|
3007
3022
|
not a valid configuration and will be rejected.
|
3008
3023
|
The possible values are:
|
3024
|
+
* `ROUND_ROBIN`: This is a simple policy in which each healthy backend
|
3025
|
+
is selected in round robin order.
|
3026
|
+
* `LEAST_REQUEST`: An O(1) algorithm which selects two random healthy
|
3027
|
+
hosts and picks the host which has fewer active requests.
|
3028
|
+
* `RING_HASH`: The ring/modulo hash load balancer implements consistent
|
3029
|
+
hashing to backends. The algorithm has the property that the
|
3030
|
+
addition/removal of a host from a set of N hosts only affects
|
3031
|
+
1/N of the requests.
|
3032
|
+
* `RANDOM`: The load balancer selects a random healthy host.
|
3033
|
+
* `ORIGINAL_DESTINATION`: Backend host is selected based on the client
|
3034
|
+
connection metadata, i.e., connections are opened
|
3035
|
+
to the same address as the destination address of
|
3036
|
+
the incoming connection before the connection
|
3037
|
+
was redirected to the load balancer.
|
3038
|
+
* `MAGLEV`: used as a drop in replacement for the ring hash load balancer.
|
3039
|
+
Maglev is not as stable as ring hash but has faster table lookup
|
3040
|
+
build times and host selection times. For more information about
|
3041
|
+
Maglev, refer to https://ai.google/research/pubs/pub44824
|
3042
|
+
Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`.
|
3009
3043
|
"""
|
3010
3044
|
pulumi.set(__self__, "name", name)
|
3011
3045
|
|
@@ -3021,6 +3055,25 @@ class BackendServiceLocalityLbPolicyPolicyArgs:
|
|
3021
3055
|
Note that specifying the same policy more than once for a backend is
|
3022
3056
|
not a valid configuration and will be rejected.
|
3023
3057
|
The possible values are:
|
3058
|
+
* `ROUND_ROBIN`: This is a simple policy in which each healthy backend
|
3059
|
+
is selected in round robin order.
|
3060
|
+
* `LEAST_REQUEST`: An O(1) algorithm which selects two random healthy
|
3061
|
+
hosts and picks the host which has fewer active requests.
|
3062
|
+
* `RING_HASH`: The ring/modulo hash load balancer implements consistent
|
3063
|
+
hashing to backends. The algorithm has the property that the
|
3064
|
+
addition/removal of a host from a set of N hosts only affects
|
3065
|
+
1/N of the requests.
|
3066
|
+
* `RANDOM`: The load balancer selects a random healthy host.
|
3067
|
+
* `ORIGINAL_DESTINATION`: Backend host is selected based on the client
|
3068
|
+
connection metadata, i.e., connections are opened
|
3069
|
+
to the same address as the destination address of
|
3070
|
+
the incoming connection before the connection
|
3071
|
+
was redirected to the load balancer.
|
3072
|
+
* `MAGLEV`: used as a drop in replacement for the ring hash load balancer.
|
3073
|
+
Maglev is not as stable as ring hash but has faster table lookup
|
3074
|
+
build times and host selection times. For more information about
|
3075
|
+
Maglev, refer to https://ai.google/research/pubs/pub44824
|
3076
|
+
Possible values are: `ROUND_ROBIN`, `LEAST_REQUEST`, `RING_HASH`, `RANDOM`, `ORIGINAL_DESTINATION`, `MAGLEV`.
|
3024
3077
|
"""
|
3025
3078
|
return pulumi.get(self, "name")
|
3026
3079
|
|
@@ -4573,6 +4626,15 @@ class HealthCheckGrpcHealthCheckArgs:
|
|
4573
4626
|
port_name are defined, port takes precedence.
|
4574
4627
|
:param pulumi.Input[str] port_specification: Specifies how port is selected for health checking, can be one of the
|
4575
4628
|
following values:
|
4629
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
4630
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
4631
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
4632
|
+
network endpoint is used for health checking. For other backends, the
|
4633
|
+
port or named port specified in the Backend Service is used for health
|
4634
|
+
checking.
|
4635
|
+
If not specified, gRPC health check follows behavior specified in `port` and
|
4636
|
+
`portName` fields.
|
4637
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
4576
4638
|
"""
|
4577
4639
|
if grpc_service_name is not None:
|
4578
4640
|
pulumi.set(__self__, "grpc_service_name", grpc_service_name)
|
@@ -4632,6 +4694,15 @@ class HealthCheckGrpcHealthCheckArgs:
|
|
4632
4694
|
"""
|
4633
4695
|
Specifies how port is selected for health checking, can be one of the
|
4634
4696
|
following values:
|
4697
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
4698
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
4699
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
4700
|
+
network endpoint is used for health checking. For other backends, the
|
4701
|
+
port or named port specified in the Backend Service is used for health
|
4702
|
+
checking.
|
4703
|
+
If not specified, gRPC health check follows behavior specified in `port` and
|
4704
|
+
`portName` fields.
|
4705
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
4635
4706
|
"""
|
4636
4707
|
return pulumi.get(self, "port_specification")
|
4637
4708
|
|
@@ -4821,6 +4892,15 @@ class HealthCheckHttpHealthCheckArgs:
|
|
4821
4892
|
port_name are defined, port takes precedence.
|
4822
4893
|
:param pulumi.Input[str] port_specification: Specifies how port is selected for health checking, can be one of the
|
4823
4894
|
following values:
|
4895
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
4896
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
4897
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
4898
|
+
network endpoint is used for health checking. For other backends, the
|
4899
|
+
port or named port specified in the Backend Service is used for health
|
4900
|
+
checking.
|
4901
|
+
If not specified, HTTP health check follows behavior specified in `port` and
|
4902
|
+
`portName` fields.
|
4903
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
4824
4904
|
:param pulumi.Input[str] proxy_header: Specifies the type of proxy header to append before sending data to the
|
4825
4905
|
backend.
|
4826
4906
|
Default value is `NONE`.
|
@@ -4892,6 +4972,15 @@ class HealthCheckHttpHealthCheckArgs:
|
|
4892
4972
|
"""
|
4893
4973
|
Specifies how port is selected for health checking, can be one of the
|
4894
4974
|
following values:
|
4975
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
4976
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
4977
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
4978
|
+
network endpoint is used for health checking. For other backends, the
|
4979
|
+
port or named port specified in the Backend Service is used for health
|
4980
|
+
checking.
|
4981
|
+
If not specified, HTTP health check follows behavior specified in `port` and
|
4982
|
+
`portName` fields.
|
4983
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
4895
4984
|
"""
|
4896
4985
|
return pulumi.get(self, "port_specification")
|
4897
4986
|
|
@@ -4962,6 +5051,15 @@ class HealthCheckHttpsHealthCheckArgs:
|
|
4962
5051
|
port_name are defined, port takes precedence.
|
4963
5052
|
:param pulumi.Input[str] port_specification: Specifies how port is selected for health checking, can be one of the
|
4964
5053
|
following values:
|
5054
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5055
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5056
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5057
|
+
network endpoint is used for health checking. For other backends, the
|
5058
|
+
port or named port specified in the Backend Service is used for health
|
5059
|
+
checking.
|
5060
|
+
If not specified, HTTPS health check follows behavior specified in `port` and
|
5061
|
+
`portName` fields.
|
5062
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
4965
5063
|
:param pulumi.Input[str] proxy_header: Specifies the type of proxy header to append before sending data to the
|
4966
5064
|
backend.
|
4967
5065
|
Default value is `NONE`.
|
@@ -5033,6 +5131,15 @@ class HealthCheckHttpsHealthCheckArgs:
|
|
5033
5131
|
"""
|
5034
5132
|
Specifies how port is selected for health checking, can be one of the
|
5035
5133
|
following values:
|
5134
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5135
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5136
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5137
|
+
network endpoint is used for health checking. For other backends, the
|
5138
|
+
port or named port specified in the Backend Service is used for health
|
5139
|
+
checking.
|
5140
|
+
If not specified, HTTPS health check follows behavior specified in `port` and
|
5141
|
+
`portName` fields.
|
5142
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5036
5143
|
"""
|
5037
5144
|
return pulumi.get(self, "port_specification")
|
5038
5145
|
|
@@ -5124,6 +5231,15 @@ class HealthCheckSslHealthCheckArgs:
|
|
5124
5231
|
port_name are defined, port takes precedence.
|
5125
5232
|
:param pulumi.Input[str] port_specification: Specifies how port is selected for health checking, can be one of the
|
5126
5233
|
following values:
|
5234
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5235
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5236
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5237
|
+
network endpoint is used for health checking. For other backends, the
|
5238
|
+
port or named port specified in the Backend Service is used for health
|
5239
|
+
checking.
|
5240
|
+
If not specified, HTTP2 health check follows behavior specified in `port` and
|
5241
|
+
`portName` fields.
|
5242
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5127
5243
|
:param pulumi.Input[str] proxy_header: Specifies the type of proxy header to append before sending data to the
|
5128
5244
|
backend.
|
5129
5245
|
Default value is `NONE`.
|
@@ -5181,6 +5297,15 @@ class HealthCheckSslHealthCheckArgs:
|
|
5181
5297
|
"""
|
5182
5298
|
Specifies how port is selected for health checking, can be one of the
|
5183
5299
|
following values:
|
5300
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5301
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5302
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5303
|
+
network endpoint is used for health checking. For other backends, the
|
5304
|
+
port or named port specified in the Backend Service is used for health
|
5305
|
+
checking.
|
5306
|
+
If not specified, HTTP2 health check follows behavior specified in `port` and
|
5307
|
+
`portName` fields.
|
5308
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5184
5309
|
"""
|
5185
5310
|
return pulumi.get(self, "port_specification")
|
5186
5311
|
|
@@ -5249,6 +5374,15 @@ class HealthCheckTcpHealthCheckArgs:
|
|
5249
5374
|
port_name are defined, port takes precedence.
|
5250
5375
|
:param pulumi.Input[str] port_specification: Specifies how port is selected for health checking, can be one of the
|
5251
5376
|
following values:
|
5377
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5378
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5379
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5380
|
+
network endpoint is used for health checking. For other backends, the
|
5381
|
+
port or named port specified in the Backend Service is used for health
|
5382
|
+
checking.
|
5383
|
+
If not specified, TCP health check follows behavior specified in `port` and
|
5384
|
+
`portName` fields.
|
5385
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5252
5386
|
:param pulumi.Input[str] proxy_header: Specifies the type of proxy header to append before sending data to the
|
5253
5387
|
backend.
|
5254
5388
|
Default value is `NONE`.
|
@@ -5306,6 +5440,15 @@ class HealthCheckTcpHealthCheckArgs:
|
|
5306
5440
|
"""
|
5307
5441
|
Specifies how port is selected for health checking, can be one of the
|
5308
5442
|
following values:
|
5443
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
5444
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
5445
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
5446
|
+
network endpoint is used for health checking. For other backends, the
|
5447
|
+
port or named port specified in the Backend Service is used for health
|
5448
|
+
checking.
|
5449
|
+
If not specified, TCP health check follows behavior specified in `port` and
|
5450
|
+
`portName` fields.
|
5451
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
5309
5452
|
"""
|
5310
5453
|
return pulumi.get(self, "port_specification")
|
5311
5454
|
|
@@ -13112,6 +13255,362 @@ class InterconnectAttachmentPrivateInterconnectInfoArgs:
|
|
13112
13255
|
pulumi.set(self, "tag8021q", value)
|
13113
13256
|
|
13114
13257
|
|
13258
|
+
@pulumi.input_type
|
13259
|
+
class InterconnectCircuitInfoArgs:
|
13260
|
+
def __init__(__self__, *,
|
13261
|
+
customer_demarc_id: Optional[pulumi.Input[str]] = None,
|
13262
|
+
google_circuit_id: Optional[pulumi.Input[str]] = None,
|
13263
|
+
google_demarc_id: Optional[pulumi.Input[str]] = None):
|
13264
|
+
"""
|
13265
|
+
:param pulumi.Input[str] customer_demarc_id: (Output)
|
13266
|
+
Customer-side demarc ID for this circuit.
|
13267
|
+
:param pulumi.Input[str] google_circuit_id: (Output)
|
13268
|
+
Google-assigned unique ID for this circuit. Assigned at circuit turn-up.
|
13269
|
+
:param pulumi.Input[str] google_demarc_id: (Output)
|
13270
|
+
Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by
|
13271
|
+
Google to the customer in the LOA.
|
13272
|
+
"""
|
13273
|
+
if customer_demarc_id is not None:
|
13274
|
+
pulumi.set(__self__, "customer_demarc_id", customer_demarc_id)
|
13275
|
+
if google_circuit_id is not None:
|
13276
|
+
pulumi.set(__self__, "google_circuit_id", google_circuit_id)
|
13277
|
+
if google_demarc_id is not None:
|
13278
|
+
pulumi.set(__self__, "google_demarc_id", google_demarc_id)
|
13279
|
+
|
13280
|
+
@property
|
13281
|
+
@pulumi.getter(name="customerDemarcId")
|
13282
|
+
def customer_demarc_id(self) -> Optional[pulumi.Input[str]]:
|
13283
|
+
"""
|
13284
|
+
(Output)
|
13285
|
+
Customer-side demarc ID for this circuit.
|
13286
|
+
"""
|
13287
|
+
return pulumi.get(self, "customer_demarc_id")
|
13288
|
+
|
13289
|
+
@customer_demarc_id.setter
|
13290
|
+
def customer_demarc_id(self, value: Optional[pulumi.Input[str]]):
|
13291
|
+
pulumi.set(self, "customer_demarc_id", value)
|
13292
|
+
|
13293
|
+
@property
|
13294
|
+
@pulumi.getter(name="googleCircuitId")
|
13295
|
+
def google_circuit_id(self) -> Optional[pulumi.Input[str]]:
|
13296
|
+
"""
|
13297
|
+
(Output)
|
13298
|
+
Google-assigned unique ID for this circuit. Assigned at circuit turn-up.
|
13299
|
+
"""
|
13300
|
+
return pulumi.get(self, "google_circuit_id")
|
13301
|
+
|
13302
|
+
@google_circuit_id.setter
|
13303
|
+
def google_circuit_id(self, value: Optional[pulumi.Input[str]]):
|
13304
|
+
pulumi.set(self, "google_circuit_id", value)
|
13305
|
+
|
13306
|
+
@property
|
13307
|
+
@pulumi.getter(name="googleDemarcId")
|
13308
|
+
def google_demarc_id(self) -> Optional[pulumi.Input[str]]:
|
13309
|
+
"""
|
13310
|
+
(Output)
|
13311
|
+
Google-side demarc ID for this circuit. Assigned at circuit turn-up and provided by
|
13312
|
+
Google to the customer in the LOA.
|
13313
|
+
"""
|
13314
|
+
return pulumi.get(self, "google_demarc_id")
|
13315
|
+
|
13316
|
+
@google_demarc_id.setter
|
13317
|
+
def google_demarc_id(self, value: Optional[pulumi.Input[str]]):
|
13318
|
+
pulumi.set(self, "google_demarc_id", value)
|
13319
|
+
|
13320
|
+
|
13321
|
+
@pulumi.input_type
|
13322
|
+
class InterconnectExpectedOutageArgs:
|
13323
|
+
def __init__(__self__, *,
|
13324
|
+
affected_circuits: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
13325
|
+
description: Optional[pulumi.Input[str]] = None,
|
13326
|
+
end_time: Optional[pulumi.Input[str]] = None,
|
13327
|
+
issue_type: Optional[pulumi.Input[str]] = None,
|
13328
|
+
name: Optional[pulumi.Input[str]] = None,
|
13329
|
+
source: Optional[pulumi.Input[str]] = None,
|
13330
|
+
start_time: Optional[pulumi.Input[str]] = None,
|
13331
|
+
state: Optional[pulumi.Input[str]] = None):
|
13332
|
+
"""
|
13333
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] affected_circuits: (Output)
|
13334
|
+
If issueType is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be
|
13335
|
+
affected.
|
13336
|
+
:param pulumi.Input[str] description: An optional description of this resource. Provide this property when you create the resource.
|
13337
|
+
:param pulumi.Input[str] end_time: (Output)
|
13338
|
+
Scheduled end time for the outage (milliseconds since Unix epoch).
|
13339
|
+
:param pulumi.Input[str] issue_type: (Output)
|
13340
|
+
Form this outage is expected to take. Note that the versions of this enum prefixed with
|
13341
|
+
"IT_" have been deprecated in favor of the unprefixed values. Can take one of the
|
13342
|
+
following values:
|
13343
|
+
- OUTAGE: The Interconnect may be completely out of service for some or all of the
|
13344
|
+
specified window.
|
13345
|
+
- PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain
|
13346
|
+
up, but with reduced bandwidth.
|
13347
|
+
:param pulumi.Input[str] name: Name of the resource. Provided by the client when the resource is created. The name must be
|
13348
|
+
1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
|
13349
|
+
long and match the regular expression `a-z?` which means the first
|
13350
|
+
character must be a lowercase letter, and all following characters must be a dash,
|
13351
|
+
lowercase letter, or digit, except the last character, which cannot be a dash.
|
13352
|
+
:param pulumi.Input[str] source: (Output)
|
13353
|
+
The party that generated this notification. Note that the value of NSRC_GOOGLE has been
|
13354
|
+
deprecated in favor of GOOGLE. Can take the following value:
|
13355
|
+
- GOOGLE: this notification as generated by Google.
|
13356
|
+
:param pulumi.Input[str] start_time: (Output)
|
13357
|
+
Scheduled start time for the outage (milliseconds since Unix epoch).
|
13358
|
+
:param pulumi.Input[str] state: (Output)
|
13359
|
+
State of this notification. Note that the versions of this enum prefixed with "NS_" have
|
13360
|
+
been deprecated in favor of the unprefixed values. Can take one of the following values:
|
13361
|
+
- ACTIVE: This outage notification is active. The event could be in the past, present,
|
13362
|
+
or future. See startTime and endTime for scheduling.
|
13363
|
+
- CANCELLED: The outage associated with this notification was cancelled before the
|
13364
|
+
outage was due to start.
|
13365
|
+
- COMPLETED: The outage associated with this notification is complete.
|
13366
|
+
"""
|
13367
|
+
if affected_circuits is not None:
|
13368
|
+
pulumi.set(__self__, "affected_circuits", affected_circuits)
|
13369
|
+
if description is not None:
|
13370
|
+
pulumi.set(__self__, "description", description)
|
13371
|
+
if end_time is not None:
|
13372
|
+
pulumi.set(__self__, "end_time", end_time)
|
13373
|
+
if issue_type is not None:
|
13374
|
+
pulumi.set(__self__, "issue_type", issue_type)
|
13375
|
+
if name is not None:
|
13376
|
+
pulumi.set(__self__, "name", name)
|
13377
|
+
if source is not None:
|
13378
|
+
pulumi.set(__self__, "source", source)
|
13379
|
+
if start_time is not None:
|
13380
|
+
pulumi.set(__self__, "start_time", start_time)
|
13381
|
+
if state is not None:
|
13382
|
+
pulumi.set(__self__, "state", state)
|
13383
|
+
|
13384
|
+
@property
|
13385
|
+
@pulumi.getter(name="affectedCircuits")
|
13386
|
+
def affected_circuits(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
13387
|
+
"""
|
13388
|
+
(Output)
|
13389
|
+
If issueType is IT_PARTIAL_OUTAGE, a list of the Google-side circuit IDs that will be
|
13390
|
+
affected.
|
13391
|
+
"""
|
13392
|
+
return pulumi.get(self, "affected_circuits")
|
13393
|
+
|
13394
|
+
@affected_circuits.setter
|
13395
|
+
def affected_circuits(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
13396
|
+
pulumi.set(self, "affected_circuits", value)
|
13397
|
+
|
13398
|
+
@property
|
13399
|
+
@pulumi.getter
|
13400
|
+
def description(self) -> Optional[pulumi.Input[str]]:
|
13401
|
+
"""
|
13402
|
+
An optional description of this resource. Provide this property when you create the resource.
|
13403
|
+
"""
|
13404
|
+
return pulumi.get(self, "description")
|
13405
|
+
|
13406
|
+
@description.setter
|
13407
|
+
def description(self, value: Optional[pulumi.Input[str]]):
|
13408
|
+
pulumi.set(self, "description", value)
|
13409
|
+
|
13410
|
+
@property
|
13411
|
+
@pulumi.getter(name="endTime")
|
13412
|
+
def end_time(self) -> Optional[pulumi.Input[str]]:
|
13413
|
+
"""
|
13414
|
+
(Output)
|
13415
|
+
Scheduled end time for the outage (milliseconds since Unix epoch).
|
13416
|
+
"""
|
13417
|
+
return pulumi.get(self, "end_time")
|
13418
|
+
|
13419
|
+
@end_time.setter
|
13420
|
+
def end_time(self, value: Optional[pulumi.Input[str]]):
|
13421
|
+
pulumi.set(self, "end_time", value)
|
13422
|
+
|
13423
|
+
@property
|
13424
|
+
@pulumi.getter(name="issueType")
|
13425
|
+
def issue_type(self) -> Optional[pulumi.Input[str]]:
|
13426
|
+
"""
|
13427
|
+
(Output)
|
13428
|
+
Form this outage is expected to take. Note that the versions of this enum prefixed with
|
13429
|
+
"IT_" have been deprecated in favor of the unprefixed values. Can take one of the
|
13430
|
+
following values:
|
13431
|
+
- OUTAGE: The Interconnect may be completely out of service for some or all of the
|
13432
|
+
specified window.
|
13433
|
+
- PARTIAL_OUTAGE: Some circuits comprising the Interconnect as a whole should remain
|
13434
|
+
up, but with reduced bandwidth.
|
13435
|
+
"""
|
13436
|
+
return pulumi.get(self, "issue_type")
|
13437
|
+
|
13438
|
+
@issue_type.setter
|
13439
|
+
def issue_type(self, value: Optional[pulumi.Input[str]]):
|
13440
|
+
pulumi.set(self, "issue_type", value)
|
13441
|
+
|
13442
|
+
@property
|
13443
|
+
@pulumi.getter
|
13444
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
13445
|
+
"""
|
13446
|
+
Name of the resource. Provided by the client when the resource is created. The name must be
|
13447
|
+
1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters
|
13448
|
+
long and match the regular expression `a-z?` which means the first
|
13449
|
+
character must be a lowercase letter, and all following characters must be a dash,
|
13450
|
+
lowercase letter, or digit, except the last character, which cannot be a dash.
|
13451
|
+
"""
|
13452
|
+
return pulumi.get(self, "name")
|
13453
|
+
|
13454
|
+
@name.setter
|
13455
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
13456
|
+
pulumi.set(self, "name", value)
|
13457
|
+
|
13458
|
+
@property
|
13459
|
+
@pulumi.getter
|
13460
|
+
def source(self) -> Optional[pulumi.Input[str]]:
|
13461
|
+
"""
|
13462
|
+
(Output)
|
13463
|
+
The party that generated this notification. Note that the value of NSRC_GOOGLE has been
|
13464
|
+
deprecated in favor of GOOGLE. Can take the following value:
|
13465
|
+
- GOOGLE: this notification as generated by Google.
|
13466
|
+
"""
|
13467
|
+
return pulumi.get(self, "source")
|
13468
|
+
|
13469
|
+
@source.setter
|
13470
|
+
def source(self, value: Optional[pulumi.Input[str]]):
|
13471
|
+
pulumi.set(self, "source", value)
|
13472
|
+
|
13473
|
+
@property
|
13474
|
+
@pulumi.getter(name="startTime")
|
13475
|
+
def start_time(self) -> Optional[pulumi.Input[str]]:
|
13476
|
+
"""
|
13477
|
+
(Output)
|
13478
|
+
Scheduled start time for the outage (milliseconds since Unix epoch).
|
13479
|
+
"""
|
13480
|
+
return pulumi.get(self, "start_time")
|
13481
|
+
|
13482
|
+
@start_time.setter
|
13483
|
+
def start_time(self, value: Optional[pulumi.Input[str]]):
|
13484
|
+
pulumi.set(self, "start_time", value)
|
13485
|
+
|
13486
|
+
@property
|
13487
|
+
@pulumi.getter
|
13488
|
+
def state(self) -> Optional[pulumi.Input[str]]:
|
13489
|
+
"""
|
13490
|
+
(Output)
|
13491
|
+
State of this notification. Note that the versions of this enum prefixed with "NS_" have
|
13492
|
+
been deprecated in favor of the unprefixed values. Can take one of the following values:
|
13493
|
+
- ACTIVE: This outage notification is active. The event could be in the past, present,
|
13494
|
+
or future. See startTime and endTime for scheduling.
|
13495
|
+
- CANCELLED: The outage associated with this notification was cancelled before the
|
13496
|
+
outage was due to start.
|
13497
|
+
- COMPLETED: The outage associated with this notification is complete.
|
13498
|
+
"""
|
13499
|
+
return pulumi.get(self, "state")
|
13500
|
+
|
13501
|
+
@state.setter
|
13502
|
+
def state(self, value: Optional[pulumi.Input[str]]):
|
13503
|
+
pulumi.set(self, "state", value)
|
13504
|
+
|
13505
|
+
|
13506
|
+
@pulumi.input_type
|
13507
|
+
class InterconnectMacsecArgs:
|
13508
|
+
def __init__(__self__, *,
|
13509
|
+
pre_shared_keys: pulumi.Input[Sequence[pulumi.Input['InterconnectMacsecPreSharedKeyArgs']]]):
|
13510
|
+
"""
|
13511
|
+
:param pulumi.Input[Sequence[pulumi.Input['InterconnectMacsecPreSharedKeyArgs']]] pre_shared_keys: A keychain placeholder describing a set of named key objects along with their
|
13512
|
+
start times. A MACsec CKN/CAK is generated for each key in the key chain.
|
13513
|
+
Google router automatically picks the key with the most recent startTime when establishing
|
13514
|
+
or re-establishing a MACsec secure link.
|
13515
|
+
Structure is documented below.
|
13516
|
+
"""
|
13517
|
+
pulumi.set(__self__, "pre_shared_keys", pre_shared_keys)
|
13518
|
+
|
13519
|
+
@property
|
13520
|
+
@pulumi.getter(name="preSharedKeys")
|
13521
|
+
def pre_shared_keys(self) -> pulumi.Input[Sequence[pulumi.Input['InterconnectMacsecPreSharedKeyArgs']]]:
|
13522
|
+
"""
|
13523
|
+
A keychain placeholder describing a set of named key objects along with their
|
13524
|
+
start times. A MACsec CKN/CAK is generated for each key in the key chain.
|
13525
|
+
Google router automatically picks the key with the most recent startTime when establishing
|
13526
|
+
or re-establishing a MACsec secure link.
|
13527
|
+
Structure is documented below.
|
13528
|
+
"""
|
13529
|
+
return pulumi.get(self, "pre_shared_keys")
|
13530
|
+
|
13531
|
+
@pre_shared_keys.setter
|
13532
|
+
def pre_shared_keys(self, value: pulumi.Input[Sequence[pulumi.Input['InterconnectMacsecPreSharedKeyArgs']]]):
|
13533
|
+
pulumi.set(self, "pre_shared_keys", value)
|
13534
|
+
|
13535
|
+
|
13536
|
+
@pulumi.input_type
|
13537
|
+
class InterconnectMacsecPreSharedKeyArgs:
|
13538
|
+
def __init__(__self__, *,
|
13539
|
+
name: pulumi.Input[str],
|
13540
|
+
fail_open: Optional[pulumi.Input[bool]] = None,
|
13541
|
+
start_time: Optional[pulumi.Input[str]] = None):
|
13542
|
+
"""
|
13543
|
+
:param pulumi.Input[str] name: A name for this pre-shared key. The name must be 1-63 characters long, and
|
13544
|
+
comply with RFC1035. Specifically, the name must be 1-63 characters long and match
|
13545
|
+
the regular expression `a-z?` which means the first character
|
13546
|
+
must be a lowercase letter, and all following characters must be a dash, lowercase
|
13547
|
+
letter, or digit, except the last character, which cannot be a dash.
|
13548
|
+
:param pulumi.Input[bool] fail_open: If set to true, the Interconnect connection is configured with a should-secure
|
13549
|
+
MACsec security policy, that allows the Google router to fallback to cleartext
|
13550
|
+
traffic if the MKA session cannot be established. By default, the Interconnect
|
13551
|
+
connection is configured with a must-secure security policy that drops all traffic
|
13552
|
+
if the MKA session cannot be established with your router.
|
13553
|
+
:param pulumi.Input[str] start_time: A RFC3339 timestamp on or after which the key is valid. startTime can be in the
|
13554
|
+
future. If the keychain has a single key, startTime can be omitted. If the keychain
|
13555
|
+
has multiple keys, startTime is mandatory for each key. The start times of keys must
|
13556
|
+
be in increasing order. The start times of two consecutive keys must be at least 6
|
13557
|
+
hours apart.
|
13558
|
+
"""
|
13559
|
+
pulumi.set(__self__, "name", name)
|
13560
|
+
if fail_open is not None:
|
13561
|
+
pulumi.set(__self__, "fail_open", fail_open)
|
13562
|
+
if start_time is not None:
|
13563
|
+
pulumi.set(__self__, "start_time", start_time)
|
13564
|
+
|
13565
|
+
@property
|
13566
|
+
@pulumi.getter
|
13567
|
+
def name(self) -> pulumi.Input[str]:
|
13568
|
+
"""
|
13569
|
+
A name for this pre-shared key. The name must be 1-63 characters long, and
|
13570
|
+
comply with RFC1035. Specifically, the name must be 1-63 characters long and match
|
13571
|
+
the regular expression `a-z?` which means the first character
|
13572
|
+
must be a lowercase letter, and all following characters must be a dash, lowercase
|
13573
|
+
letter, or digit, except the last character, which cannot be a dash.
|
13574
|
+
"""
|
13575
|
+
return pulumi.get(self, "name")
|
13576
|
+
|
13577
|
+
@name.setter
|
13578
|
+
def name(self, value: pulumi.Input[str]):
|
13579
|
+
pulumi.set(self, "name", value)
|
13580
|
+
|
13581
|
+
@property
|
13582
|
+
@pulumi.getter(name="failOpen")
|
13583
|
+
def fail_open(self) -> Optional[pulumi.Input[bool]]:
|
13584
|
+
"""
|
13585
|
+
If set to true, the Interconnect connection is configured with a should-secure
|
13586
|
+
MACsec security policy, that allows the Google router to fallback to cleartext
|
13587
|
+
traffic if the MKA session cannot be established. By default, the Interconnect
|
13588
|
+
connection is configured with a must-secure security policy that drops all traffic
|
13589
|
+
if the MKA session cannot be established with your router.
|
13590
|
+
"""
|
13591
|
+
return pulumi.get(self, "fail_open")
|
13592
|
+
|
13593
|
+
@fail_open.setter
|
13594
|
+
def fail_open(self, value: Optional[pulumi.Input[bool]]):
|
13595
|
+
pulumi.set(self, "fail_open", value)
|
13596
|
+
|
13597
|
+
@property
|
13598
|
+
@pulumi.getter(name="startTime")
|
13599
|
+
def start_time(self) -> Optional[pulumi.Input[str]]:
|
13600
|
+
"""
|
13601
|
+
A RFC3339 timestamp on or after which the key is valid. startTime can be in the
|
13602
|
+
future. If the keychain has a single key, startTime can be omitted. If the keychain
|
13603
|
+
has multiple keys, startTime is mandatory for each key. The start times of keys must
|
13604
|
+
be in increasing order. The start times of two consecutive keys must be at least 6
|
13605
|
+
hours apart.
|
13606
|
+
"""
|
13607
|
+
return pulumi.get(self, "start_time")
|
13608
|
+
|
13609
|
+
@start_time.setter
|
13610
|
+
def start_time(self, value: Optional[pulumi.Input[str]]):
|
13611
|
+
pulumi.set(self, "start_time", value)
|
13612
|
+
|
13613
|
+
|
13115
13614
|
@pulumi.input_type
|
13116
13615
|
class MachineImageIamBindingConditionArgs:
|
13117
13616
|
def __init__(__self__, *,
|
@@ -17755,6 +18254,15 @@ class RegionHealthCheckGrpcHealthCheckArgs:
|
|
17755
18254
|
port_name are defined, port takes precedence.
|
17756
18255
|
:param pulumi.Input[str] port_specification: Specifies how port is selected for health checking, can be one of the
|
17757
18256
|
following values:
|
18257
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18258
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18259
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18260
|
+
network endpoint is used for health checking. For other backends, the
|
18261
|
+
port or named port specified in the Backend Service is used for health
|
18262
|
+
checking.
|
18263
|
+
If not specified, gRPC health check follows behavior specified in `port` and
|
18264
|
+
`portName` fields.
|
18265
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
17758
18266
|
"""
|
17759
18267
|
if grpc_service_name is not None:
|
17760
18268
|
pulumi.set(__self__, "grpc_service_name", grpc_service_name)
|
@@ -17814,6 +18322,15 @@ class RegionHealthCheckGrpcHealthCheckArgs:
|
|
17814
18322
|
"""
|
17815
18323
|
Specifies how port is selected for health checking, can be one of the
|
17816
18324
|
following values:
|
18325
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18326
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18327
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18328
|
+
network endpoint is used for health checking. For other backends, the
|
18329
|
+
port or named port specified in the Backend Service is used for health
|
18330
|
+
checking.
|
18331
|
+
If not specified, gRPC health check follows behavior specified in `port` and
|
18332
|
+
`portName` fields.
|
18333
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
17817
18334
|
"""
|
17818
18335
|
return pulumi.get(self, "port_specification")
|
17819
18336
|
|
@@ -18003,6 +18520,15 @@ class RegionHealthCheckHttpHealthCheckArgs:
|
|
18003
18520
|
port_name are defined, port takes precedence.
|
18004
18521
|
:param pulumi.Input[str] port_specification: Specifies how port is selected for health checking, can be one of the
|
18005
18522
|
following values:
|
18523
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18524
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18525
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18526
|
+
network endpoint is used for health checking. For other backends, the
|
18527
|
+
port or named port specified in the Backend Service is used for health
|
18528
|
+
checking.
|
18529
|
+
If not specified, HTTP health check follows behavior specified in `port` and
|
18530
|
+
`portName` fields.
|
18531
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18006
18532
|
:param pulumi.Input[str] proxy_header: Specifies the type of proxy header to append before sending data to the
|
18007
18533
|
backend.
|
18008
18534
|
Default value is `NONE`.
|
@@ -18074,6 +18600,15 @@ class RegionHealthCheckHttpHealthCheckArgs:
|
|
18074
18600
|
"""
|
18075
18601
|
Specifies how port is selected for health checking, can be one of the
|
18076
18602
|
following values:
|
18603
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18604
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18605
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18606
|
+
network endpoint is used for health checking. For other backends, the
|
18607
|
+
port or named port specified in the Backend Service is used for health
|
18608
|
+
checking.
|
18609
|
+
If not specified, HTTP health check follows behavior specified in `port` and
|
18610
|
+
`portName` fields.
|
18611
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18077
18612
|
"""
|
18078
18613
|
return pulumi.get(self, "port_specification")
|
18079
18614
|
|
@@ -18144,6 +18679,15 @@ class RegionHealthCheckHttpsHealthCheckArgs:
|
|
18144
18679
|
port_name are defined, port takes precedence.
|
18145
18680
|
:param pulumi.Input[str] port_specification: Specifies how port is selected for health checking, can be one of the
|
18146
18681
|
following values:
|
18682
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18683
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18684
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18685
|
+
network endpoint is used for health checking. For other backends, the
|
18686
|
+
port or named port specified in the Backend Service is used for health
|
18687
|
+
checking.
|
18688
|
+
If not specified, HTTPS health check follows behavior specified in `port` and
|
18689
|
+
`portName` fields.
|
18690
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18147
18691
|
:param pulumi.Input[str] proxy_header: Specifies the type of proxy header to append before sending data to the
|
18148
18692
|
backend.
|
18149
18693
|
Default value is `NONE`.
|
@@ -18215,6 +18759,15 @@ class RegionHealthCheckHttpsHealthCheckArgs:
|
|
18215
18759
|
"""
|
18216
18760
|
Specifies how port is selected for health checking, can be one of the
|
18217
18761
|
following values:
|
18762
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18763
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18764
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18765
|
+
network endpoint is used for health checking. For other backends, the
|
18766
|
+
port or named port specified in the Backend Service is used for health
|
18767
|
+
checking.
|
18768
|
+
If not specified, HTTPS health check follows behavior specified in `port` and
|
18769
|
+
`portName` fields.
|
18770
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18218
18771
|
"""
|
18219
18772
|
return pulumi.get(self, "port_specification")
|
18220
18773
|
|
@@ -18306,6 +18859,15 @@ class RegionHealthCheckSslHealthCheckArgs:
|
|
18306
18859
|
port_name are defined, port takes precedence.
|
18307
18860
|
:param pulumi.Input[str] port_specification: Specifies how port is selected for health checking, can be one of the
|
18308
18861
|
following values:
|
18862
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18863
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18864
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18865
|
+
network endpoint is used for health checking. For other backends, the
|
18866
|
+
port or named port specified in the Backend Service is used for health
|
18867
|
+
checking.
|
18868
|
+
If not specified, HTTP2 health check follows behavior specified in `port` and
|
18869
|
+
`portName` fields.
|
18870
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18309
18871
|
:param pulumi.Input[str] proxy_header: Specifies the type of proxy header to append before sending data to the
|
18310
18872
|
backend.
|
18311
18873
|
Default value is `NONE`.
|
@@ -18363,6 +18925,15 @@ class RegionHealthCheckSslHealthCheckArgs:
|
|
18363
18925
|
"""
|
18364
18926
|
Specifies how port is selected for health checking, can be one of the
|
18365
18927
|
following values:
|
18928
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
18929
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
18930
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
18931
|
+
network endpoint is used for health checking. For other backends, the
|
18932
|
+
port or named port specified in the Backend Service is used for health
|
18933
|
+
checking.
|
18934
|
+
If not specified, HTTP2 health check follows behavior specified in `port` and
|
18935
|
+
`portName` fields.
|
18936
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18366
18937
|
"""
|
18367
18938
|
return pulumi.get(self, "port_specification")
|
18368
18939
|
|
@@ -18431,6 +19002,15 @@ class RegionHealthCheckTcpHealthCheckArgs:
|
|
18431
19002
|
port_name are defined, port takes precedence.
|
18432
19003
|
:param pulumi.Input[str] port_specification: Specifies how port is selected for health checking, can be one of the
|
18433
19004
|
following values:
|
19005
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
19006
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
19007
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
19008
|
+
network endpoint is used for health checking. For other backends, the
|
19009
|
+
port or named port specified in the Backend Service is used for health
|
19010
|
+
checking.
|
19011
|
+
If not specified, TCP health check follows behavior specified in `port` and
|
19012
|
+
`portName` fields.
|
19013
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18434
19014
|
:param pulumi.Input[str] proxy_header: Specifies the type of proxy header to append before sending data to the
|
18435
19015
|
backend.
|
18436
19016
|
Default value is `NONE`.
|
@@ -18488,6 +19068,15 @@ class RegionHealthCheckTcpHealthCheckArgs:
|
|
18488
19068
|
"""
|
18489
19069
|
Specifies how port is selected for health checking, can be one of the
|
18490
19070
|
following values:
|
19071
|
+
* `USE_FIXED_PORT`: The port number in `port` is used for health checking.
|
19072
|
+
* `USE_NAMED_PORT`: The `portName` is used for health checking.
|
19073
|
+
* `USE_SERVING_PORT`: For NetworkEndpointGroup, the port specified for each
|
19074
|
+
network endpoint is used for health checking. For other backends, the
|
19075
|
+
port or named port specified in the Backend Service is used for health
|
19076
|
+
checking.
|
19077
|
+
If not specified, TCP health check follows behavior specified in `port` and
|
19078
|
+
`portName` fields.
|
19079
|
+
Possible values are: `USE_FIXED_PORT`, `USE_NAMED_PORT`, `USE_SERVING_PORT`.
|
18491
19080
|
"""
|
18492
19081
|
return pulumi.get(self, "port_specification")
|
18493
19082
|
|
@@ -21914,17 +22503,22 @@ class RegionSecurityPolicyDdosProtectionConfigArgs:
|
|
21914
22503
|
class RegionSecurityPolicyRuleMatchArgs:
|
21915
22504
|
def __init__(__self__, *,
|
21916
22505
|
config: Optional[pulumi.Input['RegionSecurityPolicyRuleMatchConfigArgs']] = None,
|
22506
|
+
expr: Optional[pulumi.Input['RegionSecurityPolicyRuleMatchExprArgs']] = None,
|
21917
22507
|
versioned_expr: Optional[pulumi.Input[str]] = None):
|
21918
22508
|
"""
|
21919
22509
|
:param pulumi.Input['RegionSecurityPolicyRuleMatchConfigArgs'] config: The configuration options available when specifying versionedExpr.
|
21920
22510
|
This field must be specified if versionedExpr is specified and cannot be specified if versionedExpr is not specified.
|
21921
22511
|
Structure is documented below.
|
22512
|
+
:param pulumi.Input['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.
|
22513
|
+
Structure is documented below.
|
21922
22514
|
:param pulumi.Input[str] versioned_expr: Preconfigured versioned expression. If this field is specified, config must also be specified.
|
21923
22515
|
Available preconfigured expressions along with their requirements are: SRC_IPS_V1 - must specify the corresponding srcIpRange field in config.
|
21924
22516
|
Possible values are: `SRC_IPS_V1`.
|
21925
22517
|
"""
|
21926
22518
|
if config is not None:
|
21927
22519
|
pulumi.set(__self__, "config", config)
|
22520
|
+
if expr is not None:
|
22521
|
+
pulumi.set(__self__, "expr", expr)
|
21928
22522
|
if versioned_expr is not None:
|
21929
22523
|
pulumi.set(__self__, "versioned_expr", versioned_expr)
|
21930
22524
|
|
@@ -21942,6 +22536,19 @@ class RegionSecurityPolicyRuleMatchArgs:
|
|
21942
22536
|
def config(self, value: Optional[pulumi.Input['RegionSecurityPolicyRuleMatchConfigArgs']]):
|
21943
22537
|
pulumi.set(self, "config", value)
|
21944
22538
|
|
22539
|
+
@property
|
22540
|
+
@pulumi.getter
|
22541
|
+
def expr(self) -> Optional[pulumi.Input['RegionSecurityPolicyRuleMatchExprArgs']]:
|
22542
|
+
"""
|
22543
|
+
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.
|
22544
|
+
Structure is documented below.
|
22545
|
+
"""
|
22546
|
+
return pulumi.get(self, "expr")
|
22547
|
+
|
22548
|
+
@expr.setter
|
22549
|
+
def expr(self, value: Optional[pulumi.Input['RegionSecurityPolicyRuleMatchExprArgs']]):
|
22550
|
+
pulumi.set(self, "expr", value)
|
22551
|
+
|
21945
22552
|
@property
|
21946
22553
|
@pulumi.getter(name="versionedExpr")
|
21947
22554
|
def versioned_expr(self) -> Optional[pulumi.Input[str]]:
|
@@ -21980,6 +22587,28 @@ class RegionSecurityPolicyRuleMatchConfigArgs:
|
|
21980
22587
|
pulumi.set(self, "src_ip_ranges", value)
|
21981
22588
|
|
21982
22589
|
|
22590
|
+
@pulumi.input_type
|
22591
|
+
class RegionSecurityPolicyRuleMatchExprArgs:
|
22592
|
+
def __init__(__self__, *,
|
22593
|
+
expression: pulumi.Input[str]):
|
22594
|
+
"""
|
22595
|
+
:param pulumi.Input[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.
|
22596
|
+
"""
|
22597
|
+
pulumi.set(__self__, "expression", expression)
|
22598
|
+
|
22599
|
+
@property
|
22600
|
+
@pulumi.getter
|
22601
|
+
def expression(self) -> pulumi.Input[str]:
|
22602
|
+
"""
|
22603
|
+
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.
|
22604
|
+
"""
|
22605
|
+
return pulumi.get(self, "expression")
|
22606
|
+
|
22607
|
+
@expression.setter
|
22608
|
+
def expression(self, value: pulumi.Input[str]):
|
22609
|
+
pulumi.set(self, "expression", value)
|
22610
|
+
|
22611
|
+
|
21983
22612
|
@pulumi.input_type
|
21984
22613
|
class RegionSecurityPolicyRuleNetworkMatchArgs:
|
21985
22614
|
def __init__(__self__, *,
|
@@ -22157,58 +22786,737 @@ class RegionSecurityPolicyRuleNetworkMatchUserDefinedFieldArgs:
|
|
22157
22786
|
|
22158
22787
|
|
22159
22788
|
@pulumi.input_type
|
22160
|
-
class
|
22789
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigArgs:
|
22161
22790
|
def __init__(__self__, *,
|
22162
|
-
|
22163
|
-
mask: Optional[pulumi.Input[str]] = None,
|
22164
|
-
name: Optional[pulumi.Input[str]] = None,
|
22165
|
-
offset: Optional[pulumi.Input[int]] = None,
|
22166
|
-
size: Optional[pulumi.Input[int]] = None):
|
22791
|
+
exclusions: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs']]]] = None):
|
22167
22792
|
"""
|
22168
|
-
:param pulumi.Input[
|
22169
|
-
|
22170
|
-
- IPV6: Points to the beginning of the IPv6 header.
|
22171
|
-
- TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments.
|
22172
|
-
- UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments.
|
22173
|
-
Possible values are: `IPV4`, `IPV6`, `TCP`, `UDP`.
|
22174
|
-
:param pulumi.Input[str] mask: If specified, apply this mask (bitwise AND) to the field to ignore bits before matching.
|
22175
|
-
Encoded as a hexadecimal number (starting with "0x").
|
22176
|
-
The last byte of the field (in network byte order) corresponds to the least significant byte of the mask.
|
22177
|
-
:param pulumi.Input[str] name: The name of this field. Must be unique within the policy.
|
22178
|
-
:param pulumi.Input[int] offset: Offset of the first byte of the field (in network byte order) relative to 'base'.
|
22179
|
-
:param pulumi.Input[int] size: Size of the field in bytes. Valid values: 1-4.
|
22793
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs']]] exclusions: An exclusion to apply during preconfigured WAF evaluation.
|
22794
|
+
Structure is documented below.
|
22180
22795
|
"""
|
22181
|
-
|
22182
|
-
|
22183
|
-
pulumi.set(__self__, "mask", mask)
|
22184
|
-
if name is not None:
|
22185
|
-
pulumi.set(__self__, "name", name)
|
22186
|
-
if offset is not None:
|
22187
|
-
pulumi.set(__self__, "offset", offset)
|
22188
|
-
if size is not None:
|
22189
|
-
pulumi.set(__self__, "size", size)
|
22796
|
+
if exclusions is not None:
|
22797
|
+
pulumi.set(__self__, "exclusions", exclusions)
|
22190
22798
|
|
22191
22799
|
@property
|
22192
22800
|
@pulumi.getter
|
22193
|
-
def
|
22801
|
+
def exclusions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs']]]]:
|
22194
22802
|
"""
|
22195
|
-
|
22196
|
-
|
22197
|
-
- IPV6: Points to the beginning of the IPv6 header.
|
22198
|
-
- TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments.
|
22199
|
-
- UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments.
|
22200
|
-
Possible values are: `IPV4`, `IPV6`, `TCP`, `UDP`.
|
22803
|
+
An exclusion to apply during preconfigured WAF evaluation.
|
22804
|
+
Structure is documented below.
|
22201
22805
|
"""
|
22202
|
-
return pulumi.get(self, "
|
22806
|
+
return pulumi.get(self, "exclusions")
|
22203
22807
|
|
22204
|
-
@
|
22205
|
-
def
|
22206
|
-
pulumi.set(self, "
|
22808
|
+
@exclusions.setter
|
22809
|
+
def exclusions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs']]]]):
|
22810
|
+
pulumi.set(self, "exclusions", value)
|
22207
22811
|
|
22208
|
-
|
22209
|
-
|
22210
|
-
|
22211
|
-
|
22812
|
+
|
22813
|
+
@pulumi.input_type
|
22814
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigExclusionArgs:
|
22815
|
+
def __init__(__self__, *,
|
22816
|
+
target_rule_set: pulumi.Input[str],
|
22817
|
+
request_cookies: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyArgs']]]] = None,
|
22818
|
+
request_headers: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderArgs']]]] = None,
|
22819
|
+
request_query_params: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs']]]] = None,
|
22820
|
+
request_uris: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs']]]] = None,
|
22821
|
+
target_rule_ids: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
22822
|
+
"""
|
22823
|
+
:param pulumi.Input[str] target_rule_set: Target WAF rule set to apply the preconfigured WAF exclusion.
|
22824
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyArgs']]] request_cookies: Request cookie whose value will be excluded from inspection during preconfigured WAF evaluation.
|
22825
|
+
Structure is documented below.
|
22826
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderArgs']]] request_headers: Request header whose value will be excluded from inspection during preconfigured WAF evaluation.
|
22827
|
+
Structure is documented below.
|
22828
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs']]] request_query_params: Request query parameter whose value will be excluded from inspection during preconfigured WAF evaluation.
|
22829
|
+
Note that the parameter can be in the query string or in the POST body.
|
22830
|
+
Structure is documented below.
|
22831
|
+
:param pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs']]] request_uris: Request URI from the request line to be excluded from inspection during preconfigured WAF evaluation.
|
22832
|
+
When specifying this field, the query or fragment part should be excluded.
|
22833
|
+
Structure is documented below.
|
22834
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] target_rule_ids: A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion.
|
22835
|
+
If omitted, it refers to all the rule IDs under the WAF rule set.
|
22836
|
+
"""
|
22837
|
+
pulumi.set(__self__, "target_rule_set", target_rule_set)
|
22838
|
+
if request_cookies is not None:
|
22839
|
+
pulumi.set(__self__, "request_cookies", request_cookies)
|
22840
|
+
if request_headers is not None:
|
22841
|
+
pulumi.set(__self__, "request_headers", request_headers)
|
22842
|
+
if request_query_params is not None:
|
22843
|
+
pulumi.set(__self__, "request_query_params", request_query_params)
|
22844
|
+
if request_uris is not None:
|
22845
|
+
pulumi.set(__self__, "request_uris", request_uris)
|
22846
|
+
if target_rule_ids is not None:
|
22847
|
+
pulumi.set(__self__, "target_rule_ids", target_rule_ids)
|
22848
|
+
|
22849
|
+
@property
|
22850
|
+
@pulumi.getter(name="targetRuleSet")
|
22851
|
+
def target_rule_set(self) -> pulumi.Input[str]:
|
22852
|
+
"""
|
22853
|
+
Target WAF rule set to apply the preconfigured WAF exclusion.
|
22854
|
+
"""
|
22855
|
+
return pulumi.get(self, "target_rule_set")
|
22856
|
+
|
22857
|
+
@target_rule_set.setter
|
22858
|
+
def target_rule_set(self, value: pulumi.Input[str]):
|
22859
|
+
pulumi.set(self, "target_rule_set", value)
|
22860
|
+
|
22861
|
+
@property
|
22862
|
+
@pulumi.getter(name="requestCookies")
|
22863
|
+
def request_cookies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyArgs']]]]:
|
22864
|
+
"""
|
22865
|
+
Request cookie whose value will be excluded from inspection during preconfigured WAF evaluation.
|
22866
|
+
Structure is documented below.
|
22867
|
+
"""
|
22868
|
+
return pulumi.get(self, "request_cookies")
|
22869
|
+
|
22870
|
+
@request_cookies.setter
|
22871
|
+
def request_cookies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyArgs']]]]):
|
22872
|
+
pulumi.set(self, "request_cookies", value)
|
22873
|
+
|
22874
|
+
@property
|
22875
|
+
@pulumi.getter(name="requestHeaders")
|
22876
|
+
def request_headers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderArgs']]]]:
|
22877
|
+
"""
|
22878
|
+
Request header whose value will be excluded from inspection during preconfigured WAF evaluation.
|
22879
|
+
Structure is documented below.
|
22880
|
+
"""
|
22881
|
+
return pulumi.get(self, "request_headers")
|
22882
|
+
|
22883
|
+
@request_headers.setter
|
22884
|
+
def request_headers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderArgs']]]]):
|
22885
|
+
pulumi.set(self, "request_headers", value)
|
22886
|
+
|
22887
|
+
@property
|
22888
|
+
@pulumi.getter(name="requestQueryParams")
|
22889
|
+
def request_query_params(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs']]]]:
|
22890
|
+
"""
|
22891
|
+
Request query parameter whose value will be excluded from inspection during preconfigured WAF evaluation.
|
22892
|
+
Note that the parameter can be in the query string or in the POST body.
|
22893
|
+
Structure is documented below.
|
22894
|
+
"""
|
22895
|
+
return pulumi.get(self, "request_query_params")
|
22896
|
+
|
22897
|
+
@request_query_params.setter
|
22898
|
+
def request_query_params(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs']]]]):
|
22899
|
+
pulumi.set(self, "request_query_params", value)
|
22900
|
+
|
22901
|
+
@property
|
22902
|
+
@pulumi.getter(name="requestUris")
|
22903
|
+
def request_uris(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs']]]]:
|
22904
|
+
"""
|
22905
|
+
Request URI from the request line to be excluded from inspection during preconfigured WAF evaluation.
|
22906
|
+
When specifying this field, the query or fragment part should be excluded.
|
22907
|
+
Structure is documented below.
|
22908
|
+
"""
|
22909
|
+
return pulumi.get(self, "request_uris")
|
22910
|
+
|
22911
|
+
@request_uris.setter
|
22912
|
+
def request_uris(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs']]]]):
|
22913
|
+
pulumi.set(self, "request_uris", value)
|
22914
|
+
|
22915
|
+
@property
|
22916
|
+
@pulumi.getter(name="targetRuleIds")
|
22917
|
+
def target_rule_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
22918
|
+
"""
|
22919
|
+
A list of target rule IDs under the WAF rule set to apply the preconfigured WAF exclusion.
|
22920
|
+
If omitted, it refers to all the rule IDs under the WAF rule set.
|
22921
|
+
"""
|
22922
|
+
return pulumi.get(self, "target_rule_ids")
|
22923
|
+
|
22924
|
+
@target_rule_ids.setter
|
22925
|
+
def target_rule_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
22926
|
+
pulumi.set(self, "target_rule_ids", value)
|
22927
|
+
|
22928
|
+
|
22929
|
+
@pulumi.input_type
|
22930
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestCookyArgs:
|
22931
|
+
def __init__(__self__, *,
|
22932
|
+
operator: pulumi.Input[str],
|
22933
|
+
value: Optional[pulumi.Input[str]] = None):
|
22934
|
+
"""
|
22935
|
+
:param pulumi.Input[str] operator: You can specify an exact match or a partial match by using a field operator and a field value.
|
22936
|
+
Available options:
|
22937
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
22938
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
22939
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
22940
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
22941
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
22942
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
22943
|
+
:param pulumi.Input[str] value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
22944
|
+
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.
|
22945
|
+
"""
|
22946
|
+
pulumi.set(__self__, "operator", operator)
|
22947
|
+
if value is not None:
|
22948
|
+
pulumi.set(__self__, "value", value)
|
22949
|
+
|
22950
|
+
@property
|
22951
|
+
@pulumi.getter
|
22952
|
+
def operator(self) -> pulumi.Input[str]:
|
22953
|
+
"""
|
22954
|
+
You can specify an exact match or a partial match by using a field operator and a field value.
|
22955
|
+
Available options:
|
22956
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
22957
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
22958
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
22959
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
22960
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
22961
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
22962
|
+
"""
|
22963
|
+
return pulumi.get(self, "operator")
|
22964
|
+
|
22965
|
+
@operator.setter
|
22966
|
+
def operator(self, value: pulumi.Input[str]):
|
22967
|
+
pulumi.set(self, "operator", value)
|
22968
|
+
|
22969
|
+
@property
|
22970
|
+
@pulumi.getter
|
22971
|
+
def value(self) -> Optional[pulumi.Input[str]]:
|
22972
|
+
"""
|
22973
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
22974
|
+
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.
|
22975
|
+
"""
|
22976
|
+
return pulumi.get(self, "value")
|
22977
|
+
|
22978
|
+
@value.setter
|
22979
|
+
def value(self, value: Optional[pulumi.Input[str]]):
|
22980
|
+
pulumi.set(self, "value", value)
|
22981
|
+
|
22982
|
+
|
22983
|
+
@pulumi.input_type
|
22984
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestHeaderArgs:
|
22985
|
+
def __init__(__self__, *,
|
22986
|
+
operator: pulumi.Input[str],
|
22987
|
+
value: Optional[pulumi.Input[str]] = None):
|
22988
|
+
"""
|
22989
|
+
:param pulumi.Input[str] operator: You can specify an exact match or a partial match by using a field operator and a field value.
|
22990
|
+
Available options:
|
22991
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
22992
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
22993
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
22994
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
22995
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
22996
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
22997
|
+
:param pulumi.Input[str] value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
22998
|
+
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.
|
22999
|
+
"""
|
23000
|
+
pulumi.set(__self__, "operator", operator)
|
23001
|
+
if value is not None:
|
23002
|
+
pulumi.set(__self__, "value", value)
|
23003
|
+
|
23004
|
+
@property
|
23005
|
+
@pulumi.getter
|
23006
|
+
def operator(self) -> pulumi.Input[str]:
|
23007
|
+
"""
|
23008
|
+
You can specify an exact match or a partial match by using a field operator and a field value.
|
23009
|
+
Available options:
|
23010
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23011
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23012
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23013
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23014
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23015
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23016
|
+
"""
|
23017
|
+
return pulumi.get(self, "operator")
|
23018
|
+
|
23019
|
+
@operator.setter
|
23020
|
+
def operator(self, value: pulumi.Input[str]):
|
23021
|
+
pulumi.set(self, "operator", value)
|
23022
|
+
|
23023
|
+
@property
|
23024
|
+
@pulumi.getter
|
23025
|
+
def value(self) -> Optional[pulumi.Input[str]]:
|
23026
|
+
"""
|
23027
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23028
|
+
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.
|
23029
|
+
"""
|
23030
|
+
return pulumi.get(self, "value")
|
23031
|
+
|
23032
|
+
@value.setter
|
23033
|
+
def value(self, value: Optional[pulumi.Input[str]]):
|
23034
|
+
pulumi.set(self, "value", value)
|
23035
|
+
|
23036
|
+
|
23037
|
+
@pulumi.input_type
|
23038
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestQueryParamArgs:
|
23039
|
+
def __init__(__self__, *,
|
23040
|
+
operator: pulumi.Input[str],
|
23041
|
+
value: Optional[pulumi.Input[str]] = None):
|
23042
|
+
"""
|
23043
|
+
:param pulumi.Input[str] operator: You can specify an exact match or a partial match by using a field operator and a field value.
|
23044
|
+
Available options:
|
23045
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23046
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23047
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23048
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23049
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23050
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23051
|
+
:param pulumi.Input[str] value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23052
|
+
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.
|
23053
|
+
"""
|
23054
|
+
pulumi.set(__self__, "operator", operator)
|
23055
|
+
if value is not None:
|
23056
|
+
pulumi.set(__self__, "value", value)
|
23057
|
+
|
23058
|
+
@property
|
23059
|
+
@pulumi.getter
|
23060
|
+
def operator(self) -> pulumi.Input[str]:
|
23061
|
+
"""
|
23062
|
+
You can specify an exact match or a partial match by using a field operator and a field value.
|
23063
|
+
Available options:
|
23064
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23065
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23066
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23067
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23068
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23069
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23070
|
+
"""
|
23071
|
+
return pulumi.get(self, "operator")
|
23072
|
+
|
23073
|
+
@operator.setter
|
23074
|
+
def operator(self, value: pulumi.Input[str]):
|
23075
|
+
pulumi.set(self, "operator", value)
|
23076
|
+
|
23077
|
+
@property
|
23078
|
+
@pulumi.getter
|
23079
|
+
def value(self) -> Optional[pulumi.Input[str]]:
|
23080
|
+
"""
|
23081
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23082
|
+
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.
|
23083
|
+
"""
|
23084
|
+
return pulumi.get(self, "value")
|
23085
|
+
|
23086
|
+
@value.setter
|
23087
|
+
def value(self, value: Optional[pulumi.Input[str]]):
|
23088
|
+
pulumi.set(self, "value", value)
|
23089
|
+
|
23090
|
+
|
23091
|
+
@pulumi.input_type
|
23092
|
+
class RegionSecurityPolicyRulePreconfiguredWafConfigExclusionRequestUriArgs:
|
23093
|
+
def __init__(__self__, *,
|
23094
|
+
operator: pulumi.Input[str],
|
23095
|
+
value: Optional[pulumi.Input[str]] = None):
|
23096
|
+
"""
|
23097
|
+
:param pulumi.Input[str] operator: You can specify an exact match or a partial match by using a field operator and a field value.
|
23098
|
+
Available options:
|
23099
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23100
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23101
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23102
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23103
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23104
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23105
|
+
:param pulumi.Input[str] value: A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23106
|
+
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.
|
23107
|
+
"""
|
23108
|
+
pulumi.set(__self__, "operator", operator)
|
23109
|
+
if value is not None:
|
23110
|
+
pulumi.set(__self__, "value", value)
|
23111
|
+
|
23112
|
+
@property
|
23113
|
+
@pulumi.getter
|
23114
|
+
def operator(self) -> pulumi.Input[str]:
|
23115
|
+
"""
|
23116
|
+
You can specify an exact match or a partial match by using a field operator and a field value.
|
23117
|
+
Available options:
|
23118
|
+
EQUALS: The operator matches if the field value equals the specified value.
|
23119
|
+
STARTS_WITH: The operator matches if the field value starts with the specified value.
|
23120
|
+
ENDS_WITH: The operator matches if the field value ends with the specified value.
|
23121
|
+
CONTAINS: The operator matches if the field value contains the specified value.
|
23122
|
+
EQUALS_ANY: The operator matches if the field value is any value.
|
23123
|
+
Possible values are: `CONTAINS`, `ENDS_WITH`, `EQUALS`, `EQUALS_ANY`, `STARTS_WITH`.
|
23124
|
+
"""
|
23125
|
+
return pulumi.get(self, "operator")
|
23126
|
+
|
23127
|
+
@operator.setter
|
23128
|
+
def operator(self, value: pulumi.Input[str]):
|
23129
|
+
pulumi.set(self, "operator", value)
|
23130
|
+
|
23131
|
+
@property
|
23132
|
+
@pulumi.getter
|
23133
|
+
def value(self) -> Optional[pulumi.Input[str]]:
|
23134
|
+
"""
|
23135
|
+
A request field matching the specified value will be excluded from inspection during preconfigured WAF evaluation.
|
23136
|
+
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.
|
23137
|
+
"""
|
23138
|
+
return pulumi.get(self, "value")
|
23139
|
+
|
23140
|
+
@value.setter
|
23141
|
+
def value(self, value: Optional[pulumi.Input[str]]):
|
23142
|
+
pulumi.set(self, "value", value)
|
23143
|
+
|
23144
|
+
|
23145
|
+
@pulumi.input_type
|
23146
|
+
class RegionSecurityPolicyRuleRateLimitOptionsArgs:
|
23147
|
+
def __init__(__self__, *,
|
23148
|
+
ban_duration_sec: Optional[pulumi.Input[int]] = None,
|
23149
|
+
ban_threshold: Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsBanThresholdArgs']] = None,
|
23150
|
+
conform_action: Optional[pulumi.Input[str]] = None,
|
23151
|
+
enforce_on_key: Optional[pulumi.Input[str]] = None,
|
23152
|
+
enforce_on_key_configs: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]]] = None,
|
23153
|
+
enforce_on_key_name: Optional[pulumi.Input[str]] = None,
|
23154
|
+
exceed_action: Optional[pulumi.Input[str]] = None,
|
23155
|
+
rate_limit_threshold: Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs']] = None):
|
23156
|
+
"""
|
23157
|
+
:param pulumi.Input[int] ban_duration_sec: Can only be specified if the action for the rule is "rate_based_ban".
|
23158
|
+
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.
|
23159
|
+
:param pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsBanThresholdArgs'] ban_threshold: Can only be specified if the action for the rule is "rate_based_ban".
|
23160
|
+
If specified, the key will be banned for the configured 'banDurationSec' when the number of requests that exceed the 'rateLimitThreshold' also exceed this 'banThreshold'.
|
23161
|
+
Structure is documented below.
|
23162
|
+
:param pulumi.Input[str] conform_action: Action to take for requests that are under the configured rate limit threshold.
|
23163
|
+
Valid option is "allow" only.
|
23164
|
+
:param pulumi.Input[str] enforce_on_key: Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
23165
|
+
* 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.
|
23166
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
23167
|
+
* 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.
|
23168
|
+
* 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.
|
23169
|
+
* 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.
|
23170
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
23171
|
+
* 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.
|
23172
|
+
* REGION_CODE: The country/region from which the request originates.
|
23173
|
+
* 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.
|
23174
|
+
* 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.
|
23175
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
23176
|
+
:param pulumi.Input[Sequence[pulumi.Input['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.
|
23177
|
+
You can specify up to 3 enforceOnKeyConfigs.
|
23178
|
+
If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
|
23179
|
+
Structure is documented below.
|
23180
|
+
:param pulumi.Input[str] enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
23181
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
23182
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
23183
|
+
:param pulumi.Input[str] exceed_action: Action to take for requests that are above the configured rate limit threshold, to deny with a specified HTTP response code.
|
23184
|
+
Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502.
|
23185
|
+
:param pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs'] rate_limit_threshold: Threshold at which to begin ratelimiting.
|
23186
|
+
Structure is documented below.
|
23187
|
+
"""
|
23188
|
+
if ban_duration_sec is not None:
|
23189
|
+
pulumi.set(__self__, "ban_duration_sec", ban_duration_sec)
|
23190
|
+
if ban_threshold is not None:
|
23191
|
+
pulumi.set(__self__, "ban_threshold", ban_threshold)
|
23192
|
+
if conform_action is not None:
|
23193
|
+
pulumi.set(__self__, "conform_action", conform_action)
|
23194
|
+
if enforce_on_key is not None:
|
23195
|
+
pulumi.set(__self__, "enforce_on_key", enforce_on_key)
|
23196
|
+
if enforce_on_key_configs is not None:
|
23197
|
+
pulumi.set(__self__, "enforce_on_key_configs", enforce_on_key_configs)
|
23198
|
+
if enforce_on_key_name is not None:
|
23199
|
+
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
23200
|
+
if exceed_action is not None:
|
23201
|
+
pulumi.set(__self__, "exceed_action", exceed_action)
|
23202
|
+
if rate_limit_threshold is not None:
|
23203
|
+
pulumi.set(__self__, "rate_limit_threshold", rate_limit_threshold)
|
23204
|
+
|
23205
|
+
@property
|
23206
|
+
@pulumi.getter(name="banDurationSec")
|
23207
|
+
def ban_duration_sec(self) -> Optional[pulumi.Input[int]]:
|
23208
|
+
"""
|
23209
|
+
Can only be specified if the action for the rule is "rate_based_ban".
|
23210
|
+
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.
|
23211
|
+
"""
|
23212
|
+
return pulumi.get(self, "ban_duration_sec")
|
23213
|
+
|
23214
|
+
@ban_duration_sec.setter
|
23215
|
+
def ban_duration_sec(self, value: Optional[pulumi.Input[int]]):
|
23216
|
+
pulumi.set(self, "ban_duration_sec", value)
|
23217
|
+
|
23218
|
+
@property
|
23219
|
+
@pulumi.getter(name="banThreshold")
|
23220
|
+
def ban_threshold(self) -> Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsBanThresholdArgs']]:
|
23221
|
+
"""
|
23222
|
+
Can only be specified if the action for the rule is "rate_based_ban".
|
23223
|
+
If specified, the key will be banned for the configured 'banDurationSec' when the number of requests that exceed the 'rateLimitThreshold' also exceed this 'banThreshold'.
|
23224
|
+
Structure is documented below.
|
23225
|
+
"""
|
23226
|
+
return pulumi.get(self, "ban_threshold")
|
23227
|
+
|
23228
|
+
@ban_threshold.setter
|
23229
|
+
def ban_threshold(self, value: Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsBanThresholdArgs']]):
|
23230
|
+
pulumi.set(self, "ban_threshold", value)
|
23231
|
+
|
23232
|
+
@property
|
23233
|
+
@pulumi.getter(name="conformAction")
|
23234
|
+
def conform_action(self) -> Optional[pulumi.Input[str]]:
|
23235
|
+
"""
|
23236
|
+
Action to take for requests that are under the configured rate limit threshold.
|
23237
|
+
Valid option is "allow" only.
|
23238
|
+
"""
|
23239
|
+
return pulumi.get(self, "conform_action")
|
23240
|
+
|
23241
|
+
@conform_action.setter
|
23242
|
+
def conform_action(self, value: Optional[pulumi.Input[str]]):
|
23243
|
+
pulumi.set(self, "conform_action", value)
|
23244
|
+
|
23245
|
+
@property
|
23246
|
+
@pulumi.getter(name="enforceOnKey")
|
23247
|
+
def enforce_on_key(self) -> Optional[pulumi.Input[str]]:
|
23248
|
+
"""
|
23249
|
+
Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
23250
|
+
* 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.
|
23251
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
23252
|
+
* 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.
|
23253
|
+
* 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.
|
23254
|
+
* 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.
|
23255
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
23256
|
+
* 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.
|
23257
|
+
* REGION_CODE: The country/region from which the request originates.
|
23258
|
+
* 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.
|
23259
|
+
* 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.
|
23260
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
23261
|
+
"""
|
23262
|
+
return pulumi.get(self, "enforce_on_key")
|
23263
|
+
|
23264
|
+
@enforce_on_key.setter
|
23265
|
+
def enforce_on_key(self, value: Optional[pulumi.Input[str]]):
|
23266
|
+
pulumi.set(self, "enforce_on_key", value)
|
23267
|
+
|
23268
|
+
@property
|
23269
|
+
@pulumi.getter(name="enforceOnKeyConfigs")
|
23270
|
+
def enforce_on_key_configs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]]]:
|
23271
|
+
"""
|
23272
|
+
If specified, any combination of values of enforceOnKeyType/enforceOnKeyName is treated as the key on which ratelimit threshold/action is enforced.
|
23273
|
+
You can specify up to 3 enforceOnKeyConfigs.
|
23274
|
+
If enforceOnKeyConfigs is specified, enforceOnKey must not be specified.
|
23275
|
+
Structure is documented below.
|
23276
|
+
"""
|
23277
|
+
return pulumi.get(self, "enforce_on_key_configs")
|
23278
|
+
|
23279
|
+
@enforce_on_key_configs.setter
|
23280
|
+
def enforce_on_key_configs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs']]]]):
|
23281
|
+
pulumi.set(self, "enforce_on_key_configs", value)
|
23282
|
+
|
23283
|
+
@property
|
23284
|
+
@pulumi.getter(name="enforceOnKeyName")
|
23285
|
+
def enforce_on_key_name(self) -> Optional[pulumi.Input[str]]:
|
23286
|
+
"""
|
23287
|
+
Rate limit key name applicable only for the following key types:
|
23288
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
23289
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
23290
|
+
"""
|
23291
|
+
return pulumi.get(self, "enforce_on_key_name")
|
23292
|
+
|
23293
|
+
@enforce_on_key_name.setter
|
23294
|
+
def enforce_on_key_name(self, value: Optional[pulumi.Input[str]]):
|
23295
|
+
pulumi.set(self, "enforce_on_key_name", value)
|
23296
|
+
|
23297
|
+
@property
|
23298
|
+
@pulumi.getter(name="exceedAction")
|
23299
|
+
def exceed_action(self) -> Optional[pulumi.Input[str]]:
|
23300
|
+
"""
|
23301
|
+
Action to take for requests that are above the configured rate limit threshold, to deny with a specified HTTP response code.
|
23302
|
+
Valid options are deny(STATUS), where valid values for STATUS are 403, 404, 429, and 502.
|
23303
|
+
"""
|
23304
|
+
return pulumi.get(self, "exceed_action")
|
23305
|
+
|
23306
|
+
@exceed_action.setter
|
23307
|
+
def exceed_action(self, value: Optional[pulumi.Input[str]]):
|
23308
|
+
pulumi.set(self, "exceed_action", value)
|
23309
|
+
|
23310
|
+
@property
|
23311
|
+
@pulumi.getter(name="rateLimitThreshold")
|
23312
|
+
def rate_limit_threshold(self) -> Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs']]:
|
23313
|
+
"""
|
23314
|
+
Threshold at which to begin ratelimiting.
|
23315
|
+
Structure is documented below.
|
23316
|
+
"""
|
23317
|
+
return pulumi.get(self, "rate_limit_threshold")
|
23318
|
+
|
23319
|
+
@rate_limit_threshold.setter
|
23320
|
+
def rate_limit_threshold(self, value: Optional[pulumi.Input['RegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs']]):
|
23321
|
+
pulumi.set(self, "rate_limit_threshold", value)
|
23322
|
+
|
23323
|
+
|
23324
|
+
@pulumi.input_type
|
23325
|
+
class RegionSecurityPolicyRuleRateLimitOptionsBanThresholdArgs:
|
23326
|
+
def __init__(__self__, *,
|
23327
|
+
count: Optional[pulumi.Input[int]] = None,
|
23328
|
+
interval_sec: Optional[pulumi.Input[int]] = None):
|
23329
|
+
"""
|
23330
|
+
:param pulumi.Input[int] count: Number of HTTP(S) requests for calculating the threshold.
|
23331
|
+
:param pulumi.Input[int] interval_sec: Interval over which the threshold is computed.
|
23332
|
+
"""
|
23333
|
+
if count is not None:
|
23334
|
+
pulumi.set(__self__, "count", count)
|
23335
|
+
if interval_sec is not None:
|
23336
|
+
pulumi.set(__self__, "interval_sec", interval_sec)
|
23337
|
+
|
23338
|
+
@property
|
23339
|
+
@pulumi.getter
|
23340
|
+
def count(self) -> Optional[pulumi.Input[int]]:
|
23341
|
+
"""
|
23342
|
+
Number of HTTP(S) requests for calculating the threshold.
|
23343
|
+
"""
|
23344
|
+
return pulumi.get(self, "count")
|
23345
|
+
|
23346
|
+
@count.setter
|
23347
|
+
def count(self, value: Optional[pulumi.Input[int]]):
|
23348
|
+
pulumi.set(self, "count", value)
|
23349
|
+
|
23350
|
+
@property
|
23351
|
+
@pulumi.getter(name="intervalSec")
|
23352
|
+
def interval_sec(self) -> Optional[pulumi.Input[int]]:
|
23353
|
+
"""
|
23354
|
+
Interval over which the threshold is computed.
|
23355
|
+
"""
|
23356
|
+
return pulumi.get(self, "interval_sec")
|
23357
|
+
|
23358
|
+
@interval_sec.setter
|
23359
|
+
def interval_sec(self, value: Optional[pulumi.Input[int]]):
|
23360
|
+
pulumi.set(self, "interval_sec", value)
|
23361
|
+
|
23362
|
+
|
23363
|
+
@pulumi.input_type
|
23364
|
+
class RegionSecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
|
23365
|
+
def __init__(__self__, *,
|
23366
|
+
enforce_on_key_name: Optional[pulumi.Input[str]] = None,
|
23367
|
+
enforce_on_key_type: Optional[pulumi.Input[str]] = None):
|
23368
|
+
"""
|
23369
|
+
:param pulumi.Input[str] enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
23370
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
23371
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
23372
|
+
:param pulumi.Input[str] enforce_on_key_type: Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
23373
|
+
* 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.
|
23374
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
23375
|
+
* 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.
|
23376
|
+
* 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.
|
23377
|
+
* 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.
|
23378
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
23379
|
+
* 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.
|
23380
|
+
* REGION_CODE: The country/region from which the request originates.
|
23381
|
+
* 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.
|
23382
|
+
* 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.
|
23383
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
23384
|
+
"""
|
23385
|
+
if enforce_on_key_name is not None:
|
23386
|
+
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
23387
|
+
if enforce_on_key_type is not None:
|
23388
|
+
pulumi.set(__self__, "enforce_on_key_type", enforce_on_key_type)
|
23389
|
+
|
23390
|
+
@property
|
23391
|
+
@pulumi.getter(name="enforceOnKeyName")
|
23392
|
+
def enforce_on_key_name(self) -> Optional[pulumi.Input[str]]:
|
23393
|
+
"""
|
23394
|
+
Rate limit key name applicable only for the following key types:
|
23395
|
+
HTTP_HEADER -- Name of the HTTP header whose value is taken as the key value.
|
23396
|
+
HTTP_COOKIE -- Name of the HTTP cookie whose value is taken as the key value.
|
23397
|
+
"""
|
23398
|
+
return pulumi.get(self, "enforce_on_key_name")
|
23399
|
+
|
23400
|
+
@enforce_on_key_name.setter
|
23401
|
+
def enforce_on_key_name(self, value: Optional[pulumi.Input[str]]):
|
23402
|
+
pulumi.set(self, "enforce_on_key_name", value)
|
23403
|
+
|
23404
|
+
@property
|
23405
|
+
@pulumi.getter(name="enforceOnKeyType")
|
23406
|
+
def enforce_on_key_type(self) -> Optional[pulumi.Input[str]]:
|
23407
|
+
"""
|
23408
|
+
Determines the key to enforce the rateLimitThreshold on. Possible values are:
|
23409
|
+
* 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.
|
23410
|
+
* IP: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
23411
|
+
* 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.
|
23412
|
+
* 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.
|
23413
|
+
* 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.
|
23414
|
+
* HTTP_PATH: The URL path of the HTTP request. The key value is truncated to the first 128 bytes.
|
23415
|
+
* 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.
|
23416
|
+
* REGION_CODE: The country/region from which the request originates.
|
23417
|
+
* 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.
|
23418
|
+
* 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.
|
23419
|
+
Possible values are: `ALL`, `IP`, `HTTP_HEADER`, `XFF_IP`, `HTTP_COOKIE`, `HTTP_PATH`, `SNI`, `REGION_CODE`, `TLS_JA3_FINGERPRINT`, `USER_IP`.
|
23420
|
+
"""
|
23421
|
+
return pulumi.get(self, "enforce_on_key_type")
|
23422
|
+
|
23423
|
+
@enforce_on_key_type.setter
|
23424
|
+
def enforce_on_key_type(self, value: Optional[pulumi.Input[str]]):
|
23425
|
+
pulumi.set(self, "enforce_on_key_type", value)
|
23426
|
+
|
23427
|
+
|
23428
|
+
@pulumi.input_type
|
23429
|
+
class RegionSecurityPolicyRuleRateLimitOptionsRateLimitThresholdArgs:
|
23430
|
+
def __init__(__self__, *,
|
23431
|
+
count: Optional[pulumi.Input[int]] = None,
|
23432
|
+
interval_sec: Optional[pulumi.Input[int]] = None):
|
23433
|
+
"""
|
23434
|
+
:param pulumi.Input[int] count: Number of HTTP(S) requests for calculating the threshold.
|
23435
|
+
:param pulumi.Input[int] interval_sec: Interval over which the threshold is computed.
|
23436
|
+
"""
|
23437
|
+
if count is not None:
|
23438
|
+
pulumi.set(__self__, "count", count)
|
23439
|
+
if interval_sec is not None:
|
23440
|
+
pulumi.set(__self__, "interval_sec", interval_sec)
|
23441
|
+
|
23442
|
+
@property
|
23443
|
+
@pulumi.getter
|
23444
|
+
def count(self) -> Optional[pulumi.Input[int]]:
|
23445
|
+
"""
|
23446
|
+
Number of HTTP(S) requests for calculating the threshold.
|
23447
|
+
"""
|
23448
|
+
return pulumi.get(self, "count")
|
23449
|
+
|
23450
|
+
@count.setter
|
23451
|
+
def count(self, value: Optional[pulumi.Input[int]]):
|
23452
|
+
pulumi.set(self, "count", value)
|
23453
|
+
|
23454
|
+
@property
|
23455
|
+
@pulumi.getter(name="intervalSec")
|
23456
|
+
def interval_sec(self) -> Optional[pulumi.Input[int]]:
|
23457
|
+
"""
|
23458
|
+
Interval over which the threshold is computed.
|
23459
|
+
"""
|
23460
|
+
return pulumi.get(self, "interval_sec")
|
23461
|
+
|
23462
|
+
@interval_sec.setter
|
23463
|
+
def interval_sec(self, value: Optional[pulumi.Input[int]]):
|
23464
|
+
pulumi.set(self, "interval_sec", value)
|
23465
|
+
|
23466
|
+
|
23467
|
+
@pulumi.input_type
|
23468
|
+
class RegionSecurityPolicyUserDefinedFieldArgs:
|
23469
|
+
def __init__(__self__, *,
|
23470
|
+
base: pulumi.Input[str],
|
23471
|
+
mask: Optional[pulumi.Input[str]] = None,
|
23472
|
+
name: Optional[pulumi.Input[str]] = None,
|
23473
|
+
offset: Optional[pulumi.Input[int]] = None,
|
23474
|
+
size: Optional[pulumi.Input[int]] = None):
|
23475
|
+
"""
|
23476
|
+
:param pulumi.Input[str] base: The base relative to which 'offset' is measured. Possible values are:
|
23477
|
+
- IPV4: Points to the beginning of the IPv4 header.
|
23478
|
+
- IPV6: Points to the beginning of the IPv6 header.
|
23479
|
+
- TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments.
|
23480
|
+
- UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments.
|
23481
|
+
Possible values are: `IPV4`, `IPV6`, `TCP`, `UDP`.
|
23482
|
+
:param pulumi.Input[str] mask: If specified, apply this mask (bitwise AND) to the field to ignore bits before matching.
|
23483
|
+
Encoded as a hexadecimal number (starting with "0x").
|
23484
|
+
The last byte of the field (in network byte order) corresponds to the least significant byte of the mask.
|
23485
|
+
:param pulumi.Input[str] name: The name of this field. Must be unique within the policy.
|
23486
|
+
:param pulumi.Input[int] offset: Offset of the first byte of the field (in network byte order) relative to 'base'.
|
23487
|
+
:param pulumi.Input[int] size: Size of the field in bytes. Valid values: 1-4.
|
23488
|
+
"""
|
23489
|
+
pulumi.set(__self__, "base", base)
|
23490
|
+
if mask is not None:
|
23491
|
+
pulumi.set(__self__, "mask", mask)
|
23492
|
+
if name is not None:
|
23493
|
+
pulumi.set(__self__, "name", name)
|
23494
|
+
if offset is not None:
|
23495
|
+
pulumi.set(__self__, "offset", offset)
|
23496
|
+
if size is not None:
|
23497
|
+
pulumi.set(__self__, "size", size)
|
23498
|
+
|
23499
|
+
@property
|
23500
|
+
@pulumi.getter
|
23501
|
+
def base(self) -> pulumi.Input[str]:
|
23502
|
+
"""
|
23503
|
+
The base relative to which 'offset' is measured. Possible values are:
|
23504
|
+
- IPV4: Points to the beginning of the IPv4 header.
|
23505
|
+
- IPV6: Points to the beginning of the IPv6 header.
|
23506
|
+
- TCP: Points to the beginning of the TCP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments.
|
23507
|
+
- UDP: Points to the beginning of the UDP header, skipping over any IPv4 options or IPv6 extension headers. Not present for non-first fragments.
|
23508
|
+
Possible values are: `IPV4`, `IPV6`, `TCP`, `UDP`.
|
23509
|
+
"""
|
23510
|
+
return pulumi.get(self, "base")
|
23511
|
+
|
23512
|
+
@base.setter
|
23513
|
+
def base(self, value: pulumi.Input[str]):
|
23514
|
+
pulumi.set(self, "base", value)
|
23515
|
+
|
23516
|
+
@property
|
23517
|
+
@pulumi.getter
|
23518
|
+
def mask(self) -> Optional[pulumi.Input[str]]:
|
23519
|
+
"""
|
22212
23520
|
If specified, apply this mask (bitwise AND) to the field to ignore bits before matching.
|
22213
23521
|
Encoded as a hexadecimal number (starting with "0x").
|
22214
23522
|
The last byte of the field (in network byte order) corresponds to the least significant byte of the mask.
|
@@ -28894,7 +30202,11 @@ class SecurityPolicyAdvancedOptionsConfigArgs:
|
|
28894
30202
|
:param pulumi.Input['SecurityPolicyAdvancedOptionsConfigJsonCustomConfigArgs'] json_custom_config: Custom configuration to apply the JSON parsing. Only applicable when
|
28895
30203
|
`json_parsing` is set to `STANDARD`. Structure is documented below.
|
28896
30204
|
:param pulumi.Input[str] json_parsing: Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
|
30205
|
+
* `DISABLED` - Don't parse JSON payloads in POST bodies.
|
30206
|
+
* `STANDARD` - Parse JSON payloads in POST bodies.
|
28897
30207
|
:param pulumi.Input[str] log_level: Log level to use. Defaults to `NORMAL`.
|
30208
|
+
* `NORMAL` - Normal log level.
|
30209
|
+
* `VERBOSE` - Verbose log level.
|
28898
30210
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] user_ip_request_headers: An optional list of case-insensitive request header names to use for resolving the callers client IP address.
|
28899
30211
|
"""
|
28900
30212
|
if json_custom_config is not None:
|
@@ -28924,6 +30236,8 @@ class SecurityPolicyAdvancedOptionsConfigArgs:
|
|
28924
30236
|
def json_parsing(self) -> Optional[pulumi.Input[str]]:
|
28925
30237
|
"""
|
28926
30238
|
Whether or not to JSON parse the payload body. Defaults to `DISABLED`.
|
30239
|
+
* `DISABLED` - Don't parse JSON payloads in POST bodies.
|
30240
|
+
* `STANDARD` - Parse JSON payloads in POST bodies.
|
28927
30241
|
"""
|
28928
30242
|
return pulumi.get(self, "json_parsing")
|
28929
30243
|
|
@@ -28936,6 +30250,8 @@ class SecurityPolicyAdvancedOptionsConfigArgs:
|
|
28936
30250
|
def log_level(self) -> Optional[pulumi.Input[str]]:
|
28937
30251
|
"""
|
28938
30252
|
Log level to use. Defaults to `NORMAL`.
|
30253
|
+
* `NORMAL` - Normal log level.
|
30254
|
+
* `VERBOSE` - Verbose log level.
|
28939
30255
|
"""
|
28940
30256
|
return pulumi.get(self, "log_level")
|
28941
30257
|
|
@@ -29702,10 +31018,22 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
|
|
29702
31018
|
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
|
29703
31019
|
exceed this `ban_threshold`. Structure is documented below.
|
29704
31020
|
:param pulumi.Input[str] enforce_on_key: Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to `ALL`.
|
31021
|
+
|
31022
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
31023
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
31024
|
+
* `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`.
|
31025
|
+
* `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`.
|
31026
|
+
* `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`.
|
31027
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
31028
|
+
* `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.
|
31029
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
29705
31030
|
:param pulumi.Input[Sequence[pulumi.Input['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.
|
29706
31031
|
|
29707
31032
|
**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.
|
29708
31033
|
:param pulumi.Input[str] enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
31034
|
+
|
31035
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
31036
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
29709
31037
|
:param pulumi.Input['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.
|
29710
31038
|
"""
|
29711
31039
|
pulumi.set(__self__, "conform_action", conform_action)
|
@@ -29793,6 +31121,15 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
|
|
29793
31121
|
def enforce_on_key(self) -> Optional[pulumi.Input[str]]:
|
29794
31122
|
"""
|
29795
31123
|
Determines the key to enforce the rate_limit_threshold on. If not specified, defaults to `ALL`.
|
31124
|
+
|
31125
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
31126
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
31127
|
+
* `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`.
|
31128
|
+
* `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`.
|
31129
|
+
* `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`.
|
31130
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
31131
|
+
* `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.
|
31132
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
29796
31133
|
"""
|
29797
31134
|
return pulumi.get(self, "enforce_on_key")
|
29798
31135
|
|
@@ -29819,6 +31156,9 @@ class SecurityPolicyRuleRateLimitOptionsArgs:
|
|
29819
31156
|
def enforce_on_key_name(self) -> Optional[pulumi.Input[str]]:
|
29820
31157
|
"""
|
29821
31158
|
Rate limit key name applicable only for the following key types:
|
31159
|
+
|
31160
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
31161
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
29822
31162
|
"""
|
29823
31163
|
return pulumi.get(self, "enforce_on_key_name")
|
29824
31164
|
|
@@ -29883,7 +31223,19 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
|
|
29883
31223
|
enforce_on_key_type: Optional[pulumi.Input[str]] = None):
|
29884
31224
|
"""
|
29885
31225
|
:param pulumi.Input[str] enforce_on_key_name: Rate limit key name applicable only for the following key types:
|
31226
|
+
|
31227
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
31228
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
29886
31229
|
:param pulumi.Input[str] enforce_on_key_type: Determines the key to enforce the `rate_limit_threshold` on. If not specified, defaults to `ALL`.
|
31230
|
+
|
31231
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
31232
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
31233
|
+
* `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`.
|
31234
|
+
* `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`.
|
31235
|
+
* `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`.
|
31236
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
31237
|
+
* `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.
|
31238
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
29887
31239
|
"""
|
29888
31240
|
if enforce_on_key_name is not None:
|
29889
31241
|
pulumi.set(__self__, "enforce_on_key_name", enforce_on_key_name)
|
@@ -29895,6 +31247,9 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
|
|
29895
31247
|
def enforce_on_key_name(self) -> Optional[pulumi.Input[str]]:
|
29896
31248
|
"""
|
29897
31249
|
Rate limit key name applicable only for the following key types:
|
31250
|
+
|
31251
|
+
* `HTTP_HEADER` -- Name of the HTTP header whose value is taken as the key value.
|
31252
|
+
* `HTTP_COOKIE` -- Name of the HTTP cookie whose value is taken as the key value.
|
29898
31253
|
"""
|
29899
31254
|
return pulumi.get(self, "enforce_on_key_name")
|
29900
31255
|
|
@@ -29907,6 +31262,15 @@ class SecurityPolicyRuleRateLimitOptionsEnforceOnKeyConfigArgs:
|
|
29907
31262
|
def enforce_on_key_type(self) -> Optional[pulumi.Input[str]]:
|
29908
31263
|
"""
|
29909
31264
|
Determines the key to enforce the `rate_limit_threshold` on. If not specified, defaults to `ALL`.
|
31265
|
+
|
31266
|
+
* `ALL`: A single rate limit threshold is applied to all the requests matching this rule.
|
31267
|
+
* `IP`: The source IP address of the request is the key. Each IP has this limit enforced separately.
|
31268
|
+
* `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`.
|
31269
|
+
* `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`.
|
31270
|
+
* `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`.
|
31271
|
+
* `HTTP_PATH`: The URL path of the HTTP request. The key value is truncated to the first 128 bytes
|
31272
|
+
* `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.
|
31273
|
+
* `REGION_CODE`: The country/region from which the request originates.
|
29910
31274
|
"""
|
29911
31275
|
return pulumi.get(self, "enforce_on_key_type")
|
29912
31276
|
|
@@ -29997,6 +31361,9 @@ class SecurityPolicyRuleRedirectOptionsArgs:
|
|
29997
31361
|
target: Optional[pulumi.Input[str]] = None):
|
29998
31362
|
"""
|
29999
31363
|
:param pulumi.Input[str] type: Type of redirect action.
|
31364
|
+
|
31365
|
+
* `EXTERNAL_302`: Redirect to an external address, configured in `target`.
|
31366
|
+
* `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
|
30000
31367
|
:param pulumi.Input[str] target: External redirection target when `EXTERNAL_302` is set in `type`.
|
30001
31368
|
"""
|
30002
31369
|
pulumi.set(__self__, "type", type)
|
@@ -30008,6 +31375,9 @@ class SecurityPolicyRuleRedirectOptionsArgs:
|
|
30008
31375
|
def type(self) -> pulumi.Input[str]:
|
30009
31376
|
"""
|
30010
31377
|
Type of redirect action.
|
31378
|
+
|
31379
|
+
* `EXTERNAL_302`: Redirect to an external address, configured in `target`.
|
31380
|
+
* `GOOGLE_RECAPTCHA`: Redirect to Google reCAPTCHA.
|
30011
31381
|
"""
|
30012
31382
|
return pulumi.get(self, "type")
|
30013
31383
|
|