pulumi-gcp 7.10.0a1708496697__py3-none-any.whl → 7.11.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. pulumi_gcp/__init__.py +32 -0
  2. pulumi_gcp/bigtable/table_iam_binding.py +6 -6
  3. pulumi_gcp/bigtable/table_iam_member.py +6 -6
  4. pulumi_gcp/bigtable/table_iam_policy.py +6 -6
  5. pulumi_gcp/cloudbuildv2/_inputs.py +32 -12
  6. pulumi_gcp/cloudbuildv2/connection.py +140 -38
  7. pulumi_gcp/cloudbuildv2/connection_iam_binding.py +13 -0
  8. pulumi_gcp/cloudbuildv2/connection_iam_member.py +13 -0
  9. pulumi_gcp/cloudbuildv2/connection_iam_policy.py +13 -0
  10. pulumi_gcp/cloudbuildv2/get_connection_iam_policy.py +2 -0
  11. pulumi_gcp/cloudbuildv2/outputs.py +32 -12
  12. pulumi_gcp/clouddeploy/__init__.py +1 -0
  13. pulumi_gcp/clouddeploy/_inputs.py +277 -2
  14. pulumi_gcp/clouddeploy/custom_target_type.py +923 -0
  15. pulumi_gcp/clouddeploy/outputs.py +263 -2
  16. pulumi_gcp/cloudfunctions/function.py +32 -0
  17. pulumi_gcp/cloudfunctions/get_function.py +11 -1
  18. pulumi_gcp/cloudrunv2/service.py +18 -0
  19. pulumi_gcp/compute/_inputs.py +20 -20
  20. pulumi_gcp/compute/outputs.py +24 -24
  21. pulumi_gcp/config/vars.py +2 -2
  22. pulumi_gcp/container/_inputs.py +22 -0
  23. pulumi_gcp/container/outputs.py +28 -0
  24. pulumi_gcp/dns/_inputs.py +2 -2
  25. pulumi_gcp/dns/get_managed_zone.py +2 -2
  26. pulumi_gcp/dns/get_managed_zones.py +35 -2
  27. pulumi_gcp/dns/outputs.py +2 -2
  28. pulumi_gcp/eventarc/_inputs.py +78 -0
  29. pulumi_gcp/eventarc/outputs.py +83 -0
  30. pulumi_gcp/firebase/__init__.py +1 -0
  31. pulumi_gcp/firebase/app_check_debug_token.py +480 -0
  32. pulumi_gcp/healthcare/hl7_store.py +50 -1
  33. pulumi_gcp/identityplatform/_inputs.py +330 -0
  34. pulumi_gcp/identityplatform/config.py +216 -0
  35. pulumi_gcp/identityplatform/outputs.py +397 -0
  36. pulumi_gcp/networksecurity/__init__.py +2 -0
  37. pulumi_gcp/networksecurity/firewall_endpoint.py +631 -0
  38. pulumi_gcp/networksecurity/security_profile_group.py +654 -0
  39. pulumi_gcp/notebooks/instance.py +109 -4
  40. pulumi_gcp/provider.py +8 -0
  41. pulumi_gcp/recaptcha/enterprise_key.py +4 -4
  42. pulumi_gcp/securityposture/_inputs.py +48 -48
  43. pulumi_gcp/securityposture/outputs.py +40 -40
  44. pulumi_gcp/securityposture/posture.py +22 -2
  45. pulumi_gcp/vertex/_inputs.py +63 -0
  46. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +208 -0
  47. pulumi_gcp/vertex/outputs.py +87 -0
  48. pulumi_gcp/workbench/_inputs.py +4 -4
  49. pulumi_gcp/workbench/instance.py +59 -8
  50. pulumi_gcp/workbench/outputs.py +4 -4
  51. pulumi_gcp/workstations/_inputs.py +16 -0
  52. pulumi_gcp/workstations/outputs.py +14 -0
  53. pulumi_gcp/workstations/workstation_config.py +2 -0
  54. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/METADATA +1 -1
  55. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/RECORD +57 -53
  56. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/WHEEL +0 -0
  57. {pulumi_gcp-7.10.0a1708496697.dist-info → pulumi_gcp-7.11.0.dist-info}/top_level.txt +0 -0
@@ -19,10 +19,10 @@ __all__ = [
19
19
  'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustom',
20
20
  'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomCustomConstraint',
21
21
  'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule',
22
- 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleExpr',
22
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleCondition',
23
23
  'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValues',
24
24
  'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule',
25
- 'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleExpr',
25
+ 'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleCondition',
26
26
  'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValues',
27
27
  'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModule',
28
28
  'PosturePolicySetPolicyConstraintSecurityHealthAnalyticsCustomModuleConfig',
@@ -525,30 +525,30 @@ class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule(dict):
525
525
 
526
526
  def __init__(__self__, *,
527
527
  allow_all: Optional[bool] = None,
528
+ condition: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleCondition'] = None,
528
529
  deny_all: Optional[bool] = None,
529
530
  enforce: Optional[bool] = None,
530
- expr: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleExpr'] = None,
531
531
  values: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValues'] = None):
532
532
  """
533
533
  :param bool allow_all: Setting this to true means that all values are allowed. This field can be set only in policies for list constraints.
534
- :param bool deny_all: Setting this to true means that all values are denied. This field can be set only in policies for list constraints.
535
- :param bool enforce: If `true`, then the policy is enforced. If `false`, then any configuration is acceptable.
536
- This field can be set only in policies for boolean constraints.
537
- :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleExprArgs' expr: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
534
+ :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleConditionArgs' condition: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
538
535
  This page details the objects and attributes that are used to the build the CEL expressions for
539
536
  custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
540
537
  Structure is documented below.
538
+ :param bool deny_all: Setting this to true means that all values are denied. This field can be set only in policies for list constraints.
539
+ :param bool enforce: If `true`, then the policy is enforced. If `false`, then any configuration is acceptable.
540
+ This field can be set only in policies for boolean constraints.
541
541
  :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValuesArgs' values: List of values to be used for this policy rule. This field can be set only in policies for list constraints.
542
542
  Structure is documented below.
543
543
  """
544
544
  if allow_all is not None:
545
545
  pulumi.set(__self__, "allow_all", allow_all)
546
+ if condition is not None:
547
+ pulumi.set(__self__, "condition", condition)
546
548
  if deny_all is not None:
547
549
  pulumi.set(__self__, "deny_all", deny_all)
548
550
  if enforce is not None:
549
551
  pulumi.set(__self__, "enforce", enforce)
550
- if expr is not None:
551
- pulumi.set(__self__, "expr", expr)
552
552
  if values is not None:
553
553
  pulumi.set(__self__, "values", values)
554
554
 
@@ -560,6 +560,17 @@ class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule(dict):
560
560
  """
561
561
  return pulumi.get(self, "allow_all")
562
562
 
563
+ @property
564
+ @pulumi.getter
565
+ def condition(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleCondition']:
566
+ """
567
+ Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
568
+ This page details the objects and attributes that are used to the build the CEL expressions for
569
+ custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
570
+ Structure is documented below.
571
+ """
572
+ return pulumi.get(self, "condition")
573
+
563
574
  @property
564
575
  @pulumi.getter(name="denyAll")
565
576
  def deny_all(self) -> Optional[bool]:
@@ -577,17 +588,6 @@ class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule(dict):
577
588
  """
578
589
  return pulumi.get(self, "enforce")
579
590
 
580
- @property
581
- @pulumi.getter
582
- def expr(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleExpr']:
583
- """
584
- Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
585
- This page details the objects and attributes that are used to the build the CEL expressions for
586
- custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
587
- Structure is documented below.
588
- """
589
- return pulumi.get(self, "expr")
590
-
591
591
  @property
592
592
  @pulumi.getter
593
593
  def values(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleValues']:
@@ -599,7 +599,7 @@ class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRule(dict):
599
599
 
600
600
 
601
601
  @pulumi.output_type
602
- class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleExpr(dict):
602
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleCondition(dict):
603
603
  def __init__(__self__, *,
604
604
  expression: str,
605
605
  description: Optional[str] = None,
@@ -725,30 +725,30 @@ class PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule(dict):
725
725
 
726
726
  def __init__(__self__, *,
727
727
  allow_all: Optional[bool] = None,
728
+ condition: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleCondition'] = None,
728
729
  deny_all: Optional[bool] = None,
729
730
  enforce: Optional[bool] = None,
730
- expr: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleExpr'] = None,
731
731
  values: Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValues'] = None):
732
732
  """
733
733
  :param bool allow_all: Setting this to true means that all values are allowed. This field can be set only in policies for list constraints.
734
- :param bool deny_all: Setting this to true means that all values are denied. This field can be set only in policies for list constraints.
735
- :param bool enforce: If `true`, then the policy is enforced. If `false`, then any configuration is acceptable.
736
- This field can be set only in policies for boolean constraints.
737
- :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleExprArgs' expr: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
734
+ :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleConditionArgs' condition: Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
738
735
  This page details the objects and attributes that are used to the build the CEL expressions for
739
736
  custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
740
737
  Structure is documented below.
738
+ :param bool deny_all: Setting this to true means that all values are denied. This field can be set only in policies for list constraints.
739
+ :param bool enforce: If `true`, then the policy is enforced. If `false`, then any configuration is acceptable.
740
+ This field can be set only in policies for boolean constraints.
741
741
  :param 'PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValuesArgs' values: List of values to be used for this policy rule. This field can be set only in policies for list constraints.
742
742
  Structure is documented below.
743
743
  """
744
744
  if allow_all is not None:
745
745
  pulumi.set(__self__, "allow_all", allow_all)
746
+ if condition is not None:
747
+ pulumi.set(__self__, "condition", condition)
746
748
  if deny_all is not None:
747
749
  pulumi.set(__self__, "deny_all", deny_all)
748
750
  if enforce is not None:
749
751
  pulumi.set(__self__, "enforce", enforce)
750
- if expr is not None:
751
- pulumi.set(__self__, "expr", expr)
752
752
  if values is not None:
753
753
  pulumi.set(__self__, "values", values)
754
754
 
@@ -760,6 +760,17 @@ class PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule(dict):
760
760
  """
761
761
  return pulumi.get(self, "allow_all")
762
762
 
763
+ @property
764
+ @pulumi.getter
765
+ def condition(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleCondition']:
766
+ """
767
+ Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
768
+ This page details the objects and attributes that are used to the build the CEL expressions for
769
+ custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
770
+ Structure is documented below.
771
+ """
772
+ return pulumi.get(self, "condition")
773
+
763
774
  @property
764
775
  @pulumi.getter(name="denyAll")
765
776
  def deny_all(self) -> Optional[bool]:
@@ -777,17 +788,6 @@ class PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule(dict):
777
788
  """
778
789
  return pulumi.get(self, "enforce")
779
790
 
780
- @property
781
- @pulumi.getter
782
- def expr(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleExpr']:
783
- """
784
- Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language.
785
- This page details the objects and attributes that are used to the build the CEL expressions for
786
- custom access levels - https://cloud.google.com/access-context-manager/docs/custom-access-level-spec.
787
- Structure is documented below.
788
- """
789
- return pulumi.get(self, "expr")
790
-
791
791
  @property
792
792
  @pulumi.getter
793
793
  def values(self) -> Optional['outputs.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleValues']:
@@ -799,7 +799,7 @@ class PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRule(dict):
799
799
 
800
800
 
801
801
  @pulumi.output_type
802
- class PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleExpr(dict):
802
+ class PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleCondition(dict):
803
803
  def __init__(__self__, *,
804
804
  expression: str,
805
805
  description: Optional[str] = None,
@@ -380,6 +380,11 @@ class Posture(pulumi.CustomResource):
380
380
  org_policy_constraint=gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintArgs(
381
381
  canned_constraint_id="storage.uniformBucketLevelAccess",
382
382
  policy_rules=[gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleArgs(
383
+ condition=gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleConditionArgs(
384
+ description="condition description",
385
+ expression="resource.matchTag('org_id/tag_key_short_name,'tag_value_short_name')",
386
+ title="a CEL condition",
387
+ ),
383
388
  enforce=True,
384
389
  )],
385
390
  ),
@@ -402,6 +407,11 @@ class Posture(pulumi.CustomResource):
402
407
  resource_types=["container.googleapis.com/NodePool"],
403
408
  ),
404
409
  policy_rules=[gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleArgs(
410
+ condition=gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleConditionArgs(
411
+ description="condition description",
412
+ expression="resource.matchTagId('tagKeys/key_id','tagValues/value_id')",
413
+ title="a CEL condition",
414
+ ),
405
415
  enforce=True,
406
416
  )],
407
417
  ),
@@ -446,7 +456,7 @@ class Posture(pulumi.CustomResource):
446
456
  ),
447
457
  severity="LOW",
448
458
  ),
449
- display_name="custom SHA policy",
459
+ display_name="custom_SHA_policy",
450
460
  module_enablement_state="ENABLED",
451
461
  ),
452
462
  ),
@@ -524,6 +534,11 @@ class Posture(pulumi.CustomResource):
524
534
  org_policy_constraint=gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintArgs(
525
535
  canned_constraint_id="storage.uniformBucketLevelAccess",
526
536
  policy_rules=[gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleArgs(
537
+ condition=gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintPolicyRuleConditionArgs(
538
+ description="condition description",
539
+ expression="resource.matchTag('org_id/tag_key_short_name,'tag_value_short_name')",
540
+ title="a CEL condition",
541
+ ),
527
542
  enforce=True,
528
543
  )],
529
544
  ),
@@ -546,6 +561,11 @@ class Posture(pulumi.CustomResource):
546
561
  resource_types=["container.googleapis.com/NodePool"],
547
562
  ),
548
563
  policy_rules=[gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleArgs(
564
+ condition=gcp.securityposture.PosturePolicySetPolicyConstraintOrgPolicyConstraintCustomPolicyRuleConditionArgs(
565
+ description="condition description",
566
+ expression="resource.matchTagId('tagKeys/key_id','tagValues/value_id')",
567
+ title="a CEL condition",
568
+ ),
549
569
  enforce=True,
550
570
  )],
551
571
  ),
@@ -590,7 +610,7 @@ class Posture(pulumi.CustomResource):
590
610
  ),
591
611
  severity="LOW",
592
612
  ),
593
- display_name="custom SHA policy",
613
+ display_name="custom_SHA_policy",
594
614
  module_enablement_state="ENABLED",
595
615
  ),
596
616
  ),
@@ -28,6 +28,8 @@ __all__ = [
28
28
  'AiFeatureOnlineStoreDedicatedServingEndpointPrivateServiceConnectConfigArgs',
29
29
  'AiFeatureOnlineStoreEmbeddingManagementArgs',
30
30
  'AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs',
31
+ 'AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs',
32
+ 'AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs',
31
33
  'AiFeatureOnlineStoreFeatureviewSyncConfigArgs',
32
34
  'AiFeatureOnlineStoreFeatureviewVectorSearchConfigArgs',
33
35
  'AiFeatureOnlineStoreFeatureviewVectorSearchConfigBruteForceConfigArgs',
@@ -1017,6 +1019,67 @@ class AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs:
1017
1019
  pulumi.set(self, "uri", value)
1018
1020
 
1019
1021
 
1022
+ @pulumi.input_type
1023
+ class AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs:
1024
+ def __init__(__self__, *,
1025
+ feature_groups: pulumi.Input[Sequence[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs']]]):
1026
+ """
1027
+ :param pulumi.Input[Sequence[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs']]] feature_groups: List of features that need to be synced to Online Store.
1028
+ Structure is documented below.
1029
+ """
1030
+ pulumi.set(__self__, "feature_groups", feature_groups)
1031
+
1032
+ @property
1033
+ @pulumi.getter(name="featureGroups")
1034
+ def feature_groups(self) -> pulumi.Input[Sequence[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs']]]:
1035
+ """
1036
+ List of features that need to be synced to Online Store.
1037
+ Structure is documented below.
1038
+ """
1039
+ return pulumi.get(self, "feature_groups")
1040
+
1041
+ @feature_groups.setter
1042
+ def feature_groups(self, value: pulumi.Input[Sequence[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs']]]):
1043
+ pulumi.set(self, "feature_groups", value)
1044
+
1045
+
1046
+ @pulumi.input_type
1047
+ class AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs:
1048
+ def __init__(__self__, *,
1049
+ feature_group_id: pulumi.Input[str],
1050
+ feature_ids: pulumi.Input[Sequence[pulumi.Input[str]]]):
1051
+ """
1052
+ :param pulumi.Input[str] feature_group_id: Identifier of the feature group.
1053
+ :param pulumi.Input[Sequence[pulumi.Input[str]]] feature_ids: Identifiers of features under the feature group.
1054
+ """
1055
+ pulumi.set(__self__, "feature_group_id", feature_group_id)
1056
+ pulumi.set(__self__, "feature_ids", feature_ids)
1057
+
1058
+ @property
1059
+ @pulumi.getter(name="featureGroupId")
1060
+ def feature_group_id(self) -> pulumi.Input[str]:
1061
+ """
1062
+ Identifier of the feature group.
1063
+ """
1064
+ return pulumi.get(self, "feature_group_id")
1065
+
1066
+ @feature_group_id.setter
1067
+ def feature_group_id(self, value: pulumi.Input[str]):
1068
+ pulumi.set(self, "feature_group_id", value)
1069
+
1070
+ @property
1071
+ @pulumi.getter(name="featureIds")
1072
+ def feature_ids(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
1073
+ """
1074
+ Identifiers of features under the feature group.
1075
+ """
1076
+ return pulumi.get(self, "feature_ids")
1077
+
1078
+ @feature_ids.setter
1079
+ def feature_ids(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
1080
+ pulumi.set(self, "feature_ids", value)
1081
+
1082
+
1020
1083
  @pulumi.input_type
1021
1084
  class AiFeatureOnlineStoreFeatureviewSyncConfigArgs:
1022
1085
  def __init__(__self__, *,
@@ -19,6 +19,7 @@ class AiFeatureOnlineStoreFeatureviewArgs:
19
19
  feature_online_store: pulumi.Input[str],
20
20
  region: pulumi.Input[str],
21
21
  big_query_source: Optional[pulumi.Input['AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs']] = None,
22
+ feature_registry_source: Optional[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']] = None,
22
23
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
23
24
  name: Optional[pulumi.Input[str]] = None,
24
25
  project: Optional[pulumi.Input[str]] = None,
@@ -33,6 +34,8 @@ class AiFeatureOnlineStoreFeatureviewArgs:
33
34
  - - -
34
35
  :param pulumi.Input['AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs'] big_query_source: Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore.
35
36
  Structure is documented below.
37
+ :param pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs'] feature_registry_source: Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore.
38
+ Structure is documented below.
36
39
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs to assign to this FeatureView.
37
40
 
38
41
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -49,6 +52,8 @@ class AiFeatureOnlineStoreFeatureviewArgs:
49
52
  pulumi.set(__self__, "region", region)
50
53
  if big_query_source is not None:
51
54
  pulumi.set(__self__, "big_query_source", big_query_source)
55
+ if feature_registry_source is not None:
56
+ pulumi.set(__self__, "feature_registry_source", feature_registry_source)
52
57
  if labels is not None:
53
58
  pulumi.set(__self__, "labels", labels)
54
59
  if name is not None:
@@ -100,6 +105,19 @@ class AiFeatureOnlineStoreFeatureviewArgs:
100
105
  def big_query_source(self, value: Optional[pulumi.Input['AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs']]):
101
106
  pulumi.set(self, "big_query_source", value)
102
107
 
108
+ @property
109
+ @pulumi.getter(name="featureRegistrySource")
110
+ def feature_registry_source(self) -> Optional[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']]:
111
+ """
112
+ Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore.
113
+ Structure is documented below.
114
+ """
115
+ return pulumi.get(self, "feature_registry_source")
116
+
117
+ @feature_registry_source.setter
118
+ def feature_registry_source(self, value: Optional[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']]):
119
+ pulumi.set(self, "feature_registry_source", value)
120
+
103
121
  @property
104
122
  @pulumi.getter
105
123
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -174,6 +192,7 @@ class _AiFeatureOnlineStoreFeatureviewState:
174
192
  create_time: Optional[pulumi.Input[str]] = None,
175
193
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
176
194
  feature_online_store: Optional[pulumi.Input[str]] = None,
195
+ feature_registry_source: Optional[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']] = None,
177
196
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
178
197
  name: Optional[pulumi.Input[str]] = None,
179
198
  project: Optional[pulumi.Input[str]] = None,
@@ -189,6 +208,8 @@ class _AiFeatureOnlineStoreFeatureviewState:
189
208
  :param pulumi.Input[str] create_time: The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
190
209
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
191
210
  :param pulumi.Input[str] feature_online_store: The name of the FeatureOnlineStore to use for the featureview.
211
+ :param pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs'] feature_registry_source: Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore.
212
+ Structure is documented below.
192
213
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs to assign to this FeatureView.
193
214
 
194
215
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -216,6 +237,8 @@ class _AiFeatureOnlineStoreFeatureviewState:
216
237
  pulumi.set(__self__, "effective_labels", effective_labels)
217
238
  if feature_online_store is not None:
218
239
  pulumi.set(__self__, "feature_online_store", feature_online_store)
240
+ if feature_registry_source is not None:
241
+ pulumi.set(__self__, "feature_registry_source", feature_registry_source)
219
242
  if labels is not None:
220
243
  pulumi.set(__self__, "labels", labels)
221
244
  if name is not None:
@@ -282,6 +305,19 @@ class _AiFeatureOnlineStoreFeatureviewState:
282
305
  def feature_online_store(self, value: Optional[pulumi.Input[str]]):
283
306
  pulumi.set(self, "feature_online_store", value)
284
307
 
308
+ @property
309
+ @pulumi.getter(name="featureRegistrySource")
310
+ def feature_registry_source(self) -> Optional[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']]:
311
+ """
312
+ Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore.
313
+ Structure is documented below.
314
+ """
315
+ return pulumi.get(self, "feature_registry_source")
316
+
317
+ @feature_registry_source.setter
318
+ def feature_registry_source(self, value: Optional[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']]):
319
+ pulumi.set(self, "feature_registry_source", value)
320
+
285
321
  @property
286
322
  @pulumi.getter
287
323
  def labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
@@ -396,6 +432,7 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
396
432
  opts: Optional[pulumi.ResourceOptions] = None,
397
433
  big_query_source: Optional[pulumi.Input[pulumi.InputType['AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs']]] = None,
398
434
  feature_online_store: Optional[pulumi.Input[str]] = None,
435
+ feature_registry_source: Optional[pulumi.Input[pulumi.InputType['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']]] = None,
399
436
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
400
437
  name: Optional[pulumi.Input[str]] = None,
401
438
  project: Optional[pulumi.Input[str]] = None,
@@ -473,6 +510,83 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
473
510
  ))
474
511
  project = gcp.organizations.get_project()
475
512
  ```
513
+ ### Vertex Ai Featureonlinestore Featureview Feature Registry
514
+
515
+ ```python
516
+ import pulumi
517
+ import pulumi_gcp as gcp
518
+
519
+ featureonlinestore = gcp.vertex.AiFeatureOnlineStore("featureonlinestore",
520
+ labels={
521
+ "foo": "bar",
522
+ },
523
+ region="us-central1",
524
+ bigtable=gcp.vertex.AiFeatureOnlineStoreBigtableArgs(
525
+ auto_scaling=gcp.vertex.AiFeatureOnlineStoreBigtableAutoScalingArgs(
526
+ min_node_count=1,
527
+ max_node_count=2,
528
+ cpu_utilization_target=80,
529
+ ),
530
+ ))
531
+ sample_dataset = gcp.bigquery.Dataset("sampleDataset",
532
+ dataset_id="example_feature_view_feature_registry",
533
+ friendly_name="test",
534
+ description="This is a test description",
535
+ location="US")
536
+ sample_table = gcp.bigquery.Table("sampleTable",
537
+ deletion_protection=False,
538
+ dataset_id=sample_dataset.dataset_id,
539
+ table_id="example_feature_view_feature_registry",
540
+ schema=\"\"\"[
541
+ {
542
+ "name": "feature_id",
543
+ "type": "STRING",
544
+ "mode": "NULLABLE"
545
+ },
546
+ {
547
+ "name": "example_feature_view_feature_registry",
548
+ "type": "STRING",
549
+ "mode": "NULLABLE"
550
+ },
551
+ {
552
+ "name": "feature_timestamp",
553
+ "type": "TIMESTAMP",
554
+ "mode": "NULLABLE"
555
+ }
556
+ ]
557
+ \"\"\")
558
+ sample_feature_group = gcp.vertex.AiFeatureGroup("sampleFeatureGroup",
559
+ description="A sample feature group",
560
+ region="us-central1",
561
+ labels={
562
+ "label-one": "value-one",
563
+ },
564
+ big_query=gcp.vertex.AiFeatureGroupBigQueryArgs(
565
+ big_query_source=gcp.vertex.AiFeatureGroupBigQueryBigQuerySourceArgs(
566
+ 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}"),
567
+ ),
568
+ entity_id_columns=["feature_id"],
569
+ ))
570
+ sample_feature = gcp.vertex.AiFeatureGroupFeature("sampleFeature",
571
+ region="us-central1",
572
+ feature_group=sample_feature_group.name,
573
+ description="A sample feature",
574
+ labels={
575
+ "label-one": "value-one",
576
+ })
577
+ featureview_featureregistry = gcp.vertex.AiFeatureOnlineStoreFeatureview("featureviewFeatureregistry",
578
+ region="us-central1",
579
+ feature_online_store=featureonlinestore.name,
580
+ sync_config=gcp.vertex.AiFeatureOnlineStoreFeatureviewSyncConfigArgs(
581
+ cron="0 0 * * *",
582
+ ),
583
+ feature_registry_source=gcp.vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs(
584
+ feature_groups=[gcp.vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs(
585
+ feature_group_id=sample_feature_group.name,
586
+ feature_ids=[sample_feature.name],
587
+ )],
588
+ ))
589
+ ```
476
590
  ### Vertex Ai Featureonlinestore Featureview With Vector Search
477
591
 
478
592
  ```python
@@ -610,6 +724,8 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
610
724
  :param pulumi.Input[pulumi.InputType['AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs']] big_query_source: Configures how data is supposed to be extracted from a BigQuery source to be loaded onto the FeatureOnlineStore.
611
725
  Structure is documented below.
612
726
  :param pulumi.Input[str] feature_online_store: The name of the FeatureOnlineStore to use for the featureview.
727
+ :param pulumi.Input[pulumi.InputType['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']] feature_registry_source: Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore.
728
+ Structure is documented below.
613
729
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs to assign to this FeatureView.
614
730
 
615
731
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -702,6 +818,83 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
702
818
  ))
703
819
  project = gcp.organizations.get_project()
704
820
  ```
821
+ ### Vertex Ai Featureonlinestore Featureview Feature Registry
822
+
823
+ ```python
824
+ import pulumi
825
+ import pulumi_gcp as gcp
826
+
827
+ featureonlinestore = gcp.vertex.AiFeatureOnlineStore("featureonlinestore",
828
+ labels={
829
+ "foo": "bar",
830
+ },
831
+ region="us-central1",
832
+ bigtable=gcp.vertex.AiFeatureOnlineStoreBigtableArgs(
833
+ auto_scaling=gcp.vertex.AiFeatureOnlineStoreBigtableAutoScalingArgs(
834
+ min_node_count=1,
835
+ max_node_count=2,
836
+ cpu_utilization_target=80,
837
+ ),
838
+ ))
839
+ sample_dataset = gcp.bigquery.Dataset("sampleDataset",
840
+ dataset_id="example_feature_view_feature_registry",
841
+ friendly_name="test",
842
+ description="This is a test description",
843
+ location="US")
844
+ sample_table = gcp.bigquery.Table("sampleTable",
845
+ deletion_protection=False,
846
+ dataset_id=sample_dataset.dataset_id,
847
+ table_id="example_feature_view_feature_registry",
848
+ schema=\"\"\"[
849
+ {
850
+ "name": "feature_id",
851
+ "type": "STRING",
852
+ "mode": "NULLABLE"
853
+ },
854
+ {
855
+ "name": "example_feature_view_feature_registry",
856
+ "type": "STRING",
857
+ "mode": "NULLABLE"
858
+ },
859
+ {
860
+ "name": "feature_timestamp",
861
+ "type": "TIMESTAMP",
862
+ "mode": "NULLABLE"
863
+ }
864
+ ]
865
+ \"\"\")
866
+ sample_feature_group = gcp.vertex.AiFeatureGroup("sampleFeatureGroup",
867
+ description="A sample feature group",
868
+ region="us-central1",
869
+ labels={
870
+ "label-one": "value-one",
871
+ },
872
+ big_query=gcp.vertex.AiFeatureGroupBigQueryArgs(
873
+ big_query_source=gcp.vertex.AiFeatureGroupBigQueryBigQuerySourceArgs(
874
+ 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}"),
875
+ ),
876
+ entity_id_columns=["feature_id"],
877
+ ))
878
+ sample_feature = gcp.vertex.AiFeatureGroupFeature("sampleFeature",
879
+ region="us-central1",
880
+ feature_group=sample_feature_group.name,
881
+ description="A sample feature",
882
+ labels={
883
+ "label-one": "value-one",
884
+ })
885
+ featureview_featureregistry = gcp.vertex.AiFeatureOnlineStoreFeatureview("featureviewFeatureregistry",
886
+ region="us-central1",
887
+ feature_online_store=featureonlinestore.name,
888
+ sync_config=gcp.vertex.AiFeatureOnlineStoreFeatureviewSyncConfigArgs(
889
+ cron="0 0 * * *",
890
+ ),
891
+ feature_registry_source=gcp.vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs(
892
+ feature_groups=[gcp.vertex.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs(
893
+ feature_group_id=sample_feature_group.name,
894
+ feature_ids=[sample_feature.name],
895
+ )],
896
+ ))
897
+ ```
705
898
  ### Vertex Ai Featureonlinestore Featureview With Vector Search
706
899
 
707
900
  ```python
@@ -851,6 +1044,7 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
851
1044
  opts: Optional[pulumi.ResourceOptions] = None,
852
1045
  big_query_source: Optional[pulumi.Input[pulumi.InputType['AiFeatureOnlineStoreFeatureviewBigQuerySourceArgs']]] = None,
853
1046
  feature_online_store: Optional[pulumi.Input[str]] = None,
1047
+ feature_registry_source: Optional[pulumi.Input[pulumi.InputType['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']]] = None,
854
1048
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
855
1049
  name: Optional[pulumi.Input[str]] = None,
856
1050
  project: Optional[pulumi.Input[str]] = None,
@@ -870,6 +1064,7 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
870
1064
  if feature_online_store is None and not opts.urn:
871
1065
  raise TypeError("Missing required property 'feature_online_store'")
872
1066
  __props__.__dict__["feature_online_store"] = feature_online_store
1067
+ __props__.__dict__["feature_registry_source"] = feature_registry_source
873
1068
  __props__.__dict__["labels"] = labels
874
1069
  __props__.__dict__["name"] = name
875
1070
  __props__.__dict__["project"] = project
@@ -898,6 +1093,7 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
898
1093
  create_time: Optional[pulumi.Input[str]] = None,
899
1094
  effective_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
900
1095
  feature_online_store: Optional[pulumi.Input[str]] = None,
1096
+ feature_registry_source: Optional[pulumi.Input[pulumi.InputType['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']]] = None,
901
1097
  labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
902
1098
  name: Optional[pulumi.Input[str]] = None,
903
1099
  project: Optional[pulumi.Input[str]] = None,
@@ -918,6 +1114,8 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
918
1114
  :param pulumi.Input[str] create_time: The timestamp of when the featureOnlinestore was created in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits.
919
1115
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] effective_labels: All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
920
1116
  :param pulumi.Input[str] feature_online_store: The name of the FeatureOnlineStore to use for the featureview.
1117
+ :param pulumi.Input[pulumi.InputType['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs']] feature_registry_source: Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore.
1118
+ Structure is documented below.
921
1119
  :param pulumi.Input[Mapping[str, pulumi.Input[str]]] labels: A set of key/value label pairs to assign to this FeatureView.
922
1120
 
923
1121
  **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
@@ -945,6 +1143,7 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
945
1143
  __props__.__dict__["create_time"] = create_time
946
1144
  __props__.__dict__["effective_labels"] = effective_labels
947
1145
  __props__.__dict__["feature_online_store"] = feature_online_store
1146
+ __props__.__dict__["feature_registry_source"] = feature_registry_source
948
1147
  __props__.__dict__["labels"] = labels
949
1148
  __props__.__dict__["name"] = name
950
1149
  __props__.__dict__["project"] = project
@@ -988,6 +1187,15 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
988
1187
  """
989
1188
  return pulumi.get(self, "feature_online_store")
990
1189
 
1190
+ @property
1191
+ @pulumi.getter(name="featureRegistrySource")
1192
+ def feature_registry_source(self) -> pulumi.Output[Optional['outputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySource']]:
1193
+ """
1194
+ Configures the features from a Feature Registry source that need to be loaded onto the FeatureOnlineStore.
1195
+ Structure is documented below.
1196
+ """
1197
+ return pulumi.get(self, "feature_registry_source")
1198
+
991
1199
  @property
992
1200
  @pulumi.getter
993
1201
  def labels(self) -> pulumi.Output[Optional[Mapping[str, str]]]: