pulumi-gcp 7.37.0a1723638212__py3-none-any.whl → 7.38.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.
Files changed (107) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/appengine/application_url_dispatch_rules.py +10 -2
  3. pulumi_gcp/appengine/engine_split_traffic.py +32 -8
  4. pulumi_gcp/appengine/flexible_app_version.py +18 -2
  5. pulumi_gcp/appengine/service_network_settings.py +10 -2
  6. pulumi_gcp/appengine/standard_app_version.py +20 -4
  7. pulumi_gcp/applicationintegration/client.py +2 -2
  8. pulumi_gcp/artifactregistry/__init__.py +1 -0
  9. pulumi_gcp/artifactregistry/get_locations.py +167 -0
  10. pulumi_gcp/assuredworkloads/workload.py +14 -14
  11. pulumi_gcp/biglake/database.py +10 -2
  12. pulumi_gcp/biglake/table.py +20 -4
  13. pulumi_gcp/bigquery/connection.py +12 -0
  14. pulumi_gcp/bigquery/job.py +20 -4
  15. pulumi_gcp/cloudbuild/worker_pool.py +5 -5
  16. pulumi_gcp/clouddeploy/_inputs.py +41 -1
  17. pulumi_gcp/clouddeploy/delivery_pipeline.py +19 -19
  18. pulumi_gcp/clouddeploy/outputs.py +29 -1
  19. pulumi_gcp/clouddeploy/target.py +19 -19
  20. pulumi_gcp/cloudfunctions/function.py +42 -42
  21. pulumi_gcp/cloudfunctions/get_function.py +3 -3
  22. pulumi_gcp/cloudfunctionsv2/function.py +2 -0
  23. pulumi_gcp/cloudidentity/__init__.py +1 -0
  24. pulumi_gcp/cloudidentity/get_group_memberships.py +12 -0
  25. pulumi_gcp/cloudidentity/get_group_transitive_memberships.py +93 -0
  26. pulumi_gcp/cloudidentity/outputs.py +131 -0
  27. pulumi_gcp/cloudquota/outputs.py +6 -6
  28. pulumi_gcp/composer/get_user_workloads_secret.py +1 -1
  29. pulumi_gcp/composer/user_workloads_secret.py +14 -14
  30. pulumi_gcp/compute/_inputs.py +91 -85
  31. pulumi_gcp/compute/get_instance_serial_port.py +12 -4
  32. pulumi_gcp/compute/get_instance_template.py +1 -1
  33. pulumi_gcp/compute/get_region_instance_template.py +1 -1
  34. pulumi_gcp/compute/instance_template.py +14 -14
  35. pulumi_gcp/compute/outputs.py +93 -83
  36. pulumi_gcp/compute/region_instance_template.py +14 -14
  37. pulumi_gcp/compute/region_network_endpoint_group.py +18 -2
  38. pulumi_gcp/compute/subnetwork.py +82 -0
  39. pulumi_gcp/container/_inputs.py +35 -38
  40. pulumi_gcp/container/attached_cluster.py +14 -7
  41. pulumi_gcp/container/aws_cluster.py +5 -5
  42. pulumi_gcp/container/aws_node_pool.py +5 -5
  43. pulumi_gcp/container/azure_cluster.py +5 -5
  44. pulumi_gcp/container/azure_node_pool.py +5 -5
  45. pulumi_gcp/container/outputs.py +31 -33
  46. pulumi_gcp/databasemigrationservice/_inputs.py +5 -5
  47. pulumi_gcp/databasemigrationservice/outputs.py +3 -3
  48. pulumi_gcp/dataflow/flex_template_job.py +42 -42
  49. pulumi_gcp/dataflow/job.py +42 -42
  50. pulumi_gcp/datafusion/instance.py +10 -2
  51. pulumi_gcp/dataloss/_inputs.py +5 -5
  52. pulumi_gcp/dataloss/outputs.py +3 -3
  53. pulumi_gcp/dataloss/prevention_stored_info_type.py +10 -2
  54. pulumi_gcp/dataplex/asset.py +14 -14
  55. pulumi_gcp/dataplex/lake.py +14 -14
  56. pulumi_gcp/dataplex/zone.py +14 -14
  57. pulumi_gcp/dataproc/_inputs.py +10 -10
  58. pulumi_gcp/dataproc/outputs.py +6 -6
  59. pulumi_gcp/dataproc/workflow_template.py +12 -12
  60. pulumi_gcp/discoveryengine/__init__.py +1 -0
  61. pulumi_gcp/discoveryengine/schema.py +524 -0
  62. pulumi_gcp/dns/_inputs.py +80 -76
  63. pulumi_gcp/dns/outputs.py +56 -52
  64. pulumi_gcp/eventarc/trigger.py +14 -14
  65. pulumi_gcp/firebase/_inputs.py +5 -5
  66. pulumi_gcp/firebase/outputs.py +3 -3
  67. pulumi_gcp/healthcare/dicom_store.py +12 -2
  68. pulumi_gcp/healthcare/fhir_store.py +10 -2
  69. pulumi_gcp/iam/access_boundary_policy.py +10 -2
  70. pulumi_gcp/managedkafka/_inputs.py +6 -6
  71. pulumi_gcp/managedkafka/cluster.py +7 -7
  72. pulumi_gcp/managedkafka/outputs.py +4 -4
  73. pulumi_gcp/managedkafka/topic.py +7 -7
  74. pulumi_gcp/monitoring/get_app_engine_service.py +10 -2
  75. pulumi_gcp/networkconnectivity/_inputs.py +5 -5
  76. pulumi_gcp/networkconnectivity/outputs.py +3 -3
  77. pulumi_gcp/parallelstore/instance.py +215 -15
  78. pulumi_gcp/projects/default_service_accounts.py +7 -7
  79. pulumi_gcp/pubsub/subscription.py +36 -6
  80. pulumi_gcp/pulumi-plugin.json +1 -1
  81. pulumi_gcp/recaptcha/enterprise_key.py +14 -14
  82. pulumi_gcp/securitycenter/__init__.py +2 -0
  83. pulumi_gcp/securitycenter/_inputs.py +186 -0
  84. pulumi_gcp/securitycenter/folder_notification_config.py +486 -0
  85. pulumi_gcp/securitycenter/instance_iam_binding.py +10 -2
  86. pulumi_gcp/securitycenter/instance_iam_member.py +10 -2
  87. pulumi_gcp/securitycenter/instance_iam_policy.py +10 -2
  88. pulumi_gcp/securitycenter/outputs.py +118 -0
  89. pulumi_gcp/securitycenter/v2_folder_notification_config.py +575 -0
  90. pulumi_gcp/serviceaccount/key.py +14 -14
  91. pulumi_gcp/servicenetworking/connection.py +50 -3
  92. pulumi_gcp/sql/_inputs.py +20 -0
  93. pulumi_gcp/sql/outputs.py +36 -0
  94. pulumi_gcp/vertex/__init__.py +1 -0
  95. pulumi_gcp/vertex/_inputs.py +438 -0
  96. pulumi_gcp/vertex/ai_feature_group.py +12 -2
  97. pulumi_gcp/vertex/ai_feature_group_feature.py +12 -2
  98. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +48 -8
  99. pulumi_gcp/vertex/ai_index_endpoint_deployed_index.py +1170 -0
  100. pulumi_gcp/vertex/outputs.py +393 -0
  101. pulumi_gcp/workstations/_inputs.py +10 -10
  102. pulumi_gcp/workstations/outputs.py +6 -6
  103. pulumi_gcp/workstations/workstation_config.py +14 -6
  104. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/METADATA +1 -1
  105. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/RECORD +107 -101
  106. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/WHEEL +1 -1
  107. {pulumi_gcp-7.37.0a1723638212.dist-info → pulumi_gcp-7.38.0.dist-info}/top_level.txt +0 -0
@@ -97,6 +97,20 @@ __all__ = [
97
97
  'AiFeatureStoreOnlineServingConfigScalingArgsDict',
98
98
  'AiIndexDeployedIndexArgs',
99
99
  'AiIndexDeployedIndexArgsDict',
100
+ 'AiIndexEndpointDeployedIndexAutomaticResourcesArgs',
101
+ 'AiIndexEndpointDeployedIndexAutomaticResourcesArgsDict',
102
+ 'AiIndexEndpointDeployedIndexDedicatedResourcesArgs',
103
+ 'AiIndexEndpointDeployedIndexDedicatedResourcesArgsDict',
104
+ 'AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgs',
105
+ 'AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgsDict',
106
+ 'AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs',
107
+ 'AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgsDict',
108
+ 'AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs',
109
+ 'AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgsDict',
110
+ 'AiIndexEndpointDeployedIndexPrivateEndpointArgs',
111
+ 'AiIndexEndpointDeployedIndexPrivateEndpointArgsDict',
112
+ 'AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgs',
113
+ 'AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgsDict',
100
114
  'AiIndexEndpointPrivateServiceConnectConfigArgs',
101
115
  'AiIndexEndpointPrivateServiceConnectConfigArgsDict',
102
116
  'AiIndexIndexStatArgs',
@@ -2689,6 +2703,430 @@ class AiIndexDeployedIndexArgs:
2689
2703
  pulumi.set(self, "index_endpoint", value)
2690
2704
 
2691
2705
 
2706
+ if not MYPY:
2707
+ class AiIndexEndpointDeployedIndexAutomaticResourcesArgsDict(TypedDict):
2708
+ max_replica_count: NotRequired[pulumi.Input[int]]
2709
+ """
2710
+ The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.
2711
+ The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.
2712
+ """
2713
+ min_replica_count: NotRequired[pulumi.Input[int]]
2714
+ """
2715
+ The minimum number of replicas this DeployedModel will be always deployed on. If minReplicaCount is not set, the default value is 2 (we don't provide SLA when minReplicaCount=1).
2716
+ If traffic against it increases, it may dynamically be deployed onto more replicas up to [maxReplicaCount](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/AutomaticResources#FIELDS.max_replica_count), and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.
2717
+ """
2718
+ elif False:
2719
+ AiIndexEndpointDeployedIndexAutomaticResourcesArgsDict: TypeAlias = Mapping[str, Any]
2720
+
2721
+ @pulumi.input_type
2722
+ class AiIndexEndpointDeployedIndexAutomaticResourcesArgs:
2723
+ def __init__(__self__, *,
2724
+ max_replica_count: Optional[pulumi.Input[int]] = None,
2725
+ min_replica_count: Optional[pulumi.Input[int]] = None):
2726
+ """
2727
+ :param pulumi.Input[int] max_replica_count: The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.
2728
+ The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.
2729
+ :param pulumi.Input[int] min_replica_count: The minimum number of replicas this DeployedModel will be always deployed on. If minReplicaCount is not set, the default value is 2 (we don't provide SLA when minReplicaCount=1).
2730
+ If traffic against it increases, it may dynamically be deployed onto more replicas up to [maxReplicaCount](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/AutomaticResources#FIELDS.max_replica_count), and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.
2731
+ """
2732
+ if max_replica_count is not None:
2733
+ pulumi.set(__self__, "max_replica_count", max_replica_count)
2734
+ if min_replica_count is not None:
2735
+ pulumi.set(__self__, "min_replica_count", min_replica_count)
2736
+
2737
+ @property
2738
+ @pulumi.getter(name="maxReplicaCount")
2739
+ def max_replica_count(self) -> Optional[pulumi.Input[int]]:
2740
+ """
2741
+ The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount. The max allowed replica count is 1000.
2742
+ The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.
2743
+ """
2744
+ return pulumi.get(self, "max_replica_count")
2745
+
2746
+ @max_replica_count.setter
2747
+ def max_replica_count(self, value: Optional[pulumi.Input[int]]):
2748
+ pulumi.set(self, "max_replica_count", value)
2749
+
2750
+ @property
2751
+ @pulumi.getter(name="minReplicaCount")
2752
+ def min_replica_count(self) -> Optional[pulumi.Input[int]]:
2753
+ """
2754
+ The minimum number of replicas this DeployedModel will be always deployed on. If minReplicaCount is not set, the default value is 2 (we don't provide SLA when minReplicaCount=1).
2755
+ If traffic against it increases, it may dynamically be deployed onto more replicas up to [maxReplicaCount](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/AutomaticResources#FIELDS.max_replica_count), and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.
2756
+ """
2757
+ return pulumi.get(self, "min_replica_count")
2758
+
2759
+ @min_replica_count.setter
2760
+ def min_replica_count(self, value: Optional[pulumi.Input[int]]):
2761
+ pulumi.set(self, "min_replica_count", value)
2762
+
2763
+
2764
+ if not MYPY:
2765
+ class AiIndexEndpointDeployedIndexDedicatedResourcesArgsDict(TypedDict):
2766
+ machine_spec: pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgsDict']
2767
+ """
2768
+ The minimum number of replicas this DeployedModel will be always deployed on.
2769
+ Structure is documented below.
2770
+ """
2771
+ min_replica_count: pulumi.Input[int]
2772
+ """
2773
+ The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1.
2774
+ """
2775
+ max_replica_count: NotRequired[pulumi.Input[int]]
2776
+ """
2777
+ The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount
2778
+ """
2779
+ elif False:
2780
+ AiIndexEndpointDeployedIndexDedicatedResourcesArgsDict: TypeAlias = Mapping[str, Any]
2781
+
2782
+ @pulumi.input_type
2783
+ class AiIndexEndpointDeployedIndexDedicatedResourcesArgs:
2784
+ def __init__(__self__, *,
2785
+ machine_spec: pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgs'],
2786
+ min_replica_count: pulumi.Input[int],
2787
+ max_replica_count: Optional[pulumi.Input[int]] = None):
2788
+ """
2789
+ :param pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgs'] machine_spec: The minimum number of replicas this DeployedModel will be always deployed on.
2790
+ Structure is documented below.
2791
+ :param pulumi.Input[int] min_replica_count: The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1.
2792
+ :param pulumi.Input[int] max_replica_count: The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount
2793
+ """
2794
+ pulumi.set(__self__, "machine_spec", machine_spec)
2795
+ pulumi.set(__self__, "min_replica_count", min_replica_count)
2796
+ if max_replica_count is not None:
2797
+ pulumi.set(__self__, "max_replica_count", max_replica_count)
2798
+
2799
+ @property
2800
+ @pulumi.getter(name="machineSpec")
2801
+ def machine_spec(self) -> pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgs']:
2802
+ """
2803
+ The minimum number of replicas this DeployedModel will be always deployed on.
2804
+ Structure is documented below.
2805
+ """
2806
+ return pulumi.get(self, "machine_spec")
2807
+
2808
+ @machine_spec.setter
2809
+ def machine_spec(self, value: pulumi.Input['AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgs']):
2810
+ pulumi.set(self, "machine_spec", value)
2811
+
2812
+ @property
2813
+ @pulumi.getter(name="minReplicaCount")
2814
+ def min_replica_count(self) -> pulumi.Input[int]:
2815
+ """
2816
+ The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1.
2817
+ """
2818
+ return pulumi.get(self, "min_replica_count")
2819
+
2820
+ @min_replica_count.setter
2821
+ def min_replica_count(self, value: pulumi.Input[int]):
2822
+ pulumi.set(self, "min_replica_count", value)
2823
+
2824
+ @property
2825
+ @pulumi.getter(name="maxReplicaCount")
2826
+ def max_replica_count(self) -> Optional[pulumi.Input[int]]:
2827
+ """
2828
+ The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If maxReplicaCount is not set, the default value is minReplicaCount
2829
+ """
2830
+ return pulumi.get(self, "max_replica_count")
2831
+
2832
+ @max_replica_count.setter
2833
+ def max_replica_count(self, value: Optional[pulumi.Input[int]]):
2834
+ pulumi.set(self, "max_replica_count", value)
2835
+
2836
+
2837
+ if not MYPY:
2838
+ class AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgsDict(TypedDict):
2839
+ machine_type: NotRequired[pulumi.Input[str]]
2840
+ """
2841
+ The type of the machine.
2842
+ See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types)
2843
+ See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types).
2844
+ For [DeployedModel](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.endpoints#DeployedModel) this field is optional, and the default value is n1-standard-2. For [BatchPredictionJob](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.batchPredictionJobs#BatchPredictionJob) or as part of [WorkerPoolSpec](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/CustomJobSpec#WorkerPoolSpec) this field is required.
2845
+ """
2846
+ elif False:
2847
+ AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgsDict: TypeAlias = Mapping[str, Any]
2848
+
2849
+ @pulumi.input_type
2850
+ class AiIndexEndpointDeployedIndexDedicatedResourcesMachineSpecArgs:
2851
+ def __init__(__self__, *,
2852
+ machine_type: Optional[pulumi.Input[str]] = None):
2853
+ """
2854
+ :param pulumi.Input[str] machine_type: The type of the machine.
2855
+ See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types)
2856
+ See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types).
2857
+ For [DeployedModel](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.endpoints#DeployedModel) this field is optional, and the default value is n1-standard-2. For [BatchPredictionJob](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.batchPredictionJobs#BatchPredictionJob) or as part of [WorkerPoolSpec](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/CustomJobSpec#WorkerPoolSpec) this field is required.
2858
+ """
2859
+ if machine_type is not None:
2860
+ pulumi.set(__self__, "machine_type", machine_type)
2861
+
2862
+ @property
2863
+ @pulumi.getter(name="machineType")
2864
+ def machine_type(self) -> Optional[pulumi.Input[str]]:
2865
+ """
2866
+ The type of the machine.
2867
+ See the [list of machine types supported for prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types)
2868
+ See the [list of machine types supported for custom training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types).
2869
+ For [DeployedModel](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.endpoints#DeployedModel) this field is optional, and the default value is n1-standard-2. For [BatchPredictionJob](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/projects.locations.batchPredictionJobs#BatchPredictionJob) or as part of [WorkerPoolSpec](https://cloud.google.com/vertex-ai/docs/reference/rest/v1/CustomJobSpec#WorkerPoolSpec) this field is required.
2870
+ """
2871
+ return pulumi.get(self, "machine_type")
2872
+
2873
+ @machine_type.setter
2874
+ def machine_type(self, value: Optional[pulumi.Input[str]]):
2875
+ pulumi.set(self, "machine_type", value)
2876
+
2877
+
2878
+ if not MYPY:
2879
+ class AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgsDict(TypedDict):
2880
+ auth_provider: NotRequired[pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgsDict']]
2881
+ """
2882
+ Defines the authentication provider that the DeployedIndex uses.
2883
+ Structure is documented below.
2884
+ """
2885
+ elif False:
2886
+ AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgsDict: TypeAlias = Mapping[str, Any]
2887
+
2888
+ @pulumi.input_type
2889
+ class AiIndexEndpointDeployedIndexDeployedIndexAuthConfigArgs:
2890
+ def __init__(__self__, *,
2891
+ auth_provider: Optional[pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs']] = None):
2892
+ """
2893
+ :param pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs'] auth_provider: Defines the authentication provider that the DeployedIndex uses.
2894
+ Structure is documented below.
2895
+ """
2896
+ if auth_provider is not None:
2897
+ pulumi.set(__self__, "auth_provider", auth_provider)
2898
+
2899
+ @property
2900
+ @pulumi.getter(name="authProvider")
2901
+ def auth_provider(self) -> Optional[pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs']]:
2902
+ """
2903
+ Defines the authentication provider that the DeployedIndex uses.
2904
+ Structure is documented below.
2905
+ """
2906
+ return pulumi.get(self, "auth_provider")
2907
+
2908
+ @auth_provider.setter
2909
+ def auth_provider(self, value: Optional[pulumi.Input['AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs']]):
2910
+ pulumi.set(self, "auth_provider", value)
2911
+
2912
+
2913
+ if not MYPY:
2914
+ class AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgsDict(TypedDict):
2915
+ allowed_issuers: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2916
+ """
2917
+ A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: service-account-name@project-id.iam.gserviceaccount.com
2918
+ """
2919
+ audiences: NotRequired[pulumi.Input[Sequence[pulumi.Input[str]]]]
2920
+ """
2921
+ The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted.
2922
+ """
2923
+ elif False:
2924
+ AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgsDict: TypeAlias = Mapping[str, Any]
2925
+
2926
+ @pulumi.input_type
2927
+ class AiIndexEndpointDeployedIndexDeployedIndexAuthConfigAuthProviderArgs:
2928
+ def __init__(__self__, *,
2929
+ allowed_issuers: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
2930
+ audiences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
2931
+ """
2932
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_issuers: A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: service-account-name@project-id.iam.gserviceaccount.com
2933
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] audiences: The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted.
2934
+ """
2935
+ if allowed_issuers is not None:
2936
+ pulumi.set(__self__, "allowed_issuers", allowed_issuers)
2937
+ if audiences is not None:
2938
+ pulumi.set(__self__, "audiences", audiences)
2939
+
2940
+ @property
2941
+ @pulumi.getter(name="allowedIssuers")
2942
+ def allowed_issuers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2943
+ """
2944
+ A list of allowed JWT issuers. Each entry must be a valid Google service account, in the following format: service-account-name@project-id.iam.gserviceaccount.com
2945
+ """
2946
+ return pulumi.get(self, "allowed_issuers")
2947
+
2948
+ @allowed_issuers.setter
2949
+ def allowed_issuers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2950
+ pulumi.set(self, "allowed_issuers", value)
2951
+
2952
+ @property
2953
+ @pulumi.getter
2954
+ def audiences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
2955
+ """
2956
+ The list of JWT audiences. that are allowed to access. A JWT containing any of these audiences will be accepted.
2957
+ """
2958
+ return pulumi.get(self, "audiences")
2959
+
2960
+ @audiences.setter
2961
+ def audiences(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
2962
+ pulumi.set(self, "audiences", value)
2963
+
2964
+
2965
+ if not MYPY:
2966
+ class AiIndexEndpointDeployedIndexPrivateEndpointArgsDict(TypedDict):
2967
+ match_grpc_address: NotRequired[pulumi.Input[str]]
2968
+ """
2969
+ (Output)
2970
+ The ip address used to send match gRPC requests.
2971
+ """
2972
+ psc_automated_endpoints: NotRequired[pulumi.Input[Sequence[pulumi.Input['AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgsDict']]]]
2973
+ """
2974
+ (Output)
2975
+ PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set.
2976
+ Structure is documented below.
2977
+ """
2978
+ service_attachment: NotRequired[pulumi.Input[str]]
2979
+ """
2980
+ (Output)
2981
+ The name of the service attachment resource. Populated if private service connect is enabled.
2982
+ """
2983
+ elif False:
2984
+ AiIndexEndpointDeployedIndexPrivateEndpointArgsDict: TypeAlias = Mapping[str, Any]
2985
+
2986
+ @pulumi.input_type
2987
+ class AiIndexEndpointDeployedIndexPrivateEndpointArgs:
2988
+ def __init__(__self__, *,
2989
+ match_grpc_address: Optional[pulumi.Input[str]] = None,
2990
+ psc_automated_endpoints: Optional[pulumi.Input[Sequence[pulumi.Input['AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgs']]]] = None,
2991
+ service_attachment: Optional[pulumi.Input[str]] = None):
2992
+ """
2993
+ :param pulumi.Input[str] match_grpc_address: (Output)
2994
+ The ip address used to send match gRPC requests.
2995
+ :param pulumi.Input[Sequence[pulumi.Input['AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgs']]] psc_automated_endpoints: (Output)
2996
+ PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set.
2997
+ Structure is documented below.
2998
+ :param pulumi.Input[str] service_attachment: (Output)
2999
+ The name of the service attachment resource. Populated if private service connect is enabled.
3000
+ """
3001
+ if match_grpc_address is not None:
3002
+ pulumi.set(__self__, "match_grpc_address", match_grpc_address)
3003
+ if psc_automated_endpoints is not None:
3004
+ pulumi.set(__self__, "psc_automated_endpoints", psc_automated_endpoints)
3005
+ if service_attachment is not None:
3006
+ pulumi.set(__self__, "service_attachment", service_attachment)
3007
+
3008
+ @property
3009
+ @pulumi.getter(name="matchGrpcAddress")
3010
+ def match_grpc_address(self) -> Optional[pulumi.Input[str]]:
3011
+ """
3012
+ (Output)
3013
+ The ip address used to send match gRPC requests.
3014
+ """
3015
+ return pulumi.get(self, "match_grpc_address")
3016
+
3017
+ @match_grpc_address.setter
3018
+ def match_grpc_address(self, value: Optional[pulumi.Input[str]]):
3019
+ pulumi.set(self, "match_grpc_address", value)
3020
+
3021
+ @property
3022
+ @pulumi.getter(name="pscAutomatedEndpoints")
3023
+ def psc_automated_endpoints(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgs']]]]:
3024
+ """
3025
+ (Output)
3026
+ PscAutomatedEndpoints is populated if private service connect is enabled if PscAutomatedConfig is set.
3027
+ Structure is documented below.
3028
+ """
3029
+ return pulumi.get(self, "psc_automated_endpoints")
3030
+
3031
+ @psc_automated_endpoints.setter
3032
+ def psc_automated_endpoints(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgs']]]]):
3033
+ pulumi.set(self, "psc_automated_endpoints", value)
3034
+
3035
+ @property
3036
+ @pulumi.getter(name="serviceAttachment")
3037
+ def service_attachment(self) -> Optional[pulumi.Input[str]]:
3038
+ """
3039
+ (Output)
3040
+ The name of the service attachment resource. Populated if private service connect is enabled.
3041
+ """
3042
+ return pulumi.get(self, "service_attachment")
3043
+
3044
+ @service_attachment.setter
3045
+ def service_attachment(self, value: Optional[pulumi.Input[str]]):
3046
+ pulumi.set(self, "service_attachment", value)
3047
+
3048
+
3049
+ if not MYPY:
3050
+ class AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgsDict(TypedDict):
3051
+ match_address: NotRequired[pulumi.Input[str]]
3052
+ """
3053
+ (Output)
3054
+ ip Address created by the automated forwarding rule.
3055
+ """
3056
+ network: NotRequired[pulumi.Input[str]]
3057
+ """
3058
+ (Output)
3059
+ Corresponding network in pscAutomationConfigs.
3060
+ """
3061
+ project_id: NotRequired[pulumi.Input[str]]
3062
+ """
3063
+ (Output)
3064
+ Corresponding projectId in pscAutomationConfigs
3065
+ """
3066
+ elif False:
3067
+ AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgsDict: TypeAlias = Mapping[str, Any]
3068
+
3069
+ @pulumi.input_type
3070
+ class AiIndexEndpointDeployedIndexPrivateEndpointPscAutomatedEndpointArgs:
3071
+ def __init__(__self__, *,
3072
+ match_address: Optional[pulumi.Input[str]] = None,
3073
+ network: Optional[pulumi.Input[str]] = None,
3074
+ project_id: Optional[pulumi.Input[str]] = None):
3075
+ """
3076
+ :param pulumi.Input[str] match_address: (Output)
3077
+ ip Address created by the automated forwarding rule.
3078
+ :param pulumi.Input[str] network: (Output)
3079
+ Corresponding network in pscAutomationConfigs.
3080
+ :param pulumi.Input[str] project_id: (Output)
3081
+ Corresponding projectId in pscAutomationConfigs
3082
+ """
3083
+ if match_address is not None:
3084
+ pulumi.set(__self__, "match_address", match_address)
3085
+ if network is not None:
3086
+ pulumi.set(__self__, "network", network)
3087
+ if project_id is not None:
3088
+ pulumi.set(__self__, "project_id", project_id)
3089
+
3090
+ @property
3091
+ @pulumi.getter(name="matchAddress")
3092
+ def match_address(self) -> Optional[pulumi.Input[str]]:
3093
+ """
3094
+ (Output)
3095
+ ip Address created by the automated forwarding rule.
3096
+ """
3097
+ return pulumi.get(self, "match_address")
3098
+
3099
+ @match_address.setter
3100
+ def match_address(self, value: Optional[pulumi.Input[str]]):
3101
+ pulumi.set(self, "match_address", value)
3102
+
3103
+ @property
3104
+ @pulumi.getter
3105
+ def network(self) -> Optional[pulumi.Input[str]]:
3106
+ """
3107
+ (Output)
3108
+ Corresponding network in pscAutomationConfigs.
3109
+ """
3110
+ return pulumi.get(self, "network")
3111
+
3112
+ @network.setter
3113
+ def network(self, value: Optional[pulumi.Input[str]]):
3114
+ pulumi.set(self, "network", value)
3115
+
3116
+ @property
3117
+ @pulumi.getter(name="projectId")
3118
+ def project_id(self) -> Optional[pulumi.Input[str]]:
3119
+ """
3120
+ (Output)
3121
+ Corresponding projectId in pscAutomationConfigs
3122
+ """
3123
+ return pulumi.get(self, "project_id")
3124
+
3125
+ @project_id.setter
3126
+ def project_id(self, value: Optional[pulumi.Input[str]]):
3127
+ pulumi.set(self, "project_id", value)
3128
+
3129
+
2692
3130
  if not MYPY:
2693
3131
  class AiIndexEndpointPrivateServiceConnectConfigArgsDict(TypedDict):
2694
3132
  enable_private_service_connect: pulumi.Input[bool]
@@ -384,7 +384,12 @@ class AiFeatureGroup(pulumi.CustomResource):
384
384
  },
385
385
  big_query={
386
386
  "big_query_source": {
387
- "input_uri": pulumi.Output.all(sample_table.project, sample_table.dataset_id, sample_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
387
+ "input_uri": pulumi.Output.all(
388
+ project=sample_table.project,
389
+ dataset_id=sample_table.dataset_id,
390
+ table_id=sample_table.table_id
391
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
392
+ ,
388
393
  },
389
394
  "entity_id_columns": ["feature_id"],
390
395
  })
@@ -487,7 +492,12 @@ class AiFeatureGroup(pulumi.CustomResource):
487
492
  },
488
493
  big_query={
489
494
  "big_query_source": {
490
- "input_uri": pulumi.Output.all(sample_table.project, sample_table.dataset_id, sample_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
495
+ "input_uri": pulumi.Output.all(
496
+ project=sample_table.project,
497
+ dataset_id=sample_table.dataset_id,
498
+ table_id=sample_table.table_id
499
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
500
+ ,
491
501
  },
492
502
  "entity_id_columns": ["feature_id"],
493
503
  })
@@ -410,7 +410,12 @@ class AiFeatureGroupFeature(pulumi.CustomResource):
410
410
  },
411
411
  big_query={
412
412
  "big_query_source": {
413
- "input_uri": pulumi.Output.all(sample_table.project, sample_table.dataset_id, sample_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
413
+ "input_uri": pulumi.Output.all(
414
+ project=sample_table.project,
415
+ dataset_id=sample_table.dataset_id,
416
+ table_id=sample_table.table_id
417
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
418
+ ,
414
419
  },
415
420
  "entity_id_columns": ["feature_id"],
416
421
  })
@@ -529,7 +534,12 @@ class AiFeatureGroupFeature(pulumi.CustomResource):
529
534
  },
530
535
  big_query={
531
536
  "big_query_source": {
532
- "input_uri": pulumi.Output.all(sample_table.project, sample_table.dataset_id, sample_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
537
+ "input_uri": pulumi.Output.all(
538
+ project=sample_table.project,
539
+ dataset_id=sample_table.dataset_id,
540
+ table_id=sample_table.table_id
541
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
542
+ ,
533
543
  },
534
544
  "entity_id_columns": ["feature_id"],
535
545
  })
@@ -513,7 +513,12 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
513
513
  "cron": "0 0 * * *",
514
514
  },
515
515
  big_query_source={
516
- "uri": pulumi.Output.all(tf_test_table.project, tf_test_table.dataset_id, tf_test_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
516
+ "uri": pulumi.Output.all(
517
+ project=tf_test_table.project,
518
+ dataset_id=tf_test_table.dataset_id,
519
+ table_id=tf_test_table.table_id
520
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
521
+ ,
517
522
  "entity_id_columns": ["test_entity_column"],
518
523
  })
519
524
  project = gcp.organizations.get_project()
@@ -573,7 +578,12 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
573
578
  },
574
579
  big_query={
575
580
  "big_query_source": {
576
- "input_uri": pulumi.Output.all(sample_table.project, sample_table.dataset_id, sample_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
581
+ "input_uri": pulumi.Output.all(
582
+ project=sample_table.project,
583
+ dataset_id=sample_table.dataset_id,
584
+ table_id=sample_table.table_id
585
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
586
+ ,
577
587
  },
578
588
  "entity_id_columns": ["feature_id"],
579
589
  })
@@ -678,7 +688,12 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
678
688
  },
679
689
  big_query={
680
690
  "big_query_source": {
681
- "input_uri": pulumi.Output.all(sample_table.project, sample_table.dataset_id, sample_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
691
+ "input_uri": pulumi.Output.all(
692
+ project=sample_table.project,
693
+ dataset_id=sample_table.dataset_id,
694
+ table_id=sample_table.table_id
695
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
696
+ ,
682
697
  },
683
698
  "entity_id_columns": ["feature_id"],
684
699
  })
@@ -794,7 +809,12 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
794
809
  "cron": "0 0 * * *",
795
810
  },
796
811
  big_query_source={
797
- "uri": pulumi.Output.all(tf_test_table.project, tf_test_table.dataset_id, tf_test_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
812
+ "uri": pulumi.Output.all(
813
+ project=tf_test_table.project,
814
+ dataset_id=tf_test_table.dataset_id,
815
+ table_id=tf_test_table.table_id
816
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
817
+ ,
798
818
  "entity_id_columns": ["test_entity_column"],
799
819
  },
800
820
  vector_search_config={
@@ -937,7 +957,12 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
937
957
  "cron": "0 0 * * *",
938
958
  },
939
959
  big_query_source={
940
- "uri": pulumi.Output.all(tf_test_table.project, tf_test_table.dataset_id, tf_test_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
960
+ "uri": pulumi.Output.all(
961
+ project=tf_test_table.project,
962
+ dataset_id=tf_test_table.dataset_id,
963
+ table_id=tf_test_table.table_id
964
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
965
+ ,
941
966
  "entity_id_columns": ["test_entity_column"],
942
967
  })
943
968
  project = gcp.organizations.get_project()
@@ -997,7 +1022,12 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
997
1022
  },
998
1023
  big_query={
999
1024
  "big_query_source": {
1000
- "input_uri": pulumi.Output.all(sample_table.project, sample_table.dataset_id, sample_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
1025
+ "input_uri": pulumi.Output.all(
1026
+ project=sample_table.project,
1027
+ dataset_id=sample_table.dataset_id,
1028
+ table_id=sample_table.table_id
1029
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
1030
+ ,
1001
1031
  },
1002
1032
  "entity_id_columns": ["feature_id"],
1003
1033
  })
@@ -1102,7 +1132,12 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
1102
1132
  },
1103
1133
  big_query={
1104
1134
  "big_query_source": {
1105
- "input_uri": pulumi.Output.all(sample_table.project, sample_table.dataset_id, sample_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
1135
+ "input_uri": pulumi.Output.all(
1136
+ project=sample_table.project,
1137
+ dataset_id=sample_table.dataset_id,
1138
+ table_id=sample_table.table_id
1139
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
1140
+ ,
1106
1141
  },
1107
1142
  "entity_id_columns": ["feature_id"],
1108
1143
  })
@@ -1218,7 +1253,12 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
1218
1253
  "cron": "0 0 * * *",
1219
1254
  },
1220
1255
  big_query_source={
1221
- "uri": pulumi.Output.all(tf_test_table.project, tf_test_table.dataset_id, tf_test_table.table_id).apply(lambda project, dataset_id, table_id: f"bq://{project}.{dataset_id}.{table_id}"),
1256
+ "uri": pulumi.Output.all(
1257
+ project=tf_test_table.project,
1258
+ dataset_id=tf_test_table.dataset_id,
1259
+ table_id=tf_test_table.table_id
1260
+ ).apply(lambda resolved_outputs: f"bq://{resolved_outputs['project']}.{resolved_outputs['dataset_id']}.{resolved_outputs['table_id']}")
1261
+ ,
1222
1262
  "entity_id_columns": ["test_entity_column"],
1223
1263
  },
1224
1264
  vector_search_config={