pulumi-gcp 7.30.2a1720626904__py3-none-any.whl → 7.31.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_gcp/__init__.py +40 -0
- pulumi_gcp/applicationintegration/auth_config.py +2 -2
- pulumi_gcp/bigquery/reservation_assignment.py +48 -30
- pulumi_gcp/certificateauthority/certificate_template.py +2 -2
- pulumi_gcp/certificatemanager/_inputs.py +33 -0
- pulumi_gcp/certificatemanager/outputs.py +36 -0
- pulumi_gcp/certificatemanager/trust_config.py +107 -0
- pulumi_gcp/compute/_inputs.py +3 -6
- pulumi_gcp/compute/ca_external_account_key.py +2 -2
- pulumi_gcp/compute/get_health_check.py +11 -1
- pulumi_gcp/compute/global_forwarding_rule.py +2 -4
- pulumi_gcp/compute/health_check.py +124 -0
- pulumi_gcp/compute/instance.py +14 -14
- pulumi_gcp/compute/instance_group_membership.py +2 -2
- pulumi_gcp/compute/outputs.py +4 -8
- pulumi_gcp/compute/region_network_endpoint.py +2 -2
- pulumi_gcp/compute/region_network_endpoint_group.py +2 -2
- pulumi_gcp/compute/subnetwork.py +2 -2
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +3 -3
- pulumi_gcp/container/outputs.py +4 -4
- pulumi_gcp/containeranalysis/note.py +2 -2
- pulumi_gcp/dataloss/_inputs.py +3 -0
- pulumi_gcp/dataloss/outputs.py +2 -0
- pulumi_gcp/dataloss/prevention_job_trigger.py +90 -0
- pulumi_gcp/dataplex/_inputs.py +56 -0
- pulumi_gcp/dataplex/datascan.py +12 -0
- pulumi_gcp/dataplex/outputs.py +52 -0
- pulumi_gcp/filestore/backup.py +2 -2
- pulumi_gcp/filestore/instance.py +2 -2
- pulumi_gcp/filestore/snapshot.py +2 -2
- pulumi_gcp/gkehub/_inputs.py +20 -0
- pulumi_gcp/gkehub/outputs.py +12 -0
- pulumi_gcp/kms/__init__.py +2 -0
- pulumi_gcp/kms/crypto_key.py +7 -7
- pulumi_gcp/kms/get_crypto_keys.py +143 -0
- pulumi_gcp/kms/get_key_rings.py +119 -0
- pulumi_gcp/kms/outputs.py +270 -0
- pulumi_gcp/logging/_inputs.py +12 -12
- pulumi_gcp/logging/folder_bucket_config.py +6 -6
- pulumi_gcp/logging/organization_bucket_config.py +6 -6
- pulumi_gcp/logging/outputs.py +8 -8
- pulumi_gcp/logging/project_bucket_config.py +6 -6
- pulumi_gcp/looker/instance.py +2 -2
- pulumi_gcp/monitoring/custom_service.py +2 -2
- pulumi_gcp/monitoring/generic_service.py +2 -2
- pulumi_gcp/monitoring/notification_channel.py +2 -2
- pulumi_gcp/monitoring/slo.py +2 -2
- pulumi_gcp/netapp/storage_pool.py +132 -53
- pulumi_gcp/netapp/volume.py +60 -4
- pulumi_gcp/networksecurity/address_group.py +85 -1
- pulumi_gcp/networksecurity/firewall_endpoint.py +2 -2
- pulumi_gcp/networksecurity/firewall_endpoint_association.py +2 -2
- pulumi_gcp/networksecurity/security_profile_group.py +2 -2
- pulumi_gcp/orgpolicy/_inputs.py +40 -10
- pulumi_gcp/orgpolicy/outputs.py +28 -8
- pulumi_gcp/orgpolicy/policy.py +52 -35
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/_inputs.py +3 -3
- pulumi_gcp/pubsub/outputs.py +4 -4
- pulumi_gcp/pulumi-plugin.json +1 -1
- pulumi_gcp/securesourcemanager/__init__.py +5 -0
- pulumi_gcp/securesourcemanager/_inputs.py +284 -0
- pulumi_gcp/securesourcemanager/get_repository_iam_policy.py +177 -0
- pulumi_gcp/securesourcemanager/outputs.py +202 -0
- pulumi_gcp/securesourcemanager/repository.py +715 -0
- pulumi_gcp/securesourcemanager/repository_iam_binding.py +804 -0
- pulumi_gcp/securesourcemanager/repository_iam_member.py +804 -0
- pulumi_gcp/securesourcemanager/repository_iam_policy.py +643 -0
- pulumi_gcp/securitycenter/__init__.py +1 -0
- pulumi_gcp/securitycenter/_inputs.py +93 -0
- pulumi_gcp/securitycenter/outputs.py +59 -0
- pulumi_gcp/securitycenter/v2_organization_notification_config.py +576 -0
- pulumi_gcp/securityposture/posture_deployment.py +0 -78
- pulumi_gcp/servicenetworking/vpc_service_controls.py +2 -2
- pulumi_gcp/vertex/_inputs.py +21 -1
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +222 -0
- pulumi_gcp/vertex/outputs.py +15 -1
- pulumi_gcp/workstations/_inputs.py +33 -1
- pulumi_gcp/workstations/outputs.py +23 -1
- pulumi_gcp/workstations/workstation_config.py +18 -0
- {pulumi_gcp-7.30.2a1720626904.dist-info → pulumi_gcp-7.31.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.30.2a1720626904.dist-info → pulumi_gcp-7.31.0.dist-info}/RECORD +86 -78
- {pulumi_gcp-7.30.2a1720626904.dist-info → pulumi_gcp-7.31.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.30.2a1720626904.dist-info → pulumi_gcp-7.31.0.dist-info}/top_level.txt +0 -0
@@ -221,9 +221,9 @@ class VpcServiceControls(pulumi.CustomResource):
|
|
221
221
|
|
222
222
|
* [API documentation](https://cloud.google.com/service-infrastructure/docs/service-networking/reference/rest/v1/services)
|
223
223
|
* How-to Guides
|
224
|
+
* [Enable VPC Service Controls for service networking](https://cloud.google.com/sdk/gcloud/reference/services/vpc-peerings/enable-vpc-service-controls)
|
224
225
|
* [Private Google Access with VPC Service Controls](https://cloud.google.com/vpc-service-controls/docs/private-connectivity)
|
225
226
|
* [Set up private connectivity to Google APIs and services](https://cloud.google.com/vpc-service-controls/docs/set-up-private-connectivity)
|
226
|
-
* [Enable VPC Service Controls for service networking](https://cloud.google.com/sdk/gcloud/reference/services/vpc-peerings/enable-vpc-service-controls)
|
227
227
|
|
228
228
|
> **Note:** Destroying a `servicenetworking.VpcServiceControls`
|
229
229
|
resource will remove it from state, but will not change the
|
@@ -333,9 +333,9 @@ class VpcServiceControls(pulumi.CustomResource):
|
|
333
333
|
|
334
334
|
* [API documentation](https://cloud.google.com/service-infrastructure/docs/service-networking/reference/rest/v1/services)
|
335
335
|
* How-to Guides
|
336
|
+
* [Enable VPC Service Controls for service networking](https://cloud.google.com/sdk/gcloud/reference/services/vpc-peerings/enable-vpc-service-controls)
|
336
337
|
* [Private Google Access with VPC Service Controls](https://cloud.google.com/vpc-service-controls/docs/private-connectivity)
|
337
338
|
* [Set up private connectivity to Google APIs and services](https://cloud.google.com/vpc-service-controls/docs/set-up-private-connectivity)
|
338
|
-
* [Enable VPC Service Controls for service networking](https://cloud.google.com/sdk/gcloud/reference/services/vpc-peerings/enable-vpc-service-controls)
|
339
339
|
|
340
340
|
> **Note:** Destroying a `servicenetworking.VpcServiceControls`
|
341
341
|
resource will remove it from state, but will not change the
|
pulumi_gcp/vertex/_inputs.py
CHANGED
@@ -1615,18 +1615,26 @@ if not MYPY:
|
|
1615
1615
|
List of features that need to be synced to Online Store.
|
1616
1616
|
Structure is documented below.
|
1617
1617
|
"""
|
1618
|
+
project_number: NotRequired[pulumi.Input[str]]
|
1619
|
+
"""
|
1620
|
+
The project number of the parent project of the feature Groups.
|
1621
|
+
"""
|
1618
1622
|
elif False:
|
1619
1623
|
AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgsDict: TypeAlias = Mapping[str, Any]
|
1620
1624
|
|
1621
1625
|
@pulumi.input_type
|
1622
1626
|
class AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs:
|
1623
1627
|
def __init__(__self__, *,
|
1624
|
-
feature_groups: pulumi.Input[Sequence[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs']]]
|
1628
|
+
feature_groups: pulumi.Input[Sequence[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs']]],
|
1629
|
+
project_number: Optional[pulumi.Input[str]] = None):
|
1625
1630
|
"""
|
1626
1631
|
:param pulumi.Input[Sequence[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs']]] feature_groups: List of features that need to be synced to Online Store.
|
1627
1632
|
Structure is documented below.
|
1633
|
+
:param pulumi.Input[str] project_number: The project number of the parent project of the feature Groups.
|
1628
1634
|
"""
|
1629
1635
|
pulumi.set(__self__, "feature_groups", feature_groups)
|
1636
|
+
if project_number is not None:
|
1637
|
+
pulumi.set(__self__, "project_number", project_number)
|
1630
1638
|
|
1631
1639
|
@property
|
1632
1640
|
@pulumi.getter(name="featureGroups")
|
@@ -1641,6 +1649,18 @@ class AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceArgs:
|
|
1641
1649
|
def feature_groups(self, value: pulumi.Input[Sequence[pulumi.Input['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs']]]):
|
1642
1650
|
pulumi.set(self, "feature_groups", value)
|
1643
1651
|
|
1652
|
+
@property
|
1653
|
+
@pulumi.getter(name="projectNumber")
|
1654
|
+
def project_number(self) -> Optional[pulumi.Input[str]]:
|
1655
|
+
"""
|
1656
|
+
The project number of the parent project of the feature Groups.
|
1657
|
+
"""
|
1658
|
+
return pulumi.get(self, "project_number")
|
1659
|
+
|
1660
|
+
@project_number.setter
|
1661
|
+
def project_number(self, value: Optional[pulumi.Input[str]]):
|
1662
|
+
pulumi.set(self, "project_number", value)
|
1663
|
+
|
1644
1664
|
|
1645
1665
|
if not MYPY:
|
1646
1666
|
class AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgsDict(TypedDict):
|
@@ -599,6 +599,117 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
|
|
599
599
|
}],
|
600
600
|
})
|
601
601
|
```
|
602
|
+
### Vertex Ai Featureonlinestore Featureview Cross Project
|
603
|
+
|
604
|
+
```python
|
605
|
+
import pulumi
|
606
|
+
import pulumi_gcp as gcp
|
607
|
+
import pulumi_time as time
|
608
|
+
|
609
|
+
test_project = gcp.organizations.get_project()
|
610
|
+
project = gcp.organizations.Project("project",
|
611
|
+
project_id="tf-test_55138",
|
612
|
+
name="tf-test_37559",
|
613
|
+
org_id="123456789",
|
614
|
+
billing_account="000000-0000000-0000000-000000")
|
615
|
+
wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
|
616
|
+
opts = pulumi.ResourceOptions(depends_on=[project]))
|
617
|
+
vertexai = gcp.projects.Service("vertexai",
|
618
|
+
service="aiplatform.googleapis.com",
|
619
|
+
project=project.project_id,
|
620
|
+
disable_on_destroy=False,
|
621
|
+
opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
|
622
|
+
featureonlinestore = gcp.vertex.AiFeatureOnlineStore("featureonlinestore",
|
623
|
+
name="example_cross_project_featureview",
|
624
|
+
project=project.project_id,
|
625
|
+
labels={
|
626
|
+
"foo": "bar",
|
627
|
+
},
|
628
|
+
region="us-central1",
|
629
|
+
bigtable={
|
630
|
+
"autoScaling": {
|
631
|
+
"minNodeCount": 1,
|
632
|
+
"maxNodeCount": 2,
|
633
|
+
"cpuUtilizationTarget": 80,
|
634
|
+
},
|
635
|
+
},
|
636
|
+
opts = pulumi.ResourceOptions(depends_on=[vertexai]))
|
637
|
+
sample_dataset = gcp.bigquery.Dataset("sample_dataset",
|
638
|
+
dataset_id="example_cross_project_featureview",
|
639
|
+
friendly_name="test",
|
640
|
+
description="This is a test description",
|
641
|
+
location="US")
|
642
|
+
viewer = gcp.bigquery.DatasetIamMember("viewer",
|
643
|
+
project=test_project.project_id,
|
644
|
+
dataset_id=sample_dataset.dataset_id,
|
645
|
+
role="roles/bigquery.dataViewer",
|
646
|
+
member=project.number.apply(lambda number: f"serviceAccount:service-{number}@gcp-sa-aiplatform.iam.gserviceaccount.com"),
|
647
|
+
opts = pulumi.ResourceOptions(depends_on=[featureonlinestore]))
|
648
|
+
wait30_seconds = time.index.Sleep("wait_30_seconds", create_duration=30s,
|
649
|
+
opts = pulumi.ResourceOptions(depends_on=[viewer]))
|
650
|
+
sample_table = gcp.bigquery.Table("sample_table",
|
651
|
+
deletion_protection=False,
|
652
|
+
dataset_id=sample_dataset.dataset_id,
|
653
|
+
table_id="example_cross_project_featureview",
|
654
|
+
schema=\"\"\"[
|
655
|
+
{
|
656
|
+
"name": "feature_id",
|
657
|
+
"type": "STRING",
|
658
|
+
"mode": "NULLABLE"
|
659
|
+
},
|
660
|
+
{
|
661
|
+
"name": "example_cross_project_featureview",
|
662
|
+
"type": "STRING",
|
663
|
+
"mode": "NULLABLE"
|
664
|
+
},
|
665
|
+
{
|
666
|
+
"name": "feature_timestamp",
|
667
|
+
"type": "TIMESTAMP",
|
668
|
+
"mode": "NULLABLE"
|
669
|
+
}
|
670
|
+
]
|
671
|
+
\"\"\")
|
672
|
+
sample_feature_group = gcp.vertex.AiFeatureGroup("sample_feature_group",
|
673
|
+
name="example_cross_project_featureview",
|
674
|
+
description="A sample feature group",
|
675
|
+
region="us-central1",
|
676
|
+
labels={
|
677
|
+
"label-one": "value-one",
|
678
|
+
},
|
679
|
+
big_query={
|
680
|
+
"bigQuerySource": {
|
681
|
+
"inputUri": 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}"),
|
682
|
+
},
|
683
|
+
"entityIdColumns": ["feature_id"],
|
684
|
+
})
|
685
|
+
sample_feature = gcp.vertex.AiFeatureGroupFeature("sample_feature",
|
686
|
+
name="example_cross_project_featureview",
|
687
|
+
region="us-central1",
|
688
|
+
feature_group=sample_feature_group.name,
|
689
|
+
description="A sample feature",
|
690
|
+
labels={
|
691
|
+
"label-one": "value-one",
|
692
|
+
})
|
693
|
+
cross_project_featureview = gcp.vertex.AiFeatureOnlineStoreFeatureview("cross_project_featureview",
|
694
|
+
name="example_cross_project_featureview",
|
695
|
+
project=project.project_id,
|
696
|
+
region="us-central1",
|
697
|
+
feature_online_store=featureonlinestore.name,
|
698
|
+
sync_config={
|
699
|
+
"cron": "0 0 * * *",
|
700
|
+
},
|
701
|
+
feature_registry_source={
|
702
|
+
"featureGroups": [{
|
703
|
+
"featureGroupId": sample_feature_group.name,
|
704
|
+
"featureIds": [sample_feature.name],
|
705
|
+
}],
|
706
|
+
"projectNumber": test_project.number,
|
707
|
+
},
|
708
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
709
|
+
vertexai,
|
710
|
+
wait30_seconds,
|
711
|
+
]))
|
712
|
+
```
|
602
713
|
### Vertex Ai Featureonlinestore Featureview With Vector Search
|
603
714
|
|
604
715
|
```python
|
@@ -912,6 +1023,117 @@ class AiFeatureOnlineStoreFeatureview(pulumi.CustomResource):
|
|
912
1023
|
}],
|
913
1024
|
})
|
914
1025
|
```
|
1026
|
+
### Vertex Ai Featureonlinestore Featureview Cross Project
|
1027
|
+
|
1028
|
+
```python
|
1029
|
+
import pulumi
|
1030
|
+
import pulumi_gcp as gcp
|
1031
|
+
import pulumi_time as time
|
1032
|
+
|
1033
|
+
test_project = gcp.organizations.get_project()
|
1034
|
+
project = gcp.organizations.Project("project",
|
1035
|
+
project_id="tf-test_55138",
|
1036
|
+
name="tf-test_37559",
|
1037
|
+
org_id="123456789",
|
1038
|
+
billing_account="000000-0000000-0000000-000000")
|
1039
|
+
wait60_seconds = time.index.Sleep("wait_60_seconds", create_duration=60s,
|
1040
|
+
opts = pulumi.ResourceOptions(depends_on=[project]))
|
1041
|
+
vertexai = gcp.projects.Service("vertexai",
|
1042
|
+
service="aiplatform.googleapis.com",
|
1043
|
+
project=project.project_id,
|
1044
|
+
disable_on_destroy=False,
|
1045
|
+
opts = pulumi.ResourceOptions(depends_on=[wait60_seconds]))
|
1046
|
+
featureonlinestore = gcp.vertex.AiFeatureOnlineStore("featureonlinestore",
|
1047
|
+
name="example_cross_project_featureview",
|
1048
|
+
project=project.project_id,
|
1049
|
+
labels={
|
1050
|
+
"foo": "bar",
|
1051
|
+
},
|
1052
|
+
region="us-central1",
|
1053
|
+
bigtable={
|
1054
|
+
"autoScaling": {
|
1055
|
+
"minNodeCount": 1,
|
1056
|
+
"maxNodeCount": 2,
|
1057
|
+
"cpuUtilizationTarget": 80,
|
1058
|
+
},
|
1059
|
+
},
|
1060
|
+
opts = pulumi.ResourceOptions(depends_on=[vertexai]))
|
1061
|
+
sample_dataset = gcp.bigquery.Dataset("sample_dataset",
|
1062
|
+
dataset_id="example_cross_project_featureview",
|
1063
|
+
friendly_name="test",
|
1064
|
+
description="This is a test description",
|
1065
|
+
location="US")
|
1066
|
+
viewer = gcp.bigquery.DatasetIamMember("viewer",
|
1067
|
+
project=test_project.project_id,
|
1068
|
+
dataset_id=sample_dataset.dataset_id,
|
1069
|
+
role="roles/bigquery.dataViewer",
|
1070
|
+
member=project.number.apply(lambda number: f"serviceAccount:service-{number}@gcp-sa-aiplatform.iam.gserviceaccount.com"),
|
1071
|
+
opts = pulumi.ResourceOptions(depends_on=[featureonlinestore]))
|
1072
|
+
wait30_seconds = time.index.Sleep("wait_30_seconds", create_duration=30s,
|
1073
|
+
opts = pulumi.ResourceOptions(depends_on=[viewer]))
|
1074
|
+
sample_table = gcp.bigquery.Table("sample_table",
|
1075
|
+
deletion_protection=False,
|
1076
|
+
dataset_id=sample_dataset.dataset_id,
|
1077
|
+
table_id="example_cross_project_featureview",
|
1078
|
+
schema=\"\"\"[
|
1079
|
+
{
|
1080
|
+
"name": "feature_id",
|
1081
|
+
"type": "STRING",
|
1082
|
+
"mode": "NULLABLE"
|
1083
|
+
},
|
1084
|
+
{
|
1085
|
+
"name": "example_cross_project_featureview",
|
1086
|
+
"type": "STRING",
|
1087
|
+
"mode": "NULLABLE"
|
1088
|
+
},
|
1089
|
+
{
|
1090
|
+
"name": "feature_timestamp",
|
1091
|
+
"type": "TIMESTAMP",
|
1092
|
+
"mode": "NULLABLE"
|
1093
|
+
}
|
1094
|
+
]
|
1095
|
+
\"\"\")
|
1096
|
+
sample_feature_group = gcp.vertex.AiFeatureGroup("sample_feature_group",
|
1097
|
+
name="example_cross_project_featureview",
|
1098
|
+
description="A sample feature group",
|
1099
|
+
region="us-central1",
|
1100
|
+
labels={
|
1101
|
+
"label-one": "value-one",
|
1102
|
+
},
|
1103
|
+
big_query={
|
1104
|
+
"bigQuerySource": {
|
1105
|
+
"inputUri": 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}"),
|
1106
|
+
},
|
1107
|
+
"entityIdColumns": ["feature_id"],
|
1108
|
+
})
|
1109
|
+
sample_feature = gcp.vertex.AiFeatureGroupFeature("sample_feature",
|
1110
|
+
name="example_cross_project_featureview",
|
1111
|
+
region="us-central1",
|
1112
|
+
feature_group=sample_feature_group.name,
|
1113
|
+
description="A sample feature",
|
1114
|
+
labels={
|
1115
|
+
"label-one": "value-one",
|
1116
|
+
})
|
1117
|
+
cross_project_featureview = gcp.vertex.AiFeatureOnlineStoreFeatureview("cross_project_featureview",
|
1118
|
+
name="example_cross_project_featureview",
|
1119
|
+
project=project.project_id,
|
1120
|
+
region="us-central1",
|
1121
|
+
feature_online_store=featureonlinestore.name,
|
1122
|
+
sync_config={
|
1123
|
+
"cron": "0 0 * * *",
|
1124
|
+
},
|
1125
|
+
feature_registry_source={
|
1126
|
+
"featureGroups": [{
|
1127
|
+
"featureGroupId": sample_feature_group.name,
|
1128
|
+
"featureIds": [sample_feature.name],
|
1129
|
+
}],
|
1130
|
+
"projectNumber": test_project.number,
|
1131
|
+
},
|
1132
|
+
opts = pulumi.ResourceOptions(depends_on=[
|
1133
|
+
vertexai,
|
1134
|
+
wait30_seconds,
|
1135
|
+
]))
|
1136
|
+
```
|
915
1137
|
### Vertex Ai Featureonlinestore Featureview With Vector Search
|
916
1138
|
|
917
1139
|
```python
|
pulumi_gcp/vertex/outputs.py
CHANGED
@@ -1336,6 +1336,8 @@ class AiFeatureOnlineStoreFeatureviewFeatureRegistrySource(dict):
|
|
1336
1336
|
suggest = None
|
1337
1337
|
if key == "featureGroups":
|
1338
1338
|
suggest = "feature_groups"
|
1339
|
+
elif key == "projectNumber":
|
1340
|
+
suggest = "project_number"
|
1339
1341
|
|
1340
1342
|
if suggest:
|
1341
1343
|
pulumi.log.warn(f"Key '{key}' not found in AiFeatureOnlineStoreFeatureviewFeatureRegistrySource. Access the value via the '{suggest}' property getter instead.")
|
@@ -1349,12 +1351,16 @@ class AiFeatureOnlineStoreFeatureviewFeatureRegistrySource(dict):
|
|
1349
1351
|
return super().get(key, default)
|
1350
1352
|
|
1351
1353
|
def __init__(__self__, *,
|
1352
|
-
feature_groups: Sequence['outputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup']
|
1354
|
+
feature_groups: Sequence['outputs.AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup'],
|
1355
|
+
project_number: Optional[str] = None):
|
1353
1356
|
"""
|
1354
1357
|
:param Sequence['AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroupArgs'] feature_groups: List of features that need to be synced to Online Store.
|
1355
1358
|
Structure is documented below.
|
1359
|
+
:param str project_number: The project number of the parent project of the feature Groups.
|
1356
1360
|
"""
|
1357
1361
|
pulumi.set(__self__, "feature_groups", feature_groups)
|
1362
|
+
if project_number is not None:
|
1363
|
+
pulumi.set(__self__, "project_number", project_number)
|
1358
1364
|
|
1359
1365
|
@property
|
1360
1366
|
@pulumi.getter(name="featureGroups")
|
@@ -1365,6 +1371,14 @@ class AiFeatureOnlineStoreFeatureviewFeatureRegistrySource(dict):
|
|
1365
1371
|
"""
|
1366
1372
|
return pulumi.get(self, "feature_groups")
|
1367
1373
|
|
1374
|
+
@property
|
1375
|
+
@pulumi.getter(name="projectNumber")
|
1376
|
+
def project_number(self) -> Optional[str]:
|
1377
|
+
"""
|
1378
|
+
The project number of the parent project of the feature Groups.
|
1379
|
+
"""
|
1380
|
+
return pulumi.get(self, "project_number")
|
1381
|
+
|
1368
1382
|
|
1369
1383
|
@pulumi.output_type
|
1370
1384
|
class AiFeatureOnlineStoreFeatureviewFeatureRegistrySourceFeatureGroup(dict):
|
@@ -809,6 +809,14 @@ if not MYPY:
|
|
809
809
|
"""
|
810
810
|
Network tags to add to the Compute Engine machines backing the Workstations.
|
811
811
|
"""
|
812
|
+
vm_tags: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[str]]]]
|
813
|
+
"""
|
814
|
+
Resource manager tags to be bound to the VM instances backing the Workstations.
|
815
|
+
Tag keys and values have the same definition as
|
816
|
+
https://cloud.google.com/resource-manager/docs/tags/tags-overview
|
817
|
+
Keys must be in the format `tagKeys/{tag_key_id}`, and
|
818
|
+
values are in the format `tagValues/456`.
|
819
|
+
"""
|
812
820
|
elif False:
|
813
821
|
WorkstationConfigHostGceInstanceArgsDict: TypeAlias = Mapping[str, Any]
|
814
822
|
|
@@ -827,7 +835,8 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
827
835
|
service_account: Optional[pulumi.Input[str]] = None,
|
828
836
|
service_account_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
829
837
|
shielded_instance_config: Optional[pulumi.Input['WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs']] = None,
|
830
|
-
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None
|
838
|
+
tags: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
839
|
+
vm_tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
|
831
840
|
"""
|
832
841
|
:param pulumi.Input[Sequence[pulumi.Input['WorkstationConfigHostGceInstanceAcceleratorArgs']]] accelerators: An accelerator card attached to the instance.
|
833
842
|
Structure is documented below.
|
@@ -847,6 +856,11 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
847
856
|
:param pulumi.Input['WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs'] shielded_instance_config: A set of Compute Engine Shielded instance options.
|
848
857
|
Structure is documented below.
|
849
858
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] tags: Network tags to add to the Compute Engine machines backing the Workstations.
|
859
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[str]]] vm_tags: Resource manager tags to be bound to the VM instances backing the Workstations.
|
860
|
+
Tag keys and values have the same definition as
|
861
|
+
https://cloud.google.com/resource-manager/docs/tags/tags-overview
|
862
|
+
Keys must be in the format `tagKeys/{tag_key_id}`, and
|
863
|
+
values are in the format `tagValues/456`.
|
850
864
|
"""
|
851
865
|
if accelerators is not None:
|
852
866
|
pulumi.set(__self__, "accelerators", accelerators)
|
@@ -874,6 +888,8 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
874
888
|
pulumi.set(__self__, "shielded_instance_config", shielded_instance_config)
|
875
889
|
if tags is not None:
|
876
890
|
pulumi.set(__self__, "tags", tags)
|
891
|
+
if vm_tags is not None:
|
892
|
+
pulumi.set(__self__, "vm_tags", vm_tags)
|
877
893
|
|
878
894
|
@property
|
879
895
|
@pulumi.getter
|
@@ -1036,6 +1052,22 @@ class WorkstationConfigHostGceInstanceArgs:
|
|
1036
1052
|
def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
1037
1053
|
pulumi.set(self, "tags", value)
|
1038
1054
|
|
1055
|
+
@property
|
1056
|
+
@pulumi.getter(name="vmTags")
|
1057
|
+
def vm_tags(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
|
1058
|
+
"""
|
1059
|
+
Resource manager tags to be bound to the VM instances backing the Workstations.
|
1060
|
+
Tag keys and values have the same definition as
|
1061
|
+
https://cloud.google.com/resource-manager/docs/tags/tags-overview
|
1062
|
+
Keys must be in the format `tagKeys/{tag_key_id}`, and
|
1063
|
+
values are in the format `tagValues/456`.
|
1064
|
+
"""
|
1065
|
+
return pulumi.get(self, "vm_tags")
|
1066
|
+
|
1067
|
+
@vm_tags.setter
|
1068
|
+
def vm_tags(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
|
1069
|
+
pulumi.set(self, "vm_tags", value)
|
1070
|
+
|
1039
1071
|
|
1040
1072
|
if not MYPY:
|
1041
1073
|
class WorkstationConfigHostGceInstanceAcceleratorArgsDict(TypedDict):
|
@@ -600,6 +600,8 @@ class WorkstationConfigHostGceInstance(dict):
|
|
600
600
|
suggest = "service_account_scopes"
|
601
601
|
elif key == "shieldedInstanceConfig":
|
602
602
|
suggest = "shielded_instance_config"
|
603
|
+
elif key == "vmTags":
|
604
|
+
suggest = "vm_tags"
|
603
605
|
|
604
606
|
if suggest:
|
605
607
|
pulumi.log.warn(f"Key '{key}' not found in WorkstationConfigHostGceInstance. Access the value via the '{suggest}' property getter instead.")
|
@@ -625,7 +627,8 @@ class WorkstationConfigHostGceInstance(dict):
|
|
625
627
|
service_account: Optional[str] = None,
|
626
628
|
service_account_scopes: Optional[Sequence[str]] = None,
|
627
629
|
shielded_instance_config: Optional['outputs.WorkstationConfigHostGceInstanceShieldedInstanceConfig'] = None,
|
628
|
-
tags: Optional[Sequence[str]] = None
|
630
|
+
tags: Optional[Sequence[str]] = None,
|
631
|
+
vm_tags: Optional[Mapping[str, str]] = None):
|
629
632
|
"""
|
630
633
|
:param Sequence['WorkstationConfigHostGceInstanceAcceleratorArgs'] accelerators: An accelerator card attached to the instance.
|
631
634
|
Structure is documented below.
|
@@ -645,6 +648,11 @@ class WorkstationConfigHostGceInstance(dict):
|
|
645
648
|
:param 'WorkstationConfigHostGceInstanceShieldedInstanceConfigArgs' shielded_instance_config: A set of Compute Engine Shielded instance options.
|
646
649
|
Structure is documented below.
|
647
650
|
:param Sequence[str] tags: Network tags to add to the Compute Engine machines backing the Workstations.
|
651
|
+
:param Mapping[str, str] vm_tags: Resource manager tags to be bound to the VM instances backing the Workstations.
|
652
|
+
Tag keys and values have the same definition as
|
653
|
+
https://cloud.google.com/resource-manager/docs/tags/tags-overview
|
654
|
+
Keys must be in the format `tagKeys/{tag_key_id}`, and
|
655
|
+
values are in the format `tagValues/456`.
|
648
656
|
"""
|
649
657
|
if accelerators is not None:
|
650
658
|
pulumi.set(__self__, "accelerators", accelerators)
|
@@ -672,6 +680,8 @@ class WorkstationConfigHostGceInstance(dict):
|
|
672
680
|
pulumi.set(__self__, "shielded_instance_config", shielded_instance_config)
|
673
681
|
if tags is not None:
|
674
682
|
pulumi.set(__self__, "tags", tags)
|
683
|
+
if vm_tags is not None:
|
684
|
+
pulumi.set(__self__, "vm_tags", vm_tags)
|
675
685
|
|
676
686
|
@property
|
677
687
|
@pulumi.getter
|
@@ -782,6 +792,18 @@ class WorkstationConfigHostGceInstance(dict):
|
|
782
792
|
"""
|
783
793
|
return pulumi.get(self, "tags")
|
784
794
|
|
795
|
+
@property
|
796
|
+
@pulumi.getter(name="vmTags")
|
797
|
+
def vm_tags(self) -> Optional[Mapping[str, str]]:
|
798
|
+
"""
|
799
|
+
Resource manager tags to be bound to the VM instances backing the Workstations.
|
800
|
+
Tag keys and values have the same definition as
|
801
|
+
https://cloud.google.com/resource-manager/docs/tags/tags-overview
|
802
|
+
Keys must be in the format `tagKeys/{tag_key_id}`, and
|
803
|
+
values are in the format `tagValues/456`.
|
804
|
+
"""
|
805
|
+
return pulumi.get(self, "vm_tags")
|
806
|
+
|
785
807
|
|
786
808
|
@pulumi.output_type
|
787
809
|
class WorkstationConfigHostGceInstanceAccelerator(dict):
|
@@ -866,6 +866,12 @@ class WorkstationConfig(pulumi.CustomResource):
|
|
866
866
|
import pulumi
|
867
867
|
import pulumi_gcp as gcp
|
868
868
|
|
869
|
+
tag_key1 = gcp.tags.TagKey("tag_key1",
|
870
|
+
parent="organizations/123456789",
|
871
|
+
short_name="keyname")
|
872
|
+
tag_value1 = gcp.tags.TagValue("tag_value1",
|
873
|
+
parent=tag_key1.name.apply(lambda name: f"tagKeys/{name}"),
|
874
|
+
short_name="valuename")
|
869
875
|
default = gcp.compute.Network("default",
|
870
876
|
name="workstation-cluster",
|
871
877
|
auto_create_subnetworks=False)
|
@@ -907,6 +913,9 @@ class WorkstationConfig(pulumi.CustomResource):
|
|
907
913
|
"bootDiskSizeGb": 35,
|
908
914
|
"disablePublicIpAddresses": True,
|
909
915
|
"disableSsh": False,
|
916
|
+
"vmTags": pulumi.Output.all(tag_key1.name, tag_value1.name).apply(lambda tagKey1Name, tagValue1Name: {
|
917
|
+
f"tagKeys/{tag_key1_name}": f"tagValues/{tag_value1_name}",
|
918
|
+
}),
|
910
919
|
},
|
911
920
|
})
|
912
921
|
```
|
@@ -1316,6 +1325,12 @@ class WorkstationConfig(pulumi.CustomResource):
|
|
1316
1325
|
import pulumi
|
1317
1326
|
import pulumi_gcp as gcp
|
1318
1327
|
|
1328
|
+
tag_key1 = gcp.tags.TagKey("tag_key1",
|
1329
|
+
parent="organizations/123456789",
|
1330
|
+
short_name="keyname")
|
1331
|
+
tag_value1 = gcp.tags.TagValue("tag_value1",
|
1332
|
+
parent=tag_key1.name.apply(lambda name: f"tagKeys/{name}"),
|
1333
|
+
short_name="valuename")
|
1319
1334
|
default = gcp.compute.Network("default",
|
1320
1335
|
name="workstation-cluster",
|
1321
1336
|
auto_create_subnetworks=False)
|
@@ -1357,6 +1372,9 @@ class WorkstationConfig(pulumi.CustomResource):
|
|
1357
1372
|
"bootDiskSizeGb": 35,
|
1358
1373
|
"disablePublicIpAddresses": True,
|
1359
1374
|
"disableSsh": False,
|
1375
|
+
"vmTags": pulumi.Output.all(tag_key1.name, tag_value1.name).apply(lambda tagKey1Name, tagValue1Name: {
|
1376
|
+
f"tagKeys/{tag_key1_name}": f"tagValues/{tag_value1_name}",
|
1377
|
+
}),
|
1360
1378
|
},
|
1361
1379
|
})
|
1362
1380
|
```
|