pulumi-gcp 7.24.0a1716510380__py3-none-any.whl → 7.25.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +104 -0
- pulumi_gcp/accesscontextmanager/access_policy_iam_binding.py +12 -12
- pulumi_gcp/accesscontextmanager/access_policy_iam_member.py +12 -12
- pulumi_gcp/accesscontextmanager/access_policy_iam_policy.py +12 -12
- pulumi_gcp/accesscontextmanager/service_perimeter_egress_policy.py +0 -64
- pulumi_gcp/accesscontextmanager/service_perimeter_ingress_policy.py +0 -70
- pulumi_gcp/alloydb/backup.py +50 -42
- pulumi_gcp/alloydb/cluster.py +56 -48
- pulumi_gcp/alloydb/instance.py +50 -42
- pulumi_gcp/alloydb/user.py +32 -24
- pulumi_gcp/apigateway/api_config.py +0 -114
- pulumi_gcp/apigateway/api_config_iam_binding.py +8 -8
- pulumi_gcp/apigateway/api_config_iam_member.py +8 -8
- pulumi_gcp/apigateway/api_config_iam_policy.py +8 -8
- pulumi_gcp/apigateway/api_iam_binding.py +8 -8
- pulumi_gcp/apigateway/api_iam_member.py +8 -8
- pulumi_gcp/apigateway/api_iam_policy.py +8 -8
- pulumi_gcp/apigateway/gateway.py +0 -44
- pulumi_gcp/apigateway/gateway_iam_binding.py +8 -8
- pulumi_gcp/apigateway/gateway_iam_member.py +8 -8
- pulumi_gcp/apigateway/gateway_iam_policy.py +8 -8
- pulumi_gcp/apigee/addons_config.py +14 -4
- pulumi_gcp/apigee/endpoint_attachment.py +4 -2
- pulumi_gcp/apigee/env_group.py +4 -2
- pulumi_gcp/apigee/environment.py +4 -2
- pulumi_gcp/apigee/environment_iam_binding.py +12 -12
- pulumi_gcp/apigee/environment_iam_member.py +12 -12
- pulumi_gcp/apigee/environment_iam_policy.py +12 -12
- pulumi_gcp/apigee/instance.py +22 -8
- pulumi_gcp/apigee/keystores_aliases_self_signed_cert.py +26 -10
- pulumi_gcp/apigee/nat_address.py +10 -2
- pulumi_gcp/apigee/organization.py +18 -6
- pulumi_gcp/apigee/sync_authorization.py +8 -4
- pulumi_gcp/apigee/target_server.py +26 -10
- pulumi_gcp/appengine/_inputs.py +18 -0
- pulumi_gcp/appengine/domain_mapping.py +1 -1
- pulumi_gcp/appengine/outputs.py +16 -0
- pulumi_gcp/apphub/service.py +40 -20
- pulumi_gcp/apphub/service_project_attachment.py +16 -8
- pulumi_gcp/apphub/workload.py +0 -418
- pulumi_gcp/applicationintegration/auth_config.py +4 -2
- pulumi_gcp/artifactregistry/repository.py +14 -12
- pulumi_gcp/artifactregistry/repository_iam_binding.py +12 -12
- pulumi_gcp/artifactregistry/repository_iam_member.py +12 -12
- pulumi_gcp/artifactregistry/repository_iam_policy.py +12 -12
- pulumi_gcp/backupdisasterrecovery/management_server.py +4 -2
- pulumi_gcp/bigquery/_inputs.py +286 -2
- pulumi_gcp/bigquery/connection.py +126 -0
- pulumi_gcp/bigquery/connection_iam_binding.py +12 -12
- pulumi_gcp/bigquery/connection_iam_member.py +12 -12
- pulumi_gcp/bigquery/connection_iam_policy.py +12 -12
- pulumi_gcp/bigquery/data_transfer_config.py +8 -4
- pulumi_gcp/bigquery/dataset_iam_binding.py +12 -12
- pulumi_gcp/bigquery/dataset_iam_member.py +12 -12
- pulumi_gcp/bigquery/dataset_iam_policy.py +12 -12
- pulumi_gcp/bigquery/iam_binding.py +12 -12
- pulumi_gcp/bigquery/iam_member.py +12 -12
- pulumi_gcp/bigquery/iam_policy.py +12 -12
- pulumi_gcp/bigquery/job.py +22 -16
- pulumi_gcp/bigquery/outputs.py +289 -2
- pulumi_gcp/bigquery/routine.py +2 -2
- pulumi_gcp/bigquery/table.py +77 -35
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_binding.py +12 -12
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_member.py +12 -12
- pulumi_gcp/bigqueryanalyticshub/data_exchange_iam_policy.py +12 -12
- pulumi_gcp/bigqueryanalyticshub/listing_iam_binding.py +12 -12
- pulumi_gcp/bigqueryanalyticshub/listing_iam_member.py +12 -12
- pulumi_gcp/bigqueryanalyticshub/listing_iam_policy.py +12 -12
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_binding.py +12 -12
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_member.py +12 -12
- pulumi_gcp/bigquerydatapolicy/data_policy_iam_policy.py +12 -12
- pulumi_gcp/bigtable/instance_iam_binding.py +12 -12
- pulumi_gcp/bigtable/instance_iam_member.py +12 -12
- pulumi_gcp/bigtable/instance_iam_policy.py +12 -12
- pulumi_gcp/bigtable/table_iam_binding.py +12 -12
- pulumi_gcp/bigtable/table_iam_member.py +12 -12
- pulumi_gcp/bigtable/table_iam_policy.py +12 -12
- pulumi_gcp/billing/account_iam_binding.py +12 -12
- pulumi_gcp/billing/account_iam_member.py +12 -12
- pulumi_gcp/billing/account_iam_policy.py +12 -12
- pulumi_gcp/billing/project_info.py +4 -4
- pulumi_gcp/binaryauthorization/attestor_iam_binding.py +12 -12
- pulumi_gcp/binaryauthorization/attestor_iam_member.py +12 -12
- pulumi_gcp/binaryauthorization/attestor_iam_policy.py +12 -12
- pulumi_gcp/certificateauthority/authority.py +10 -2
- pulumi_gcp/certificateauthority/ca_pool_iam_binding.py +12 -12
- pulumi_gcp/certificateauthority/ca_pool_iam_member.py +12 -12
- pulumi_gcp/certificateauthority/ca_pool_iam_policy.py +12 -12
- pulumi_gcp/certificateauthority/certificate.py +8 -4
- pulumi_gcp/certificateauthority/certificate_template_iam_binding.py +12 -12
- pulumi_gcp/certificateauthority/certificate_template_iam_member.py +12 -12
- pulumi_gcp/certificateauthority/certificate_template_iam_policy.py +12 -12
- pulumi_gcp/certificatemanager/certificate.py +84 -80
- pulumi_gcp/certificatemanager/certificate_issuance_config.py +32 -30
- pulumi_gcp/cloudasset/__init__.py +1 -0
- pulumi_gcp/cloudasset/get_search_all_resources.py +197 -0
- pulumi_gcp/cloudasset/outputs.py +184 -0
- pulumi_gcp/cloudbuild/bitbucket_server_config.py +12 -6
- pulumi_gcp/cloudbuild/trigger.py +22 -14
- pulumi_gcp/cloudbuild/worker_pool.py +12 -6
- pulumi_gcp/cloudbuildv2/connection.py +10 -2
- pulumi_gcp/cloudbuildv2/connection_iam_binding.py +12 -12
- pulumi_gcp/cloudbuildv2/connection_iam_member.py +12 -12
- pulumi_gcp/cloudbuildv2/connection_iam_policy.py +12 -12
- pulumi_gcp/cloudbuildv2/repository.py +10 -2
- pulumi_gcp/cloudfunctions/function_iam_binding.py +12 -12
- pulumi_gcp/cloudfunctions/function_iam_member.py +12 -12
- pulumi_gcp/cloudfunctions/function_iam_policy.py +12 -12
- pulumi_gcp/cloudfunctionsv2/function.py +110 -66
- pulumi_gcp/cloudfunctionsv2/function_iam_binding.py +12 -12
- pulumi_gcp/cloudfunctionsv2/function_iam_member.py +12 -12
- pulumi_gcp/cloudfunctionsv2/function_iam_policy.py +12 -12
- pulumi_gcp/cloudids/endpoint.py +4 -2
- pulumi_gcp/cloudrun/_inputs.py +80 -4
- pulumi_gcp/cloudrun/iam_binding.py +12 -12
- pulumi_gcp/cloudrun/iam_member.py +12 -12
- pulumi_gcp/cloudrun/iam_policy.py +12 -12
- pulumi_gcp/cloudrun/outputs.py +137 -4
- pulumi_gcp/cloudrunv2/job.py +32 -20
- pulumi_gcp/cloudrunv2/job_iam_binding.py +12 -12
- pulumi_gcp/cloudrunv2/job_iam_member.py +12 -12
- pulumi_gcp/cloudrunv2/job_iam_policy.py +12 -12
- pulumi_gcp/cloudrunv2/service.py +28 -20
- pulumi_gcp/cloudrunv2/service_iam_binding.py +12 -12
- pulumi_gcp/cloudrunv2/service_iam_member.py +12 -12
- pulumi_gcp/cloudrunv2/service_iam_policy.py +12 -12
- pulumi_gcp/cloudtasks/queue_iam_binding.py +12 -12
- pulumi_gcp/cloudtasks/queue_iam_member.py +12 -12
- pulumi_gcp/cloudtasks/queue_iam_policy.py +12 -12
- pulumi_gcp/composer/user_workloads_secret.py +4 -4
- pulumi_gcp/compute/__init__.py +2 -0
- pulumi_gcp/compute/_inputs.py +805 -182
- pulumi_gcp/compute/disk_iam_binding.py +12 -12
- pulumi_gcp/compute/disk_iam_member.py +12 -12
- pulumi_gcp/compute/disk_iam_policy.py +12 -12
- pulumi_gcp/compute/forwarding_rule.py +231 -823
- pulumi_gcp/compute/get_network_endpoint_group.py +2 -2
- pulumi_gcp/compute/get_region_network_endpoint_group.py +2 -2
- pulumi_gcp/compute/get_router_nat.py +11 -1
- pulumi_gcp/compute/get_snapshot.py +2 -0
- pulumi_gcp/compute/get_subnetworks.py +157 -0
- pulumi_gcp/compute/global_forwarding_rule.py +0 -766
- pulumi_gcp/compute/image_iam_binding.py +12 -12
- pulumi_gcp/compute/image_iam_member.py +12 -12
- pulumi_gcp/compute/image_iam_policy.py +12 -12
- pulumi_gcp/compute/instance_group.py +0 -100
- pulumi_gcp/compute/instance_group_membership.py +2 -2
- pulumi_gcp/compute/instance_iam_binding.py +12 -12
- pulumi_gcp/compute/instance_iam_member.py +12 -12
- pulumi_gcp/compute/instance_iam_policy.py +12 -12
- pulumi_gcp/compute/interconnect.py +1683 -0
- pulumi_gcp/compute/interconnect_attachment.py +82 -0
- pulumi_gcp/compute/machine_image_iam_binding.py +8 -8
- pulumi_gcp/compute/machine_image_iam_member.py +8 -8
- pulumi_gcp/compute/machine_image_iam_policy.py +8 -8
- pulumi_gcp/compute/network_endpoint.py +2 -2
- pulumi_gcp/compute/network_endpoint_list.py +2 -2
- pulumi_gcp/compute/outputs.py +1022 -161
- pulumi_gcp/compute/packet_mirroring.py +4 -2
- pulumi_gcp/compute/region_disk_iam_binding.py +12 -12
- pulumi_gcp/compute/region_disk_iam_member.py +12 -12
- pulumi_gcp/compute/region_disk_iam_policy.py +12 -12
- pulumi_gcp/compute/region_security_policy_rule.py +4 -2
- pulumi_gcp/compute/region_ssl_certificate.py +0 -188
- pulumi_gcp/compute/region_ssl_policy.py +39 -40
- pulumi_gcp/compute/route.py +10 -2
- pulumi_gcp/compute/router_nat.py +68 -0
- pulumi_gcp/compute/security_policy_rule.py +55 -1
- pulumi_gcp/compute/snapshot_iam_binding.py +12 -12
- pulumi_gcp/compute/snapshot_iam_member.py +12 -12
- pulumi_gcp/compute/snapshot_iam_policy.py +12 -12
- pulumi_gcp/compute/ssl_certificate.py +0 -166
- pulumi_gcp/compute/subnetwork_iam_binding.py +12 -12
- pulumi_gcp/compute/subnetwork_iam_member.py +12 -12
- pulumi_gcp/compute/subnetwork_iam_policy.py +12 -12
- pulumi_gcp/compute/target_instance.py +8 -6
- pulumi_gcp/compute/target_pool.py +21 -21
- pulumi_gcp/compute/vpn_gateway.py +12 -2
- pulumi_gcp/compute/vpn_tunnel.py +26 -16
- pulumi_gcp/container/_inputs.py +562 -2
- pulumi_gcp/container/outputs.py +1110 -55
- pulumi_gcp/containeranalysis/note_iam_binding.py +12 -12
- pulumi_gcp/containeranalysis/note_iam_member.py +12 -12
- pulumi_gcp/containeranalysis/note_iam_policy.py +12 -12
- pulumi_gcp/databasemigrationservice/connection_profile.py +38 -22
- pulumi_gcp/datacatalog/entry_group_iam_binding.py +12 -12
- pulumi_gcp/datacatalog/entry_group_iam_member.py +12 -12
- pulumi_gcp/datacatalog/entry_group_iam_policy.py +12 -12
- pulumi_gcp/datacatalog/policy_tag.py +4 -2
- pulumi_gcp/datacatalog/policy_tag_iam_binding.py +12 -12
- pulumi_gcp/datacatalog/policy_tag_iam_member.py +12 -12
- pulumi_gcp/datacatalog/policy_tag_iam_policy.py +12 -12
- pulumi_gcp/datacatalog/tag_template_iam_binding.py +12 -12
- pulumi_gcp/datacatalog/tag_template_iam_member.py +12 -12
- pulumi_gcp/datacatalog/tag_template_iam_policy.py +12 -12
- pulumi_gcp/datacatalog/taxonomy_iam_binding.py +12 -12
- pulumi_gcp/datacatalog/taxonomy_iam_member.py +12 -12
- pulumi_gcp/datacatalog/taxonomy_iam_policy.py +12 -12
- pulumi_gcp/datafusion/instance.py +14 -12
- pulumi_gcp/dataloss/_inputs.py +420 -13
- pulumi_gcp/dataloss/outputs.py +439 -13
- pulumi_gcp/dataplex/__init__.py +10 -0
- pulumi_gcp/dataplex/_inputs.py +160 -0
- pulumi_gcp/dataplex/aspect_type.py +1077 -0
- pulumi_gcp/dataplex/aspect_type_iam_binding.py +765 -0
- pulumi_gcp/dataplex/aspect_type_iam_member.py +765 -0
- pulumi_gcp/dataplex/aspect_type_iam_policy.py +604 -0
- pulumi_gcp/dataplex/asset.py +4 -2
- pulumi_gcp/dataplex/asset_iam_binding.py +12 -12
- pulumi_gcp/dataplex/asset_iam_member.py +12 -12
- pulumi_gcp/dataplex/asset_iam_policy.py +12 -12
- pulumi_gcp/dataplex/datascan.py +16 -14
- pulumi_gcp/dataplex/datascan_iam_binding.py +12 -12
- pulumi_gcp/dataplex/datascan_iam_member.py +12 -12
- pulumi_gcp/dataplex/datascan_iam_policy.py +12 -12
- pulumi_gcp/dataplex/entry_group.py +722 -0
- pulumi_gcp/dataplex/entry_group_iam_binding.py +765 -0
- pulumi_gcp/dataplex/entry_group_iam_member.py +765 -0
- pulumi_gcp/dataplex/entry_group_iam_policy.py +604 -0
- pulumi_gcp/dataplex/get_aspect_type_iam_policy.py +164 -0
- pulumi_gcp/dataplex/get_entry_group_iam_policy.py +164 -0
- pulumi_gcp/dataplex/lake_iam_binding.py +12 -12
- pulumi_gcp/dataplex/lake_iam_member.py +12 -12
- pulumi_gcp/dataplex/lake_iam_policy.py +12 -12
- pulumi_gcp/dataplex/outputs.py +112 -0
- pulumi_gcp/dataplex/task.py +16 -16
- pulumi_gcp/dataplex/task_iam_binding.py +12 -12
- pulumi_gcp/dataplex/task_iam_member.py +12 -12
- pulumi_gcp/dataplex/task_iam_policy.py +12 -12
- pulumi_gcp/dataplex/zone_iam_binding.py +12 -12
- pulumi_gcp/dataplex/zone_iam_member.py +12 -12
- pulumi_gcp/dataplex/zone_iam_policy.py +12 -12
- pulumi_gcp/dataproc/_inputs.py +70 -0
- pulumi_gcp/dataproc/autoscaling_policy_iam_binding.py +12 -12
- pulumi_gcp/dataproc/autoscaling_policy_iam_member.py +12 -12
- pulumi_gcp/dataproc/autoscaling_policy_iam_policy.py +12 -12
- pulumi_gcp/dataproc/cluster_iam_binding.py +12 -12
- pulumi_gcp/dataproc/cluster_iam_member.py +12 -12
- pulumi_gcp/dataproc/cluster_iam_policy.py +12 -12
- pulumi_gcp/dataproc/get_metastore_federation_iam_policy.py +26 -2
- pulumi_gcp/dataproc/job_iam_binding.py +12 -12
- pulumi_gcp/dataproc/job_iam_member.py +12 -12
- pulumi_gcp/dataproc/job_iam_policy.py +12 -12
- pulumi_gcp/dataproc/metastore_federation.py +4 -0
- pulumi_gcp/dataproc/metastore_federation_iam_binding.py +208 -0
- pulumi_gcp/dataproc/metastore_federation_iam_member.py +208 -0
- pulumi_gcp/dataproc/metastore_federation_iam_policy.py +208 -0
- pulumi_gcp/dataproc/metastore_service_iam_binding.py +12 -12
- pulumi_gcp/dataproc/metastore_service_iam_member.py +12 -12
- pulumi_gcp/dataproc/metastore_service_iam_policy.py +12 -12
- pulumi_gcp/dataproc/outputs.py +62 -0
- pulumi_gcp/datastore/data_store_index.py +4 -2
- pulumi_gcp/datastream/_inputs.py +1789 -820
- pulumi_gcp/datastream/connection_profile.py +210 -3
- pulumi_gcp/datastream/outputs.py +864 -5
- pulumi_gcp/datastream/private_connection.py +47 -0
- pulumi_gcp/datastream/stream.py +231 -4
- pulumi_gcp/diagflow/cx_test_case.py +4 -4
- pulumi_gcp/diagflow/entity_type.py +4 -2
- pulumi_gcp/diagflow/fulfillment.py +4 -2
- pulumi_gcp/diagflow/intent.py +8 -4
- pulumi_gcp/dns/dns_managed_zone_iam_binding.py +12 -12
- pulumi_gcp/dns/dns_managed_zone_iam_member.py +12 -12
- pulumi_gcp/dns/dns_managed_zone_iam_policy.py +12 -12
- pulumi_gcp/dns/get_managed_zone.py +3 -3
- pulumi_gcp/dns/managed_zone.py +7 -7
- pulumi_gcp/dns/outputs.py +2 -2
- pulumi_gcp/edgecontainer/node_pool.py +4 -2
- pulumi_gcp/edgecontainer/vpn_connection.py +4 -2
- pulumi_gcp/endpoints/service_iam_binding.py +12 -12
- pulumi_gcp/endpoints/service_iam_member.py +12 -12
- pulumi_gcp/endpoints/service_iam_policy.py +12 -12
- pulumi_gcp/eventarc/channel.py +4 -2
- pulumi_gcp/eventarc/google_channel_config.py +4 -2
- pulumi_gcp/firebase/app_check_app_attest_config.py +16 -8
- pulumi_gcp/firebase/app_check_debug_token.py +8 -4
- pulumi_gcp/firebase/app_check_device_check_config.py +8 -4
- pulumi_gcp/firebase/app_check_play_integrity_config.py +16 -8
- pulumi_gcp/firebase/app_check_recaptcha_enterprise_config.py +8 -4
- pulumi_gcp/firebase/app_check_recaptcha_v3_config.py +8 -4
- pulumi_gcp/firebase/app_check_service_config.py +12 -6
- pulumi_gcp/firebase/database_instance.py +4 -2
- pulumi_gcp/firebaserules/release.py +0 -98
- pulumi_gcp/firestore/database.py +24 -20
- pulumi_gcp/firestore/document.py +24 -12
- pulumi_gcp/firestore/field.py +4 -4
- pulumi_gcp/folder/access_approval_settings.py +4 -2
- pulumi_gcp/folder/iam_audit_config.py +23 -23
- pulumi_gcp/folder/iam_member.py +16 -16
- pulumi_gcp/folder/iam_policy.py +16 -16
- pulumi_gcp/gkebackup/backup_plan_iam_binding.py +12 -12
- pulumi_gcp/gkebackup/backup_plan_iam_member.py +12 -12
- pulumi_gcp/gkebackup/backup_plan_iam_policy.py +12 -12
- pulumi_gcp/gkehub/feature_iam_binding.py +12 -12
- pulumi_gcp/gkehub/feature_iam_member.py +12 -12
- pulumi_gcp/gkehub/feature_iam_policy.py +12 -12
- pulumi_gcp/gkehub/membership_binding.py +20 -10
- pulumi_gcp/gkehub/membership_iam_binding.py +12 -12
- pulumi_gcp/gkehub/membership_iam_member.py +12 -12
- pulumi_gcp/gkehub/membership_iam_policy.py +12 -12
- pulumi_gcp/gkehub/membership_rbac_role_binding.py +12 -8
- pulumi_gcp/gkehub/namespace.py +8 -6
- pulumi_gcp/gkehub/scope_iam_binding.py +12 -12
- pulumi_gcp/gkehub/scope_iam_member.py +12 -12
- pulumi_gcp/gkehub/scope_iam_policy.py +12 -12
- pulumi_gcp/gkehub/scope_rbac_role_binding.py +8 -6
- pulumi_gcp/healthcare/consent_store_iam_binding.py +12 -12
- pulumi_gcp/healthcare/consent_store_iam_member.py +12 -12
- pulumi_gcp/healthcare/consent_store_iam_policy.py +12 -12
- pulumi_gcp/healthcare/dataset_iam_binding.py +12 -12
- pulumi_gcp/healthcare/dataset_iam_member.py +12 -12
- pulumi_gcp/healthcare/dataset_iam_policy.py +12 -12
- pulumi_gcp/healthcare/dicom_store_iam_binding.py +12 -12
- pulumi_gcp/healthcare/dicom_store_iam_member.py +12 -12
- pulumi_gcp/healthcare/dicom_store_iam_policy.py +12 -12
- pulumi_gcp/healthcare/fhir_store_iam_binding.py +12 -12
- pulumi_gcp/healthcare/fhir_store_iam_member.py +12 -12
- pulumi_gcp/healthcare/fhir_store_iam_policy.py +12 -12
- pulumi_gcp/healthcare/hl7_store_iam_binding.py +12 -12
- pulumi_gcp/healthcare/hl7_store_iam_member.py +12 -12
- pulumi_gcp/healthcare/hl7_store_iam_policy.py +12 -12
- pulumi_gcp/iap/app_engine_service_iam_binding.py +12 -12
- pulumi_gcp/iap/app_engine_service_iam_member.py +12 -12
- pulumi_gcp/iap/app_engine_service_iam_policy.py +12 -12
- pulumi_gcp/iap/app_engine_version_iam_binding.py +12 -12
- pulumi_gcp/iap/app_engine_version_iam_member.py +12 -12
- pulumi_gcp/iap/app_engine_version_iam_policy.py +12 -12
- pulumi_gcp/iap/tunnel_dest_group.py +2 -2
- pulumi_gcp/iap/tunnel_dest_group_iam_binding.py +12 -12
- pulumi_gcp/iap/tunnel_dest_group_iam_member.py +12 -12
- pulumi_gcp/iap/tunnel_dest_group_iam_policy.py +12 -12
- pulumi_gcp/iap/tunnel_iam_binding.py +12 -12
- pulumi_gcp/iap/tunnel_iam_member.py +12 -12
- pulumi_gcp/iap/tunnel_iam_policy.py +12 -12
- pulumi_gcp/iap/tunnel_instance_iam_binding.py +12 -12
- pulumi_gcp/iap/tunnel_instance_iam_member.py +12 -12
- pulumi_gcp/iap/tunnel_instance_iam_policy.py +12 -12
- pulumi_gcp/iap/web_backend_service_iam_binding.py +12 -12
- pulumi_gcp/iap/web_backend_service_iam_member.py +12 -12
- pulumi_gcp/iap/web_backend_service_iam_policy.py +12 -12
- pulumi_gcp/iap/web_iam_binding.py +12 -12
- pulumi_gcp/iap/web_iam_member.py +12 -12
- pulumi_gcp/iap/web_iam_policy.py +12 -12
- pulumi_gcp/iap/web_region_backend_service_iam_binding.py +12 -12
- pulumi_gcp/iap/web_region_backend_service_iam_member.py +12 -12
- pulumi_gcp/iap/web_region_backend_service_iam_policy.py +12 -12
- pulumi_gcp/iap/web_type_app_enging_iam_binding.py +12 -12
- pulumi_gcp/iap/web_type_app_enging_iam_member.py +12 -12
- pulumi_gcp/iap/web_type_app_enging_iam_policy.py +12 -12
- pulumi_gcp/iap/web_type_compute_iam_binding.py +12 -12
- pulumi_gcp/iap/web_type_compute_iam_member.py +12 -12
- pulumi_gcp/iap/web_type_compute_iam_policy.py +12 -12
- pulumi_gcp/integrationconnectors/connection.py +4 -2
- pulumi_gcp/integrationconnectors/managed_zone.py +26 -14
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/autokey_config.py +366 -0
- pulumi_gcp/kms/key_handle.py +548 -0
- pulumi_gcp/kms/key_ring_iam_binding.py +12 -12
- pulumi_gcp/kms/key_ring_iam_member.py +12 -12
- pulumi_gcp/kms/key_ring_iam_policy.py +12 -12
- pulumi_gcp/logging/folder_settings.py +12 -10
- pulumi_gcp/logging/linked_dataset.py +4 -2
- pulumi_gcp/logging/organization_settings.py +12 -10
- pulumi_gcp/logging/project_bucket_config.py +4 -2
- pulumi_gcp/looker/instance.py +12 -10
- pulumi_gcp/netapp/storage_pool.py +7 -7
- pulumi_gcp/netapp/volume.py +4 -4
- pulumi_gcp/netapp/volume_replication.py +4 -2
- pulumi_gcp/netapp/volume_snapshot.py +4 -2
- pulumi_gcp/networkconnectivity/internal_range.py +14 -12
- pulumi_gcp/networksecurity/gateway_security_policy.py +20 -8
- pulumi_gcp/networksecurity/tls_inspection_policy.py +437 -5
- pulumi_gcp/networkservices/__init__.py +2 -0
- pulumi_gcp/networkservices/_inputs.py +454 -0
- pulumi_gcp/networkservices/gateway.py +12 -6
- pulumi_gcp/networkservices/lb_route_extension.py +663 -0
- pulumi_gcp/networkservices/lb_traffic_extension.py +669 -0
- pulumi_gcp/networkservices/outputs.py +478 -0
- pulumi_gcp/notebooks/instance_iam_binding.py +12 -12
- pulumi_gcp/notebooks/instance_iam_member.py +12 -12
- pulumi_gcp/notebooks/instance_iam_policy.py +12 -12
- pulumi_gcp/notebooks/runtime_iam_binding.py +12 -12
- pulumi_gcp/notebooks/runtime_iam_member.py +12 -12
- pulumi_gcp/notebooks/runtime_iam_policy.py +12 -12
- pulumi_gcp/organizations/access_approval_settings.py +4 -2
- pulumi_gcp/organizations/iam_member.py +16 -16
- pulumi_gcp/organizations/iam_policy.py +16 -16
- pulumi_gcp/orgpolicy/policy.py +2 -2
- pulumi_gcp/parallelstore/instance.py +20 -18
- pulumi_gcp/projects/access_approval_settings.py +4 -2
- pulumi_gcp/projects/iam_audit_config.py +23 -23
- pulumi_gcp/projects/iam_binding.py +23 -23
- pulumi_gcp/projects/iam_member.py +23 -23
- pulumi_gcp/projects/iam_policy.py +16 -16
- pulumi_gcp/projects/service.py +2 -43
- pulumi_gcp/pubsub/_inputs.py +16 -0
- pulumi_gcp/pubsub/outputs.py +25 -0
- pulumi_gcp/pubsub/schema.py +4 -2
- pulumi_gcp/pubsub/schema_iam_binding.py +12 -12
- pulumi_gcp/pubsub/schema_iam_member.py +12 -12
- pulumi_gcp/pubsub/schema_iam_policy.py +12 -12
- pulumi_gcp/pubsub/subscription.py +102 -66
- pulumi_gcp/pubsub/subscription_iam_binding.py +12 -12
- pulumi_gcp/pubsub/subscription_iam_member.py +12 -12
- pulumi_gcp/pubsub/subscription_iam_policy.py +12 -12
- pulumi_gcp/pubsub/topic.py +4 -2
- pulumi_gcp/pubsub/topic_iam_binding.py +12 -12
- pulumi_gcp/pubsub/topic_iam_member.py +12 -12
- pulumi_gcp/pubsub/topic_iam_policy.py +12 -12
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/redis/cluster.py +30 -28
- pulumi_gcp/redis/instance.py +4 -2
- pulumi_gcp/secretmanager/secret.py +4 -2
- pulumi_gcp/secretmanager/secret_iam_binding.py +12 -12
- pulumi_gcp/secretmanager/secret_iam_member.py +12 -12
- pulumi_gcp/secretmanager/secret_iam_policy.py +12 -12
- pulumi_gcp/securesourcemanager/instance.py +20 -8
- pulumi_gcp/securitycenter/instance_iam_binding.py +14 -12
- pulumi_gcp/securitycenter/instance_iam_member.py +14 -12
- pulumi_gcp/securitycenter/instance_iam_policy.py +14 -12
- pulumi_gcp/serviceaccount/key.py +2 -2
- pulumi_gcp/servicedirectory/namespace_iam_binding.py +8 -8
- pulumi_gcp/servicedirectory/namespace_iam_member.py +8 -8
- pulumi_gcp/servicedirectory/namespace_iam_policy.py +8 -8
- pulumi_gcp/servicedirectory/service_iam_binding.py +8 -8
- pulumi_gcp/servicedirectory/service_iam_member.py +8 -8
- pulumi_gcp/servicedirectory/service_iam_policy.py +8 -8
- pulumi_gcp/sourcerepo/repository_iam_binding.py +12 -12
- pulumi_gcp/sourcerepo/repository_iam_member.py +12 -12
- pulumi_gcp/sourcerepo/repository_iam_policy.py +12 -12
- pulumi_gcp/spanner/database_iam_binding.py +12 -12
- pulumi_gcp/spanner/database_iam_member.py +12 -12
- pulumi_gcp/spanner/database_iam_policy.py +12 -12
- pulumi_gcp/spanner/instance_iam_binding.py +12 -12
- pulumi_gcp/spanner/instance_iam_member.py +12 -12
- pulumi_gcp/spanner/instance_iam_policy.py +12 -12
- pulumi_gcp/sql/database_instance.py +4 -2
- pulumi_gcp/sql/user.py +4 -4
- pulumi_gcp/storage/_inputs.py +12 -10
- pulumi_gcp/storage/bucket.py +44 -0
- pulumi_gcp/storage/bucket_iam_binding.py +12 -12
- pulumi_gcp/storage/bucket_iam_member.py +12 -12
- pulumi_gcp/storage/bucket_iam_policy.py +12 -12
- pulumi_gcp/storage/get_project_service_account.py +4 -2
- pulumi_gcp/storage/insights_report_config.py +12 -10
- pulumi_gcp/storage/notification.py +18 -16
- pulumi_gcp/storage/outputs.py +12 -10
- pulumi_gcp/storage/transfer_agent_pool.py +4 -2
- pulumi_gcp/storage/transfer_job.py +14 -4
- pulumi_gcp/tags/tag_key_iam_binding.py +12 -12
- pulumi_gcp/tags/tag_key_iam_member.py +12 -12
- pulumi_gcp/tags/tag_key_iam_policy.py +12 -12
- pulumi_gcp/tags/tag_value_iam_binding.py +12 -12
- pulumi_gcp/tags/tag_value_iam_member.py +12 -12
- pulumi_gcp/tags/tag_value_iam_policy.py +12 -12
- pulumi_gcp/tpu/_inputs.py +2 -2
- pulumi_gcp/tpu/outputs.py +2 -2
- pulumi_gcp/tpu/v2_vm.py +10 -6
- pulumi_gcp/vertex/ai_endpoint.py +24 -22
- pulumi_gcp/vertex/ai_index_endpoint.py +20 -18
- pulumi_gcp/vertex/ai_tensorboard.py +14 -12
- pulumi_gcp/vmwareengine/external_address.py +4 -2
- pulumi_gcp/vmwareengine/network.py +8 -4
- {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/RECORD +467 -450
- {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.24.0a1716510380.dist-info → pulumi_gcp-7.25.0.dist-info}/top_level.txt +0 -0
@@ -15,35 +15,53 @@ __all__ = ['TlsInspectionPolicyArgs', 'TlsInspectionPolicy']
|
|
15
15
|
class TlsInspectionPolicyArgs:
|
16
16
|
def __init__(__self__, *,
|
17
17
|
ca_pool: pulumi.Input[str],
|
18
|
+
custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
18
19
|
description: Optional[pulumi.Input[str]] = None,
|
19
20
|
exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
|
20
21
|
location: Optional[pulumi.Input[str]] = None,
|
22
|
+
min_tls_version: Optional[pulumi.Input[str]] = None,
|
21
23
|
name: Optional[pulumi.Input[str]] = None,
|
22
|
-
project: Optional[pulumi.Input[str]] = None
|
24
|
+
project: Optional[pulumi.Input[str]] = None,
|
25
|
+
tls_feature_profile: Optional[pulumi.Input[str]] = None,
|
26
|
+
trust_config: Optional[pulumi.Input[str]] = None):
|
23
27
|
"""
|
24
28
|
The set of arguments for constructing a TlsInspectionPolicy resource.
|
25
29
|
:param pulumi.Input[str] ca_pool: A CA pool resource used to issue interception certificates.
|
30
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] custom_tls_features: List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
|
26
31
|
:param pulumi.Input[str] description: Free-text description of the resource.
|
27
32
|
:param pulumi.Input[bool] exclude_public_ca_set: If FALSE (the default), use our default set of public CAs in addition to any CAs specified in trustConfig. These public CAs are currently based on the Mozilla Root Program and are subject to change over time. If TRUE, do not accept our default set of public CAs. Only CAs specified in trustConfig will be accepted.
|
28
33
|
:param pulumi.Input[str] location: The location of the tls inspection policy.
|
34
|
+
:param pulumi.Input[str] min_tls_version: Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
35
|
+
Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
|
29
36
|
:param pulumi.Input[str] name: Short name of the TlsInspectionPolicy resource to be created.
|
30
37
|
|
31
38
|
|
32
39
|
- - -
|
33
40
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
34
41
|
If it is not provided, the provider project is used.
|
42
|
+
:param pulumi.Input[str] tls_feature_profile: The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
43
|
+
Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
|
44
|
+
:param pulumi.Input[str] trust_config: A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
|
35
45
|
"""
|
36
46
|
pulumi.set(__self__, "ca_pool", ca_pool)
|
47
|
+
if custom_tls_features is not None:
|
48
|
+
pulumi.set(__self__, "custom_tls_features", custom_tls_features)
|
37
49
|
if description is not None:
|
38
50
|
pulumi.set(__self__, "description", description)
|
39
51
|
if exclude_public_ca_set is not None:
|
40
52
|
pulumi.set(__self__, "exclude_public_ca_set", exclude_public_ca_set)
|
41
53
|
if location is not None:
|
42
54
|
pulumi.set(__self__, "location", location)
|
55
|
+
if min_tls_version is not None:
|
56
|
+
pulumi.set(__self__, "min_tls_version", min_tls_version)
|
43
57
|
if name is not None:
|
44
58
|
pulumi.set(__self__, "name", name)
|
45
59
|
if project is not None:
|
46
60
|
pulumi.set(__self__, "project", project)
|
61
|
+
if tls_feature_profile is not None:
|
62
|
+
pulumi.set(__self__, "tls_feature_profile", tls_feature_profile)
|
63
|
+
if trust_config is not None:
|
64
|
+
pulumi.set(__self__, "trust_config", trust_config)
|
47
65
|
|
48
66
|
@property
|
49
67
|
@pulumi.getter(name="caPool")
|
@@ -57,6 +75,18 @@ class TlsInspectionPolicyArgs:
|
|
57
75
|
def ca_pool(self, value: pulumi.Input[str]):
|
58
76
|
pulumi.set(self, "ca_pool", value)
|
59
77
|
|
78
|
+
@property
|
79
|
+
@pulumi.getter(name="customTlsFeatures")
|
80
|
+
def custom_tls_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
81
|
+
"""
|
82
|
+
List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
|
83
|
+
"""
|
84
|
+
return pulumi.get(self, "custom_tls_features")
|
85
|
+
|
86
|
+
@custom_tls_features.setter
|
87
|
+
def custom_tls_features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
88
|
+
pulumi.set(self, "custom_tls_features", value)
|
89
|
+
|
60
90
|
@property
|
61
91
|
@pulumi.getter
|
62
92
|
def description(self) -> Optional[pulumi.Input[str]]:
|
@@ -93,6 +123,19 @@ class TlsInspectionPolicyArgs:
|
|
93
123
|
def location(self, value: Optional[pulumi.Input[str]]):
|
94
124
|
pulumi.set(self, "location", value)
|
95
125
|
|
126
|
+
@property
|
127
|
+
@pulumi.getter(name="minTlsVersion")
|
128
|
+
def min_tls_version(self) -> Optional[pulumi.Input[str]]:
|
129
|
+
"""
|
130
|
+
Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
131
|
+
Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
|
132
|
+
"""
|
133
|
+
return pulumi.get(self, "min_tls_version")
|
134
|
+
|
135
|
+
@min_tls_version.setter
|
136
|
+
def min_tls_version(self, value: Optional[pulumi.Input[str]]):
|
137
|
+
pulumi.set(self, "min_tls_version", value)
|
138
|
+
|
96
139
|
@property
|
97
140
|
@pulumi.getter
|
98
141
|
def name(self) -> Optional[pulumi.Input[str]]:
|
@@ -121,47 +164,90 @@ class TlsInspectionPolicyArgs:
|
|
121
164
|
def project(self, value: Optional[pulumi.Input[str]]):
|
122
165
|
pulumi.set(self, "project", value)
|
123
166
|
|
167
|
+
@property
|
168
|
+
@pulumi.getter(name="tlsFeatureProfile")
|
169
|
+
def tls_feature_profile(self) -> Optional[pulumi.Input[str]]:
|
170
|
+
"""
|
171
|
+
The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
172
|
+
Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
|
173
|
+
"""
|
174
|
+
return pulumi.get(self, "tls_feature_profile")
|
175
|
+
|
176
|
+
@tls_feature_profile.setter
|
177
|
+
def tls_feature_profile(self, value: Optional[pulumi.Input[str]]):
|
178
|
+
pulumi.set(self, "tls_feature_profile", value)
|
179
|
+
|
180
|
+
@property
|
181
|
+
@pulumi.getter(name="trustConfig")
|
182
|
+
def trust_config(self) -> Optional[pulumi.Input[str]]:
|
183
|
+
"""
|
184
|
+
A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
|
185
|
+
"""
|
186
|
+
return pulumi.get(self, "trust_config")
|
187
|
+
|
188
|
+
@trust_config.setter
|
189
|
+
def trust_config(self, value: Optional[pulumi.Input[str]]):
|
190
|
+
pulumi.set(self, "trust_config", value)
|
191
|
+
|
124
192
|
|
125
193
|
@pulumi.input_type
|
126
194
|
class _TlsInspectionPolicyState:
|
127
195
|
def __init__(__self__, *,
|
128
196
|
ca_pool: Optional[pulumi.Input[str]] = None,
|
129
197
|
create_time: Optional[pulumi.Input[str]] = None,
|
198
|
+
custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
130
199
|
description: Optional[pulumi.Input[str]] = None,
|
131
200
|
exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
|
132
201
|
location: Optional[pulumi.Input[str]] = None,
|
202
|
+
min_tls_version: Optional[pulumi.Input[str]] = None,
|
133
203
|
name: Optional[pulumi.Input[str]] = None,
|
134
204
|
project: Optional[pulumi.Input[str]] = None,
|
205
|
+
tls_feature_profile: Optional[pulumi.Input[str]] = None,
|
206
|
+
trust_config: Optional[pulumi.Input[str]] = None,
|
135
207
|
update_time: Optional[pulumi.Input[str]] = None):
|
136
208
|
"""
|
137
209
|
Input properties used for looking up and filtering TlsInspectionPolicy resources.
|
138
210
|
:param pulumi.Input[str] ca_pool: A CA pool resource used to issue interception certificates.
|
139
211
|
:param pulumi.Input[str] create_time: The timestamp when the resource was created.
|
212
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] custom_tls_features: List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
|
140
213
|
:param pulumi.Input[str] description: Free-text description of the resource.
|
141
214
|
:param pulumi.Input[bool] exclude_public_ca_set: If FALSE (the default), use our default set of public CAs in addition to any CAs specified in trustConfig. These public CAs are currently based on the Mozilla Root Program and are subject to change over time. If TRUE, do not accept our default set of public CAs. Only CAs specified in trustConfig will be accepted.
|
142
215
|
:param pulumi.Input[str] location: The location of the tls inspection policy.
|
216
|
+
:param pulumi.Input[str] min_tls_version: Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
217
|
+
Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
|
143
218
|
:param pulumi.Input[str] name: Short name of the TlsInspectionPolicy resource to be created.
|
144
219
|
|
145
220
|
|
146
221
|
- - -
|
147
222
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
148
223
|
If it is not provided, the provider project is used.
|
224
|
+
:param pulumi.Input[str] tls_feature_profile: The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
225
|
+
Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
|
226
|
+
:param pulumi.Input[str] trust_config: A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
|
149
227
|
:param pulumi.Input[str] update_time: The timestamp when the resource was updated.
|
150
228
|
"""
|
151
229
|
if ca_pool is not None:
|
152
230
|
pulumi.set(__self__, "ca_pool", ca_pool)
|
153
231
|
if create_time is not None:
|
154
232
|
pulumi.set(__self__, "create_time", create_time)
|
233
|
+
if custom_tls_features is not None:
|
234
|
+
pulumi.set(__self__, "custom_tls_features", custom_tls_features)
|
155
235
|
if description is not None:
|
156
236
|
pulumi.set(__self__, "description", description)
|
157
237
|
if exclude_public_ca_set is not None:
|
158
238
|
pulumi.set(__self__, "exclude_public_ca_set", exclude_public_ca_set)
|
159
239
|
if location is not None:
|
160
240
|
pulumi.set(__self__, "location", location)
|
241
|
+
if min_tls_version is not None:
|
242
|
+
pulumi.set(__self__, "min_tls_version", min_tls_version)
|
161
243
|
if name is not None:
|
162
244
|
pulumi.set(__self__, "name", name)
|
163
245
|
if project is not None:
|
164
246
|
pulumi.set(__self__, "project", project)
|
247
|
+
if tls_feature_profile is not None:
|
248
|
+
pulumi.set(__self__, "tls_feature_profile", tls_feature_profile)
|
249
|
+
if trust_config is not None:
|
250
|
+
pulumi.set(__self__, "trust_config", trust_config)
|
165
251
|
if update_time is not None:
|
166
252
|
pulumi.set(__self__, "update_time", update_time)
|
167
253
|
|
@@ -189,6 +275,18 @@ class _TlsInspectionPolicyState:
|
|
189
275
|
def create_time(self, value: Optional[pulumi.Input[str]]):
|
190
276
|
pulumi.set(self, "create_time", value)
|
191
277
|
|
278
|
+
@property
|
279
|
+
@pulumi.getter(name="customTlsFeatures")
|
280
|
+
def custom_tls_features(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
281
|
+
"""
|
282
|
+
List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
|
283
|
+
"""
|
284
|
+
return pulumi.get(self, "custom_tls_features")
|
285
|
+
|
286
|
+
@custom_tls_features.setter
|
287
|
+
def custom_tls_features(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
288
|
+
pulumi.set(self, "custom_tls_features", value)
|
289
|
+
|
192
290
|
@property
|
193
291
|
@pulumi.getter
|
194
292
|
def description(self) -> Optional[pulumi.Input[str]]:
|
@@ -225,6 +323,19 @@ class _TlsInspectionPolicyState:
|
|
225
323
|
def location(self, value: Optional[pulumi.Input[str]]):
|
226
324
|
pulumi.set(self, "location", value)
|
227
325
|
|
326
|
+
@property
|
327
|
+
@pulumi.getter(name="minTlsVersion")
|
328
|
+
def min_tls_version(self) -> Optional[pulumi.Input[str]]:
|
329
|
+
"""
|
330
|
+
Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
331
|
+
Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
|
332
|
+
"""
|
333
|
+
return pulumi.get(self, "min_tls_version")
|
334
|
+
|
335
|
+
@min_tls_version.setter
|
336
|
+
def min_tls_version(self, value: Optional[pulumi.Input[str]]):
|
337
|
+
pulumi.set(self, "min_tls_version", value)
|
338
|
+
|
228
339
|
@property
|
229
340
|
@pulumi.getter
|
230
341
|
def name(self) -> Optional[pulumi.Input[str]]:
|
@@ -253,6 +364,31 @@ class _TlsInspectionPolicyState:
|
|
253
364
|
def project(self, value: Optional[pulumi.Input[str]]):
|
254
365
|
pulumi.set(self, "project", value)
|
255
366
|
|
367
|
+
@property
|
368
|
+
@pulumi.getter(name="tlsFeatureProfile")
|
369
|
+
def tls_feature_profile(self) -> Optional[pulumi.Input[str]]:
|
370
|
+
"""
|
371
|
+
The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
372
|
+
Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
|
373
|
+
"""
|
374
|
+
return pulumi.get(self, "tls_feature_profile")
|
375
|
+
|
376
|
+
@tls_feature_profile.setter
|
377
|
+
def tls_feature_profile(self, value: Optional[pulumi.Input[str]]):
|
378
|
+
pulumi.set(self, "tls_feature_profile", value)
|
379
|
+
|
380
|
+
@property
|
381
|
+
@pulumi.getter(name="trustConfig")
|
382
|
+
def trust_config(self) -> Optional[pulumi.Input[str]]:
|
383
|
+
"""
|
384
|
+
A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
|
385
|
+
"""
|
386
|
+
return pulumi.get(self, "trust_config")
|
387
|
+
|
388
|
+
@trust_config.setter
|
389
|
+
def trust_config(self, value: Optional[pulumi.Input[str]]):
|
390
|
+
pulumi.set(self, "trust_config", value)
|
391
|
+
|
256
392
|
@property
|
257
393
|
@pulumi.getter(name="updateTime")
|
258
394
|
def update_time(self) -> Optional[pulumi.Input[str]]:
|
@@ -272,11 +408,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
272
408
|
resource_name: str,
|
273
409
|
opts: Optional[pulumi.ResourceOptions] = None,
|
274
410
|
ca_pool: Optional[pulumi.Input[str]] = None,
|
411
|
+
custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
275
412
|
description: Optional[pulumi.Input[str]] = None,
|
276
413
|
exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
|
277
414
|
location: Optional[pulumi.Input[str]] = None,
|
415
|
+
min_tls_version: Optional[pulumi.Input[str]] = None,
|
278
416
|
name: Optional[pulumi.Input[str]] = None,
|
279
417
|
project: Optional[pulumi.Input[str]] = None,
|
418
|
+
tls_feature_profile: Optional[pulumi.Input[str]] = None,
|
419
|
+
trust_config: Optional[pulumi.Input[str]] = None,
|
280
420
|
__props__=None):
|
281
421
|
"""
|
282
422
|
The TlsInspectionPolicy resource contains references to CA pools in Certificate Authority Service and associated metadata.
|
@@ -351,16 +491,131 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
351
491
|
key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
|
352
492
|
algorithm="RSA_PKCS1_4096_SHA256",
|
353
493
|
))
|
354
|
-
|
494
|
+
project = gcp.organizations.get_project()
|
355
495
|
tls_inspection_permission = gcp.certificateauthority.CaPoolIamMember("tls_inspection_permission",
|
496
|
+
ca_pool=default.id,
|
497
|
+
role="roles/privateca.certificateManager",
|
498
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-networksecurity.iam.gserviceaccount.com")
|
499
|
+
default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
|
500
|
+
name="my-tls-inspection-policy",
|
501
|
+
location="us-central1",
|
502
|
+
ca_pool=default.id,
|
503
|
+
exclude_public_ca_set=False,
|
504
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
505
|
+
default,
|
506
|
+
default_authority,
|
507
|
+
tls_inspection_permission,
|
508
|
+
]))
|
509
|
+
```
|
510
|
+
### Network Security Tls Inspection Policy Custom
|
511
|
+
|
512
|
+
```python
|
513
|
+
import pulumi
|
514
|
+
import pulumi_gcp as gcp
|
515
|
+
import pulumi_std as std
|
516
|
+
|
517
|
+
default = gcp.certificateauthority.CaPool("default",
|
518
|
+
name="my-basic-ca-pool",
|
519
|
+
location="us-central1",
|
520
|
+
tier="DEVOPS",
|
521
|
+
publishing_options=gcp.certificateauthority.CaPoolPublishingOptionsArgs(
|
522
|
+
publish_ca_cert=False,
|
523
|
+
publish_crl=False,
|
524
|
+
),
|
525
|
+
issuance_policy=gcp.certificateauthority.CaPoolIssuancePolicyArgs(
|
526
|
+
maximum_lifetime="1209600s",
|
527
|
+
baseline_values=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesArgs(
|
528
|
+
ca_options=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesCaOptionsArgs(
|
529
|
+
is_ca=False,
|
530
|
+
),
|
531
|
+
key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageArgs(
|
532
|
+
base_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsageArgs(),
|
533
|
+
extended_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsageArgs(
|
534
|
+
server_auth=True,
|
535
|
+
),
|
536
|
+
),
|
537
|
+
),
|
538
|
+
))
|
539
|
+
default_authority = gcp.certificateauthority.Authority("default",
|
540
|
+
pool=default.name,
|
541
|
+
certificate_authority_id="my-basic-certificate-authority",
|
542
|
+
location="us-central1",
|
543
|
+
lifetime="86400s",
|
544
|
+
type="SELF_SIGNED",
|
545
|
+
deletion_protection=False,
|
546
|
+
skip_grace_period=True,
|
547
|
+
ignore_active_certificates_on_deletion=True,
|
548
|
+
config=gcp.certificateauthority.AuthorityConfigArgs(
|
549
|
+
subject_config=gcp.certificateauthority.AuthorityConfigSubjectConfigArgs(
|
550
|
+
subject=gcp.certificateauthority.AuthorityConfigSubjectConfigSubjectArgs(
|
551
|
+
organization="Test LLC",
|
552
|
+
common_name="my-ca",
|
553
|
+
),
|
554
|
+
),
|
555
|
+
x509_config=gcp.certificateauthority.AuthorityConfigX509ConfigArgs(
|
556
|
+
ca_options=gcp.certificateauthority.AuthorityConfigX509ConfigCaOptionsArgs(
|
557
|
+
is_ca=True,
|
558
|
+
),
|
559
|
+
key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageArgs(
|
560
|
+
base_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageBaseKeyUsageArgs(
|
561
|
+
cert_sign=True,
|
562
|
+
crl_sign=True,
|
563
|
+
),
|
564
|
+
extended_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageExtendedKeyUsageArgs(
|
565
|
+
server_auth=False,
|
566
|
+
),
|
567
|
+
),
|
568
|
+
),
|
569
|
+
),
|
570
|
+
key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
|
571
|
+
algorithm="RSA_PKCS1_4096_SHA256",
|
572
|
+
))
|
573
|
+
ns_sa = gcp.projects.ServiceIdentity("ns_sa", service="networksecurity.googleapis.com")
|
574
|
+
default_ca_pool_iam_member = gcp.certificateauthority.CaPoolIamMember("default",
|
356
575
|
ca_pool=default.id,
|
357
576
|
role="roles/privateca.certificateManager",
|
358
577
|
member=ns_sa.email.apply(lambda email: f"serviceAccount:{email}"))
|
578
|
+
default_trust_config = gcp.certificatemanager.TrustConfig("default",
|
579
|
+
name="my-trust-config",
|
580
|
+
description="sample trust config description",
|
581
|
+
location="us-central1",
|
582
|
+
trust_stores=[gcp.certificatemanager.TrustConfigTrustStoreArgs(
|
583
|
+
trust_anchors=[gcp.certificatemanager.TrustConfigTrustStoreTrustAnchorArgs(
|
584
|
+
pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
|
585
|
+
)],
|
586
|
+
intermediate_cas=[gcp.certificatemanager.TrustConfigTrustStoreIntermediateCaArgs(
|
587
|
+
pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
|
588
|
+
)],
|
589
|
+
)])
|
359
590
|
default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
|
360
591
|
name="my-tls-inspection-policy",
|
361
592
|
location="us-central1",
|
362
593
|
ca_pool=default.id,
|
363
|
-
exclude_public_ca_set=False
|
594
|
+
exclude_public_ca_set=False,
|
595
|
+
min_tls_version="TLS_1_0",
|
596
|
+
trust_config=default_trust_config.id,
|
597
|
+
tls_feature_profile="PROFILE_CUSTOM",
|
598
|
+
custom_tls_features=[
|
599
|
+
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
|
600
|
+
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
|
601
|
+
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
|
602
|
+
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
|
603
|
+
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
|
604
|
+
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
|
605
|
+
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
|
606
|
+
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
|
607
|
+
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
|
608
|
+
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
|
609
|
+
"TLS_RSA_WITH_3DES_EDE_CBC_SHA",
|
610
|
+
"TLS_RSA_WITH_AES_128_CBC_SHA",
|
611
|
+
"TLS_RSA_WITH_AES_128_GCM_SHA256",
|
612
|
+
"TLS_RSA_WITH_AES_256_CBC_SHA",
|
613
|
+
"TLS_RSA_WITH_AES_256_GCM_SHA384",
|
614
|
+
],
|
615
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
616
|
+
default_authority,
|
617
|
+
default_ca_pool_iam_member,
|
618
|
+
]))
|
364
619
|
```
|
365
620
|
|
366
621
|
## Import
|
@@ -390,15 +645,21 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
390
645
|
:param str resource_name: The name of the resource.
|
391
646
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
392
647
|
:param pulumi.Input[str] ca_pool: A CA pool resource used to issue interception certificates.
|
648
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] custom_tls_features: List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
|
393
649
|
:param pulumi.Input[str] description: Free-text description of the resource.
|
394
650
|
:param pulumi.Input[bool] exclude_public_ca_set: If FALSE (the default), use our default set of public CAs in addition to any CAs specified in trustConfig. These public CAs are currently based on the Mozilla Root Program and are subject to change over time. If TRUE, do not accept our default set of public CAs. Only CAs specified in trustConfig will be accepted.
|
395
651
|
:param pulumi.Input[str] location: The location of the tls inspection policy.
|
652
|
+
:param pulumi.Input[str] min_tls_version: Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
653
|
+
Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
|
396
654
|
:param pulumi.Input[str] name: Short name of the TlsInspectionPolicy resource to be created.
|
397
655
|
|
398
656
|
|
399
657
|
- - -
|
400
658
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
401
659
|
If it is not provided, the provider project is used.
|
660
|
+
:param pulumi.Input[str] tls_feature_profile: The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
661
|
+
Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
|
662
|
+
:param pulumi.Input[str] trust_config: A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
|
402
663
|
"""
|
403
664
|
...
|
404
665
|
@overload
|
@@ -479,16 +740,131 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
479
740
|
key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
|
480
741
|
algorithm="RSA_PKCS1_4096_SHA256",
|
481
742
|
))
|
482
|
-
|
743
|
+
project = gcp.organizations.get_project()
|
483
744
|
tls_inspection_permission = gcp.certificateauthority.CaPoolIamMember("tls_inspection_permission",
|
745
|
+
ca_pool=default.id,
|
746
|
+
role="roles/privateca.certificateManager",
|
747
|
+
member=f"serviceAccount:service-{project.number}@gcp-sa-networksecurity.iam.gserviceaccount.com")
|
748
|
+
default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
|
749
|
+
name="my-tls-inspection-policy",
|
750
|
+
location="us-central1",
|
751
|
+
ca_pool=default.id,
|
752
|
+
exclude_public_ca_set=False,
|
753
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
754
|
+
default,
|
755
|
+
default_authority,
|
756
|
+
tls_inspection_permission,
|
757
|
+
]))
|
758
|
+
```
|
759
|
+
### Network Security Tls Inspection Policy Custom
|
760
|
+
|
761
|
+
```python
|
762
|
+
import pulumi
|
763
|
+
import pulumi_gcp as gcp
|
764
|
+
import pulumi_std as std
|
765
|
+
|
766
|
+
default = gcp.certificateauthority.CaPool("default",
|
767
|
+
name="my-basic-ca-pool",
|
768
|
+
location="us-central1",
|
769
|
+
tier="DEVOPS",
|
770
|
+
publishing_options=gcp.certificateauthority.CaPoolPublishingOptionsArgs(
|
771
|
+
publish_ca_cert=False,
|
772
|
+
publish_crl=False,
|
773
|
+
),
|
774
|
+
issuance_policy=gcp.certificateauthority.CaPoolIssuancePolicyArgs(
|
775
|
+
maximum_lifetime="1209600s",
|
776
|
+
baseline_values=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesArgs(
|
777
|
+
ca_options=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesCaOptionsArgs(
|
778
|
+
is_ca=False,
|
779
|
+
),
|
780
|
+
key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageArgs(
|
781
|
+
base_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageBaseKeyUsageArgs(),
|
782
|
+
extended_key_usage=gcp.certificateauthority.CaPoolIssuancePolicyBaselineValuesKeyUsageExtendedKeyUsageArgs(
|
783
|
+
server_auth=True,
|
784
|
+
),
|
785
|
+
),
|
786
|
+
),
|
787
|
+
))
|
788
|
+
default_authority = gcp.certificateauthority.Authority("default",
|
789
|
+
pool=default.name,
|
790
|
+
certificate_authority_id="my-basic-certificate-authority",
|
791
|
+
location="us-central1",
|
792
|
+
lifetime="86400s",
|
793
|
+
type="SELF_SIGNED",
|
794
|
+
deletion_protection=False,
|
795
|
+
skip_grace_period=True,
|
796
|
+
ignore_active_certificates_on_deletion=True,
|
797
|
+
config=gcp.certificateauthority.AuthorityConfigArgs(
|
798
|
+
subject_config=gcp.certificateauthority.AuthorityConfigSubjectConfigArgs(
|
799
|
+
subject=gcp.certificateauthority.AuthorityConfigSubjectConfigSubjectArgs(
|
800
|
+
organization="Test LLC",
|
801
|
+
common_name="my-ca",
|
802
|
+
),
|
803
|
+
),
|
804
|
+
x509_config=gcp.certificateauthority.AuthorityConfigX509ConfigArgs(
|
805
|
+
ca_options=gcp.certificateauthority.AuthorityConfigX509ConfigCaOptionsArgs(
|
806
|
+
is_ca=True,
|
807
|
+
),
|
808
|
+
key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageArgs(
|
809
|
+
base_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageBaseKeyUsageArgs(
|
810
|
+
cert_sign=True,
|
811
|
+
crl_sign=True,
|
812
|
+
),
|
813
|
+
extended_key_usage=gcp.certificateauthority.AuthorityConfigX509ConfigKeyUsageExtendedKeyUsageArgs(
|
814
|
+
server_auth=False,
|
815
|
+
),
|
816
|
+
),
|
817
|
+
),
|
818
|
+
),
|
819
|
+
key_spec=gcp.certificateauthority.AuthorityKeySpecArgs(
|
820
|
+
algorithm="RSA_PKCS1_4096_SHA256",
|
821
|
+
))
|
822
|
+
ns_sa = gcp.projects.ServiceIdentity("ns_sa", service="networksecurity.googleapis.com")
|
823
|
+
default_ca_pool_iam_member = gcp.certificateauthority.CaPoolIamMember("default",
|
484
824
|
ca_pool=default.id,
|
485
825
|
role="roles/privateca.certificateManager",
|
486
826
|
member=ns_sa.email.apply(lambda email: f"serviceAccount:{email}"))
|
827
|
+
default_trust_config = gcp.certificatemanager.TrustConfig("default",
|
828
|
+
name="my-trust-config",
|
829
|
+
description="sample trust config description",
|
830
|
+
location="us-central1",
|
831
|
+
trust_stores=[gcp.certificatemanager.TrustConfigTrustStoreArgs(
|
832
|
+
trust_anchors=[gcp.certificatemanager.TrustConfigTrustStoreTrustAnchorArgs(
|
833
|
+
pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
|
834
|
+
)],
|
835
|
+
intermediate_cas=[gcp.certificatemanager.TrustConfigTrustStoreIntermediateCaArgs(
|
836
|
+
pem_certificate=std.file(input="test-fixtures/ca_cert.pem").result,
|
837
|
+
)],
|
838
|
+
)])
|
487
839
|
default_tls_inspection_policy = gcp.networksecurity.TlsInspectionPolicy("default",
|
488
840
|
name="my-tls-inspection-policy",
|
489
841
|
location="us-central1",
|
490
842
|
ca_pool=default.id,
|
491
|
-
exclude_public_ca_set=False
|
843
|
+
exclude_public_ca_set=False,
|
844
|
+
min_tls_version="TLS_1_0",
|
845
|
+
trust_config=default_trust_config.id,
|
846
|
+
tls_feature_profile="PROFILE_CUSTOM",
|
847
|
+
custom_tls_features=[
|
848
|
+
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
|
849
|
+
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
|
850
|
+
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
|
851
|
+
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
|
852
|
+
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
|
853
|
+
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
|
854
|
+
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
|
855
|
+
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
|
856
|
+
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
|
857
|
+
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
|
858
|
+
"TLS_RSA_WITH_3DES_EDE_CBC_SHA",
|
859
|
+
"TLS_RSA_WITH_AES_128_CBC_SHA",
|
860
|
+
"TLS_RSA_WITH_AES_128_GCM_SHA256",
|
861
|
+
"TLS_RSA_WITH_AES_256_CBC_SHA",
|
862
|
+
"TLS_RSA_WITH_AES_256_GCM_SHA384",
|
863
|
+
],
|
864
|
+
opts=pulumi.ResourceOptions(depends_on=[
|
865
|
+
default_authority,
|
866
|
+
default_ca_pool_iam_member,
|
867
|
+
]))
|
492
868
|
```
|
493
869
|
|
494
870
|
## Import
|
@@ -531,11 +907,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
531
907
|
resource_name: str,
|
532
908
|
opts: Optional[pulumi.ResourceOptions] = None,
|
533
909
|
ca_pool: Optional[pulumi.Input[str]] = None,
|
910
|
+
custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
534
911
|
description: Optional[pulumi.Input[str]] = None,
|
535
912
|
exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
|
536
913
|
location: Optional[pulumi.Input[str]] = None,
|
914
|
+
min_tls_version: Optional[pulumi.Input[str]] = None,
|
537
915
|
name: Optional[pulumi.Input[str]] = None,
|
538
916
|
project: Optional[pulumi.Input[str]] = None,
|
917
|
+
tls_feature_profile: Optional[pulumi.Input[str]] = None,
|
918
|
+
trust_config: Optional[pulumi.Input[str]] = None,
|
539
919
|
__props__=None):
|
540
920
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
541
921
|
if not isinstance(opts, pulumi.ResourceOptions):
|
@@ -548,11 +928,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
548
928
|
if ca_pool is None and not opts.urn:
|
549
929
|
raise TypeError("Missing required property 'ca_pool'")
|
550
930
|
__props__.__dict__["ca_pool"] = ca_pool
|
931
|
+
__props__.__dict__["custom_tls_features"] = custom_tls_features
|
551
932
|
__props__.__dict__["description"] = description
|
552
933
|
__props__.__dict__["exclude_public_ca_set"] = exclude_public_ca_set
|
553
934
|
__props__.__dict__["location"] = location
|
935
|
+
__props__.__dict__["min_tls_version"] = min_tls_version
|
554
936
|
__props__.__dict__["name"] = name
|
555
937
|
__props__.__dict__["project"] = project
|
938
|
+
__props__.__dict__["tls_feature_profile"] = tls_feature_profile
|
939
|
+
__props__.__dict__["trust_config"] = trust_config
|
556
940
|
__props__.__dict__["create_time"] = None
|
557
941
|
__props__.__dict__["update_time"] = None
|
558
942
|
super(TlsInspectionPolicy, __self__).__init__(
|
@@ -567,11 +951,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
567
951
|
opts: Optional[pulumi.ResourceOptions] = None,
|
568
952
|
ca_pool: Optional[pulumi.Input[str]] = None,
|
569
953
|
create_time: Optional[pulumi.Input[str]] = None,
|
954
|
+
custom_tls_features: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
570
955
|
description: Optional[pulumi.Input[str]] = None,
|
571
956
|
exclude_public_ca_set: Optional[pulumi.Input[bool]] = None,
|
572
957
|
location: Optional[pulumi.Input[str]] = None,
|
958
|
+
min_tls_version: Optional[pulumi.Input[str]] = None,
|
573
959
|
name: Optional[pulumi.Input[str]] = None,
|
574
960
|
project: Optional[pulumi.Input[str]] = None,
|
961
|
+
tls_feature_profile: Optional[pulumi.Input[str]] = None,
|
962
|
+
trust_config: Optional[pulumi.Input[str]] = None,
|
575
963
|
update_time: Optional[pulumi.Input[str]] = None) -> 'TlsInspectionPolicy':
|
576
964
|
"""
|
577
965
|
Get an existing TlsInspectionPolicy resource's state with the given name, id, and optional extra
|
@@ -582,15 +970,21 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
582
970
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
583
971
|
:param pulumi.Input[str] ca_pool: A CA pool resource used to issue interception certificates.
|
584
972
|
:param pulumi.Input[str] create_time: The timestamp when the resource was created.
|
973
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] custom_tls_features: List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
|
585
974
|
:param pulumi.Input[str] description: Free-text description of the resource.
|
586
975
|
:param pulumi.Input[bool] exclude_public_ca_set: If FALSE (the default), use our default set of public CAs in addition to any CAs specified in trustConfig. These public CAs are currently based on the Mozilla Root Program and are subject to change over time. If TRUE, do not accept our default set of public CAs. Only CAs specified in trustConfig will be accepted.
|
587
976
|
:param pulumi.Input[str] location: The location of the tls inspection policy.
|
977
|
+
:param pulumi.Input[str] min_tls_version: Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
978
|
+
Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
|
588
979
|
:param pulumi.Input[str] name: Short name of the TlsInspectionPolicy resource to be created.
|
589
980
|
|
590
981
|
|
591
982
|
- - -
|
592
983
|
:param pulumi.Input[str] project: The ID of the project in which the resource belongs.
|
593
984
|
If it is not provided, the provider project is used.
|
985
|
+
:param pulumi.Input[str] tls_feature_profile: The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
986
|
+
Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
|
987
|
+
:param pulumi.Input[str] trust_config: A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
|
594
988
|
:param pulumi.Input[str] update_time: The timestamp when the resource was updated.
|
595
989
|
"""
|
596
990
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
@@ -599,11 +993,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
599
993
|
|
600
994
|
__props__.__dict__["ca_pool"] = ca_pool
|
601
995
|
__props__.__dict__["create_time"] = create_time
|
996
|
+
__props__.__dict__["custom_tls_features"] = custom_tls_features
|
602
997
|
__props__.__dict__["description"] = description
|
603
998
|
__props__.__dict__["exclude_public_ca_set"] = exclude_public_ca_set
|
604
999
|
__props__.__dict__["location"] = location
|
1000
|
+
__props__.__dict__["min_tls_version"] = min_tls_version
|
605
1001
|
__props__.__dict__["name"] = name
|
606
1002
|
__props__.__dict__["project"] = project
|
1003
|
+
__props__.__dict__["tls_feature_profile"] = tls_feature_profile
|
1004
|
+
__props__.__dict__["trust_config"] = trust_config
|
607
1005
|
__props__.__dict__["update_time"] = update_time
|
608
1006
|
return TlsInspectionPolicy(resource_name, opts=opts, __props__=__props__)
|
609
1007
|
|
@@ -623,6 +1021,14 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
623
1021
|
"""
|
624
1022
|
return pulumi.get(self, "create_time")
|
625
1023
|
|
1024
|
+
@property
|
1025
|
+
@pulumi.getter(name="customTlsFeatures")
|
1026
|
+
def custom_tls_features(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1027
|
+
"""
|
1028
|
+
List of custom TLS cipher suites selected. This field is valid only if the selected tls_feature_profile is CUSTOM. The compute.SslPoliciesService.ListAvailableFeatures method returns the set of features that can be specified in this list. Note that Secure Web Proxy does not yet honor this field.
|
1029
|
+
"""
|
1030
|
+
return pulumi.get(self, "custom_tls_features")
|
1031
|
+
|
626
1032
|
@property
|
627
1033
|
@pulumi.getter
|
628
1034
|
def description(self) -> pulumi.Output[Optional[str]]:
|
@@ -647,6 +1053,15 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
647
1053
|
"""
|
648
1054
|
return pulumi.get(self, "location")
|
649
1055
|
|
1056
|
+
@property
|
1057
|
+
@pulumi.getter(name="minTlsVersion")
|
1058
|
+
def min_tls_version(self) -> pulumi.Output[Optional[str]]:
|
1059
|
+
"""
|
1060
|
+
Minimum TLS version that the firewall should use when negotiating connections with both clients and servers. If this is not set, then the default value is to allow the broadest set of clients and servers (TLS 1.0 or higher). Setting this to more restrictive values may improve security, but may also prevent the firewall from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
1061
|
+
Possible values are: `TLS_VERSION_UNSPECIFIED`, `TLS_1_0`, `TLS_1_1`, `TLS_1_2`, `TLS_1_3`.
|
1062
|
+
"""
|
1063
|
+
return pulumi.get(self, "min_tls_version")
|
1064
|
+
|
650
1065
|
@property
|
651
1066
|
@pulumi.getter
|
652
1067
|
def name(self) -> pulumi.Output[str]:
|
@@ -667,6 +1082,23 @@ class TlsInspectionPolicy(pulumi.CustomResource):
|
|
667
1082
|
"""
|
668
1083
|
return pulumi.get(self, "project")
|
669
1084
|
|
1085
|
+
@property
|
1086
|
+
@pulumi.getter(name="tlsFeatureProfile")
|
1087
|
+
def tls_feature_profile(self) -> pulumi.Output[Optional[str]]:
|
1088
|
+
"""
|
1089
|
+
The selected Profile. If this is not set, then the default value is to allow the broadest set of clients and servers (\\"PROFILE_COMPATIBLE\\"). Setting this to more restrictive values may improve security, but may also prevent the TLS inspection proxy from connecting to some clients or servers. Note that Secure Web Proxy does not yet honor this field.
|
1090
|
+
Possible values are: `PROFILE_UNSPECIFIED`, `PROFILE_COMPATIBLE`, `PROFILE_MODERN`, `PROFILE_RESTRICTED`, `PROFILE_CUSTOM`.
|
1091
|
+
"""
|
1092
|
+
return pulumi.get(self, "tls_feature_profile")
|
1093
|
+
|
1094
|
+
@property
|
1095
|
+
@pulumi.getter(name="trustConfig")
|
1096
|
+
def trust_config(self) -> pulumi.Output[Optional[str]]:
|
1097
|
+
"""
|
1098
|
+
A TrustConfig resource used when making a connection to the TLS server. This is a relative resource path following the form \\"projects/{project}/locations/{location}/trustConfigs/{trust_config}\\". This is necessary to intercept TLS connections to servers with certificates signed by a private CA or self-signed certificates. Trust config and the TLS inspection policy must be in the same region. Note that Secure Web Proxy does not yet honor this field.
|
1099
|
+
"""
|
1100
|
+
return pulumi.get(self, "trust_config")
|
1101
|
+
|
670
1102
|
@property
|
671
1103
|
@pulumi.getter(name="updateTime")
|
672
1104
|
def update_time(self) -> pulumi.Output[str]:
|