pulumi-gcp 7.5.0a1704283083__py3-none-any.whl → 7.6.0__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- pulumi_gcp/__init__.py +99 -0
- pulumi_gcp/bigqueryanalyticshub/_inputs.py +40 -0
- pulumi_gcp/bigqueryanalyticshub/listing.py +117 -3
- pulumi_gcp/bigqueryanalyticshub/outputs.py +49 -0
- pulumi_gcp/clouddeploy/__init__.py +1 -0
- pulumi_gcp/clouddeploy/_inputs.py +239 -0
- pulumi_gcp/clouddeploy/automation.py +1103 -0
- pulumi_gcp/clouddeploy/outputs.py +246 -0
- pulumi_gcp/clouddomains/__init__.py +10 -0
- pulumi_gcp/clouddomains/_inputs.py +1098 -0
- pulumi_gcp/clouddomains/outputs.py +1156 -0
- pulumi_gcp/clouddomains/registration.py +1068 -0
- pulumi_gcp/cloudrunv2/job.py +4 -4
- pulumi_gcp/composer/_inputs.py +79 -1
- pulumi_gcp/composer/outputs.py +131 -4
- pulumi_gcp/compute/__init__.py +1 -0
- pulumi_gcp/compute/_inputs.py +180 -0
- pulumi_gcp/compute/get_instance_template.py +11 -1
- pulumi_gcp/compute/get_region_instance_template.py +11 -1
- pulumi_gcp/compute/get_reservation.py +212 -0
- pulumi_gcp/compute/instance_template.py +47 -0
- pulumi_gcp/compute/network_firewall_policy.py +20 -22
- pulumi_gcp/compute/outputs.py +325 -0
- pulumi_gcp/compute/region_instance_template.py +47 -0
- pulumi_gcp/compute/region_network_firewall_policy.py +31 -35
- pulumi_gcp/compute/router_peer.py +54 -0
- pulumi_gcp/compute/vpn_tunnel.py +8 -4
- pulumi_gcp/config/__init__.pyi +2 -0
- pulumi_gcp/config/vars.py +4 -0
- pulumi_gcp/container/_inputs.py +23 -0
- pulumi_gcp/container/aws_node_pool.py +7 -7
- pulumi_gcp/container/cluster.py +68 -14
- pulumi_gcp/container/get_cluster.py +11 -1
- pulumi_gcp/container/outputs.py +49 -0
- pulumi_gcp/dataflow/pipeline.py +1 -1
- pulumi_gcp/dataproc/_inputs.py +413 -39
- pulumi_gcp/dataproc/metastore_service.py +63 -0
- pulumi_gcp/dataproc/outputs.py +461 -39
- pulumi_gcp/dns/__init__.py +1 -0
- pulumi_gcp/dns/_inputs.py +94 -0
- pulumi_gcp/dns/get_managed_zones.py +89 -0
- pulumi_gcp/dns/outputs.py +62 -0
- pulumi_gcp/edgecontainer/vpn_connection.py +10 -10
- pulumi_gcp/filestore/__init__.py +1 -0
- pulumi_gcp/filestore/get_instance.py +258 -0
- pulumi_gcp/filestore/instance.py +7 -7
- pulumi_gcp/filestore/outputs.py +126 -0
- pulumi_gcp/gkebackup/backup_plan.py +24 -8
- pulumi_gcp/gkebackup/restore_plan.py +36 -12
- pulumi_gcp/gkebackup/restore_plan_iam_binding.py +36 -12
- pulumi_gcp/gkebackup/restore_plan_iam_member.py +36 -12
- pulumi_gcp/gkebackup/restore_plan_iam_policy.py +36 -12
- pulumi_gcp/gkehub/_inputs.py +502 -2
- pulumi_gcp/gkehub/feature.py +34 -0
- pulumi_gcp/gkehub/feature_membership.py +177 -0
- pulumi_gcp/gkehub/membership.py +18 -6
- pulumi_gcp/gkehub/outputs.py +502 -2
- pulumi_gcp/gkeonprem/_inputs.py +21 -25
- pulumi_gcp/gkeonprem/outputs.py +34 -25
- pulumi_gcp/gkeonprem/v_mware_node_pool.py +34 -0
- pulumi_gcp/integrationconnectors/__init__.py +1 -0
- pulumi_gcp/integrationconnectors/endpoint_attachment.py +669 -0
- pulumi_gcp/kms/_inputs.py +42 -0
- pulumi_gcp/kms/crypto_key.py +36 -0
- pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
- pulumi_gcp/kms/outputs.py +62 -0
- pulumi_gcp/logging/__init__.py +2 -0
- pulumi_gcp/logging/folder_settings.py +490 -0
- pulumi_gcp/logging/folder_sink.py +21 -21
- pulumi_gcp/logging/organization_settings.py +484 -0
- pulumi_gcp/logging/organization_sink.py +21 -21
- pulumi_gcp/logging/project_sink.py +7 -14
- pulumi_gcp/netapp/__init__.py +3 -0
- pulumi_gcp/netapp/active_directory.py +1413 -0
- pulumi_gcp/netapp/backup_vault.py +593 -0
- pulumi_gcp/netapp/kmsconfig.py +649 -0
- pulumi_gcp/orgpolicy/policy.py +28 -0
- pulumi_gcp/provider.py +20 -0
- pulumi_gcp/pubsub/subscription.py +29 -37
- pulumi_gcp/serviceaccount/account.py +47 -0
- pulumi_gcp/servicenetworking/connection.py +55 -1
- pulumi_gcp/sql/database_instance.py +2 -2
- pulumi_gcp/sql/ssl_cert.py +1 -1
- pulumi_gcp/sql/user.py +7 -7
- pulumi_gcp/storage/transfer_job.py +24 -5
- pulumi_gcp/vertex/__init__.py +3 -0
- pulumi_gcp/vertex/_inputs.py +339 -0
- pulumi_gcp/vertex/ai_feature_group.py +710 -0
- pulumi_gcp/vertex/ai_feature_online_store.py +962 -0
- pulumi_gcp/vertex/ai_feature_online_store_featureview.py +804 -0
- pulumi_gcp/vertex/outputs.py +406 -0
- pulumi_gcp/vmwareengine/__init__.py +2 -0
- pulumi_gcp/vmwareengine/_inputs.py +84 -0
- pulumi_gcp/vmwareengine/external_access_rule.py +947 -0
- pulumi_gcp/vmwareengine/get_external_access_rule.py +245 -0
- pulumi_gcp/vmwareengine/outputs.py +146 -0
- pulumi_gcp/workflows/workflow.py +7 -7
- {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/METADATA +1 -1
- {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/RECORD +101 -82
- {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/WHEEL +0 -0
- {pulumi_gcp-7.5.0a1704283083.dist-info → pulumi_gcp-7.6.0.dist-info}/top_level.txt +0 -0
pulumi_gcp/gkehub/_inputs.py
CHANGED
@@ -38,8 +38,18 @@ __all__ = [
|
|
38
38
|
'FeatureMembershipConfigmanagementPolicyControllerArgs',
|
39
39
|
'FeatureMembershipConfigmanagementPolicyControllerMonitoringArgs',
|
40
40
|
'FeatureMembershipMeshArgs',
|
41
|
+
'FeatureMembershipPolicycontrollerArgs',
|
42
|
+
'FeatureMembershipPolicycontrollerPolicyControllerHubConfigArgs',
|
43
|
+
'FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringArgs',
|
44
|
+
'FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentArgs',
|
45
|
+
'FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs',
|
41
46
|
'FeatureResourceStateArgs',
|
42
47
|
'FeatureSpecArgs',
|
48
|
+
'FeatureSpecClusterupgradeArgs',
|
49
|
+
'FeatureSpecClusterupgradeGkeUpgradeOverrideArgs',
|
50
|
+
'FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs',
|
51
|
+
'FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs',
|
52
|
+
'FeatureSpecClusterupgradePostConditionsArgs',
|
43
53
|
'FeatureSpecFleetobservabilityArgs',
|
44
54
|
'FeatureSpecFleetobservabilityLoggingConfigArgs',
|
45
55
|
'FeatureSpecFleetobservabilityLoggingConfigDefaultConfigArgs',
|
@@ -132,13 +142,17 @@ class FeatureFleetDefaultMemberConfigArgs:
|
|
132
142
|
@pulumi.input_type
|
133
143
|
class FeatureFleetDefaultMemberConfigConfigmanagementArgs:
|
134
144
|
def __init__(__self__, *,
|
135
|
-
config_sync: Optional[pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs']] = None
|
145
|
+
config_sync: Optional[pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs']] = None,
|
146
|
+
version: Optional[pulumi.Input[str]] = None):
|
136
147
|
"""
|
137
148
|
:param pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs'] config_sync: ConfigSync configuration for the cluster
|
138
149
|
Structure is documented below.
|
150
|
+
:param pulumi.Input[str] version: Version of ACM installed
|
139
151
|
"""
|
140
152
|
if config_sync is not None:
|
141
153
|
pulumi.set(__self__, "config_sync", config_sync)
|
154
|
+
if version is not None:
|
155
|
+
pulumi.set(__self__, "version", version)
|
142
156
|
|
143
157
|
@property
|
144
158
|
@pulumi.getter(name="configSync")
|
@@ -153,6 +167,18 @@ class FeatureFleetDefaultMemberConfigConfigmanagementArgs:
|
|
153
167
|
def config_sync(self, value: Optional[pulumi.Input['FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs']]):
|
154
168
|
pulumi.set(self, "config_sync", value)
|
155
169
|
|
170
|
+
@property
|
171
|
+
@pulumi.getter
|
172
|
+
def version(self) -> Optional[pulumi.Input[str]]:
|
173
|
+
"""
|
174
|
+
Version of ACM installed
|
175
|
+
"""
|
176
|
+
return pulumi.get(self, "version")
|
177
|
+
|
178
|
+
@version.setter
|
179
|
+
def version(self, value: Optional[pulumi.Input[str]]):
|
180
|
+
pulumi.set(self, "version", value)
|
181
|
+
|
156
182
|
|
157
183
|
@pulumi.input_type
|
158
184
|
class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs:
|
@@ -362,7 +388,10 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs:
|
|
362
388
|
:param pulumi.Input[str] policy_dir: The absolute path of the directory that contains the local resources. Default: the root directory of the image
|
363
389
|
:param pulumi.Input[str] sync_repo: The OCI image repository URL for the package to sync from
|
364
390
|
:param pulumi.Input[str] sync_wait_secs: Period in seconds between consecutive syncs. Default: 15
|
365
|
-
:param pulumi.Input[str] version:
|
391
|
+
:param pulumi.Input[str] version: (Optional, Deprecated)
|
392
|
+
Version of ACM installed
|
393
|
+
|
394
|
+
> **Warning:** The `configmanagement.config_sync.oci.version` field is deprecated and will be removed in a future major release. Please use `configmanagement.version` field to specify the version of ACM installed instead.
|
366
395
|
"""
|
367
396
|
pulumi.set(__self__, "secret_type", secret_type)
|
368
397
|
if gcp_service_account_email is not None:
|
@@ -373,6 +402,9 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs:
|
|
373
402
|
pulumi.set(__self__, "sync_repo", sync_repo)
|
374
403
|
if sync_wait_secs is not None:
|
375
404
|
pulumi.set(__self__, "sync_wait_secs", sync_wait_secs)
|
405
|
+
if version is not None:
|
406
|
+
warnings.warn("""The `configmanagement.config_sync.oci.version` field is deprecated and will be removed in a future major release. Please use `configmanagement.version` field to specify the version of ACM installed instead.""", DeprecationWarning)
|
407
|
+
pulumi.log.warn("""version is deprecated: The `configmanagement.config_sync.oci.version` field is deprecated and will be removed in a future major release. Please use `configmanagement.version` field to specify the version of ACM installed instead.""")
|
376
408
|
if version is not None:
|
377
409
|
pulumi.set(__self__, "version", version)
|
378
410
|
|
@@ -440,8 +472,14 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOciArgs:
|
|
440
472
|
@pulumi.getter
|
441
473
|
def version(self) -> Optional[pulumi.Input[str]]:
|
442
474
|
"""
|
475
|
+
(Optional, Deprecated)
|
443
476
|
Version of ACM installed
|
477
|
+
|
478
|
+
> **Warning:** The `configmanagement.config_sync.oci.version` field is deprecated and will be removed in a future major release. Please use `configmanagement.version` field to specify the version of ACM installed instead.
|
444
479
|
"""
|
480
|
+
warnings.warn("""The `configmanagement.config_sync.oci.version` field is deprecated and will be removed in a future major release. Please use `configmanagement.version` field to specify the version of ACM installed instead.""", DeprecationWarning)
|
481
|
+
pulumi.log.warn("""version is deprecated: The `configmanagement.config_sync.oci.version` field is deprecated and will be removed in a future major release. Please use `configmanagement.version` field to specify the version of ACM installed instead.""")
|
482
|
+
|
445
483
|
return pulumi.get(self, "version")
|
446
484
|
|
447
485
|
@version.setter
|
@@ -1793,12 +1831,18 @@ class FeatureMembershipConfigmanagementPolicyControllerArgs:
|
|
1793
1831
|
class FeatureMembershipConfigmanagementPolicyControllerMonitoringArgs:
|
1794
1832
|
def __init__(__self__, *,
|
1795
1833
|
backends: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
1834
|
+
"""
|
1835
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] backends: Specifies the list of backends Policy Controller will export to. Must be one of `CLOUD_MONITORING` or `PROMETHEUS`. Defaults to [`CLOUD_MONITORING`, `PROMETHEUS`]. Specifying an empty value `[]` disables metrics export.
|
1836
|
+
"""
|
1796
1837
|
if backends is not None:
|
1797
1838
|
pulumi.set(__self__, "backends", backends)
|
1798
1839
|
|
1799
1840
|
@property
|
1800
1841
|
@pulumi.getter
|
1801
1842
|
def backends(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
1843
|
+
"""
|
1844
|
+
Specifies the list of backends Policy Controller will export to. Must be one of `CLOUD_MONITORING` or `PROMETHEUS`. Defaults to [`CLOUD_MONITORING`, `PROMETHEUS`]. Specifying an empty value `[]` disables metrics export.
|
1845
|
+
"""
|
1802
1846
|
return pulumi.get(self, "backends")
|
1803
1847
|
|
1804
1848
|
@backends.setter
|
@@ -1847,6 +1891,264 @@ class FeatureMembershipMeshArgs:
|
|
1847
1891
|
pulumi.set(self, "management", value)
|
1848
1892
|
|
1849
1893
|
|
1894
|
+
@pulumi.input_type
|
1895
|
+
class FeatureMembershipPolicycontrollerArgs:
|
1896
|
+
def __init__(__self__, *,
|
1897
|
+
policy_controller_hub_config: pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigArgs'],
|
1898
|
+
version: Optional[pulumi.Input[str]] = None):
|
1899
|
+
"""
|
1900
|
+
:param pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigArgs'] policy_controller_hub_config: Policy Controller configuration for the cluster. Structure is documented below.
|
1901
|
+
:param pulumi.Input[str] version: Version of Policy Controller to install. Defaults to the latest version.
|
1902
|
+
"""
|
1903
|
+
pulumi.set(__self__, "policy_controller_hub_config", policy_controller_hub_config)
|
1904
|
+
if version is not None:
|
1905
|
+
pulumi.set(__self__, "version", version)
|
1906
|
+
|
1907
|
+
@property
|
1908
|
+
@pulumi.getter(name="policyControllerHubConfig")
|
1909
|
+
def policy_controller_hub_config(self) -> pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigArgs']:
|
1910
|
+
"""
|
1911
|
+
Policy Controller configuration for the cluster. Structure is documented below.
|
1912
|
+
"""
|
1913
|
+
return pulumi.get(self, "policy_controller_hub_config")
|
1914
|
+
|
1915
|
+
@policy_controller_hub_config.setter
|
1916
|
+
def policy_controller_hub_config(self, value: pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigArgs']):
|
1917
|
+
pulumi.set(self, "policy_controller_hub_config", value)
|
1918
|
+
|
1919
|
+
@property
|
1920
|
+
@pulumi.getter
|
1921
|
+
def version(self) -> Optional[pulumi.Input[str]]:
|
1922
|
+
"""
|
1923
|
+
Version of Policy Controller to install. Defaults to the latest version.
|
1924
|
+
"""
|
1925
|
+
return pulumi.get(self, "version")
|
1926
|
+
|
1927
|
+
@version.setter
|
1928
|
+
def version(self, value: Optional[pulumi.Input[str]]):
|
1929
|
+
pulumi.set(self, "version", value)
|
1930
|
+
|
1931
|
+
|
1932
|
+
@pulumi.input_type
|
1933
|
+
class FeatureMembershipPolicycontrollerPolicyControllerHubConfigArgs:
|
1934
|
+
def __init__(__self__, *,
|
1935
|
+
audit_interval_seconds: Optional[pulumi.Input[int]] = None,
|
1936
|
+
constraint_violation_limit: Optional[pulumi.Input[int]] = None,
|
1937
|
+
exemptable_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
|
1938
|
+
install_spec: Optional[pulumi.Input[str]] = None,
|
1939
|
+
log_denies_enabled: Optional[pulumi.Input[bool]] = None,
|
1940
|
+
monitoring: Optional[pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringArgs']] = None,
|
1941
|
+
mutation_enabled: Optional[pulumi.Input[bool]] = None,
|
1942
|
+
policy_content: Optional[pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentArgs']] = None,
|
1943
|
+
referential_rules_enabled: Optional[pulumi.Input[bool]] = None):
|
1944
|
+
"""
|
1945
|
+
:param pulumi.Input[int] audit_interval_seconds: Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
|
1946
|
+
:param pulumi.Input[int] constraint_violation_limit: The maximum number of audit violations to be stored in a constraint. If not set, the default of 20 will be used.
|
1947
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] exemptable_namespaces: The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
|
1948
|
+
:param pulumi.Input[str] install_spec: Configures the mode of the Policy Controller installation. Must be one of `INSTALL_SPEC_NOT_INSTALLED`, `INSTALL_SPEC_ENABLED`, `INSTALL_SPEC_SUSPENDED` or `INSTALL_SPEC_DETACHED`.
|
1949
|
+
:param pulumi.Input[bool] log_denies_enabled: Logs all denies and dry run failures.
|
1950
|
+
:param pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringArgs'] monitoring: Specifies the backends Policy Controller should export metrics to. Structure is documented below.
|
1951
|
+
:param pulumi.Input[bool] mutation_enabled: Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.
|
1952
|
+
:param pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentArgs'] policy_content: Specifies the desired policy content on the cluster. Structure is documented below.
|
1953
|
+
:param pulumi.Input[bool] referential_rules_enabled: Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
|
1954
|
+
"""
|
1955
|
+
if audit_interval_seconds is not None:
|
1956
|
+
pulumi.set(__self__, "audit_interval_seconds", audit_interval_seconds)
|
1957
|
+
if constraint_violation_limit is not None:
|
1958
|
+
pulumi.set(__self__, "constraint_violation_limit", constraint_violation_limit)
|
1959
|
+
if exemptable_namespaces is not None:
|
1960
|
+
pulumi.set(__self__, "exemptable_namespaces", exemptable_namespaces)
|
1961
|
+
if install_spec is not None:
|
1962
|
+
pulumi.set(__self__, "install_spec", install_spec)
|
1963
|
+
if log_denies_enabled is not None:
|
1964
|
+
pulumi.set(__self__, "log_denies_enabled", log_denies_enabled)
|
1965
|
+
if monitoring is not None:
|
1966
|
+
pulumi.set(__self__, "monitoring", monitoring)
|
1967
|
+
if mutation_enabled is not None:
|
1968
|
+
pulumi.set(__self__, "mutation_enabled", mutation_enabled)
|
1969
|
+
if policy_content is not None:
|
1970
|
+
pulumi.set(__self__, "policy_content", policy_content)
|
1971
|
+
if referential_rules_enabled is not None:
|
1972
|
+
pulumi.set(__self__, "referential_rules_enabled", referential_rules_enabled)
|
1973
|
+
|
1974
|
+
@property
|
1975
|
+
@pulumi.getter(name="auditIntervalSeconds")
|
1976
|
+
def audit_interval_seconds(self) -> Optional[pulumi.Input[int]]:
|
1977
|
+
"""
|
1978
|
+
Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
|
1979
|
+
"""
|
1980
|
+
return pulumi.get(self, "audit_interval_seconds")
|
1981
|
+
|
1982
|
+
@audit_interval_seconds.setter
|
1983
|
+
def audit_interval_seconds(self, value: Optional[pulumi.Input[int]]):
|
1984
|
+
pulumi.set(self, "audit_interval_seconds", value)
|
1985
|
+
|
1986
|
+
@property
|
1987
|
+
@pulumi.getter(name="constraintViolationLimit")
|
1988
|
+
def constraint_violation_limit(self) -> Optional[pulumi.Input[int]]:
|
1989
|
+
"""
|
1990
|
+
The maximum number of audit violations to be stored in a constraint. If not set, the default of 20 will be used.
|
1991
|
+
"""
|
1992
|
+
return pulumi.get(self, "constraint_violation_limit")
|
1993
|
+
|
1994
|
+
@constraint_violation_limit.setter
|
1995
|
+
def constraint_violation_limit(self, value: Optional[pulumi.Input[int]]):
|
1996
|
+
pulumi.set(self, "constraint_violation_limit", value)
|
1997
|
+
|
1998
|
+
@property
|
1999
|
+
@pulumi.getter(name="exemptableNamespaces")
|
2000
|
+
def exemptable_namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
2001
|
+
"""
|
2002
|
+
The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
|
2003
|
+
"""
|
2004
|
+
return pulumi.get(self, "exemptable_namespaces")
|
2005
|
+
|
2006
|
+
@exemptable_namespaces.setter
|
2007
|
+
def exemptable_namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
2008
|
+
pulumi.set(self, "exemptable_namespaces", value)
|
2009
|
+
|
2010
|
+
@property
|
2011
|
+
@pulumi.getter(name="installSpec")
|
2012
|
+
def install_spec(self) -> Optional[pulumi.Input[str]]:
|
2013
|
+
"""
|
2014
|
+
Configures the mode of the Policy Controller installation. Must be one of `INSTALL_SPEC_NOT_INSTALLED`, `INSTALL_SPEC_ENABLED`, `INSTALL_SPEC_SUSPENDED` or `INSTALL_SPEC_DETACHED`.
|
2015
|
+
"""
|
2016
|
+
return pulumi.get(self, "install_spec")
|
2017
|
+
|
2018
|
+
@install_spec.setter
|
2019
|
+
def install_spec(self, value: Optional[pulumi.Input[str]]):
|
2020
|
+
pulumi.set(self, "install_spec", value)
|
2021
|
+
|
2022
|
+
@property
|
2023
|
+
@pulumi.getter(name="logDeniesEnabled")
|
2024
|
+
def log_denies_enabled(self) -> Optional[pulumi.Input[bool]]:
|
2025
|
+
"""
|
2026
|
+
Logs all denies and dry run failures.
|
2027
|
+
"""
|
2028
|
+
return pulumi.get(self, "log_denies_enabled")
|
2029
|
+
|
2030
|
+
@log_denies_enabled.setter
|
2031
|
+
def log_denies_enabled(self, value: Optional[pulumi.Input[bool]]):
|
2032
|
+
pulumi.set(self, "log_denies_enabled", value)
|
2033
|
+
|
2034
|
+
@property
|
2035
|
+
@pulumi.getter
|
2036
|
+
def monitoring(self) -> Optional[pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringArgs']]:
|
2037
|
+
"""
|
2038
|
+
Specifies the backends Policy Controller should export metrics to. Structure is documented below.
|
2039
|
+
"""
|
2040
|
+
return pulumi.get(self, "monitoring")
|
2041
|
+
|
2042
|
+
@monitoring.setter
|
2043
|
+
def monitoring(self, value: Optional[pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringArgs']]):
|
2044
|
+
pulumi.set(self, "monitoring", value)
|
2045
|
+
|
2046
|
+
@property
|
2047
|
+
@pulumi.getter(name="mutationEnabled")
|
2048
|
+
def mutation_enabled(self) -> Optional[pulumi.Input[bool]]:
|
2049
|
+
"""
|
2050
|
+
Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.
|
2051
|
+
"""
|
2052
|
+
return pulumi.get(self, "mutation_enabled")
|
2053
|
+
|
2054
|
+
@mutation_enabled.setter
|
2055
|
+
def mutation_enabled(self, value: Optional[pulumi.Input[bool]]):
|
2056
|
+
pulumi.set(self, "mutation_enabled", value)
|
2057
|
+
|
2058
|
+
@property
|
2059
|
+
@pulumi.getter(name="policyContent")
|
2060
|
+
def policy_content(self) -> Optional[pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentArgs']]:
|
2061
|
+
"""
|
2062
|
+
Specifies the desired policy content on the cluster. Structure is documented below.
|
2063
|
+
"""
|
2064
|
+
return pulumi.get(self, "policy_content")
|
2065
|
+
|
2066
|
+
@policy_content.setter
|
2067
|
+
def policy_content(self, value: Optional[pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentArgs']]):
|
2068
|
+
pulumi.set(self, "policy_content", value)
|
2069
|
+
|
2070
|
+
@property
|
2071
|
+
@pulumi.getter(name="referentialRulesEnabled")
|
2072
|
+
def referential_rules_enabled(self) -> Optional[pulumi.Input[bool]]:
|
2073
|
+
"""
|
2074
|
+
Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
|
2075
|
+
"""
|
2076
|
+
return pulumi.get(self, "referential_rules_enabled")
|
2077
|
+
|
2078
|
+
@referential_rules_enabled.setter
|
2079
|
+
def referential_rules_enabled(self, value: Optional[pulumi.Input[bool]]):
|
2080
|
+
pulumi.set(self, "referential_rules_enabled", value)
|
2081
|
+
|
2082
|
+
|
2083
|
+
@pulumi.input_type
|
2084
|
+
class FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringArgs:
|
2085
|
+
def __init__(__self__, *,
|
2086
|
+
backends: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
|
2087
|
+
"""
|
2088
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] backends: Specifies the list of backends Policy Controller will export to. Must be one of `CLOUD_MONITORING` or `PROMETHEUS`. Defaults to [`CLOUD_MONITORING`, `PROMETHEUS`]. Specifying an empty value `[]` disables metrics export.
|
2089
|
+
"""
|
2090
|
+
if backends is not None:
|
2091
|
+
pulumi.set(__self__, "backends", backends)
|
2092
|
+
|
2093
|
+
@property
|
2094
|
+
@pulumi.getter
|
2095
|
+
def backends(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
2096
|
+
"""
|
2097
|
+
Specifies the list of backends Policy Controller will export to. Must be one of `CLOUD_MONITORING` or `PROMETHEUS`. Defaults to [`CLOUD_MONITORING`, `PROMETHEUS`]. Specifying an empty value `[]` disables metrics export.
|
2098
|
+
"""
|
2099
|
+
return pulumi.get(self, "backends")
|
2100
|
+
|
2101
|
+
@backends.setter
|
2102
|
+
def backends(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
|
2103
|
+
pulumi.set(self, "backends", value)
|
2104
|
+
|
2105
|
+
|
2106
|
+
@pulumi.input_type
|
2107
|
+
class FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentArgs:
|
2108
|
+
def __init__(__self__, *,
|
2109
|
+
template_library: Optional[pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs']] = None):
|
2110
|
+
"""
|
2111
|
+
:param pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs'] template_library: Configures the installation of the Template Library. Structure is documented below.
|
2112
|
+
"""
|
2113
|
+
if template_library is not None:
|
2114
|
+
pulumi.set(__self__, "template_library", template_library)
|
2115
|
+
|
2116
|
+
@property
|
2117
|
+
@pulumi.getter(name="templateLibrary")
|
2118
|
+
def template_library(self) -> Optional[pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs']]:
|
2119
|
+
"""
|
2120
|
+
Configures the installation of the Template Library. Structure is documented below.
|
2121
|
+
"""
|
2122
|
+
return pulumi.get(self, "template_library")
|
2123
|
+
|
2124
|
+
@template_library.setter
|
2125
|
+
def template_library(self, value: Optional[pulumi.Input['FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs']]):
|
2126
|
+
pulumi.set(self, "template_library", value)
|
2127
|
+
|
2128
|
+
|
2129
|
+
@pulumi.input_type
|
2130
|
+
class FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs:
|
2131
|
+
def __init__(__self__, *,
|
2132
|
+
installation: Optional[pulumi.Input[str]] = None):
|
2133
|
+
"""
|
2134
|
+
:param pulumi.Input[str] installation: Configures the manner in which the template library is installed on the cluster. Must be one of `ALL`, `NOT_INSTALLED` or `INSTALLATION_UNSPECIFIED`. Defaults to `ALL`.
|
2135
|
+
"""
|
2136
|
+
if installation is not None:
|
2137
|
+
pulumi.set(__self__, "installation", installation)
|
2138
|
+
|
2139
|
+
@property
|
2140
|
+
@pulumi.getter
|
2141
|
+
def installation(self) -> Optional[pulumi.Input[str]]:
|
2142
|
+
"""
|
2143
|
+
Configures the manner in which the template library is installed on the cluster. Must be one of `ALL`, `NOT_INSTALLED` or `INSTALLATION_UNSPECIFIED`. Defaults to `ALL`.
|
2144
|
+
"""
|
2145
|
+
return pulumi.get(self, "installation")
|
2146
|
+
|
2147
|
+
@installation.setter
|
2148
|
+
def installation(self, value: Optional[pulumi.Input[str]]):
|
2149
|
+
pulumi.set(self, "installation", value)
|
2150
|
+
|
2151
|
+
|
1850
2152
|
@pulumi.input_type
|
1851
2153
|
class FeatureResourceStateArgs:
|
1852
2154
|
def __init__(__self__, *,
|
@@ -1895,19 +2197,37 @@ class FeatureResourceStateArgs:
|
|
1895
2197
|
@pulumi.input_type
|
1896
2198
|
class FeatureSpecArgs:
|
1897
2199
|
def __init__(__self__, *,
|
2200
|
+
clusterupgrade: Optional[pulumi.Input['FeatureSpecClusterupgradeArgs']] = None,
|
1898
2201
|
fleetobservability: Optional[pulumi.Input['FeatureSpecFleetobservabilityArgs']] = None,
|
1899
2202
|
multiclusteringress: Optional[pulumi.Input['FeatureSpecMulticlusteringressArgs']] = None):
|
1900
2203
|
"""
|
2204
|
+
:param pulumi.Input['FeatureSpecClusterupgradeArgs'] clusterupgrade: Clusterupgrade feature spec.
|
2205
|
+
Structure is documented below.
|
1901
2206
|
:param pulumi.Input['FeatureSpecFleetobservabilityArgs'] fleetobservability: Fleet Observability feature spec.
|
1902
2207
|
Structure is documented below.
|
1903
2208
|
:param pulumi.Input['FeatureSpecMulticlusteringressArgs'] multiclusteringress: Multicluster Ingress-specific spec.
|
1904
2209
|
Structure is documented below.
|
1905
2210
|
"""
|
2211
|
+
if clusterupgrade is not None:
|
2212
|
+
pulumi.set(__self__, "clusterupgrade", clusterupgrade)
|
1906
2213
|
if fleetobservability is not None:
|
1907
2214
|
pulumi.set(__self__, "fleetobservability", fleetobservability)
|
1908
2215
|
if multiclusteringress is not None:
|
1909
2216
|
pulumi.set(__self__, "multiclusteringress", multiclusteringress)
|
1910
2217
|
|
2218
|
+
@property
|
2219
|
+
@pulumi.getter
|
2220
|
+
def clusterupgrade(self) -> Optional[pulumi.Input['FeatureSpecClusterupgradeArgs']]:
|
2221
|
+
"""
|
2222
|
+
Clusterupgrade feature spec.
|
2223
|
+
Structure is documented below.
|
2224
|
+
"""
|
2225
|
+
return pulumi.get(self, "clusterupgrade")
|
2226
|
+
|
2227
|
+
@clusterupgrade.setter
|
2228
|
+
def clusterupgrade(self, value: Optional[pulumi.Input['FeatureSpecClusterupgradeArgs']]):
|
2229
|
+
pulumi.set(self, "clusterupgrade", value)
|
2230
|
+
|
1911
2231
|
@property
|
1912
2232
|
@pulumi.getter
|
1913
2233
|
def fleetobservability(self) -> Optional[pulumi.Input['FeatureSpecFleetobservabilityArgs']]:
|
@@ -1935,6 +2255,186 @@ class FeatureSpecArgs:
|
|
1935
2255
|
pulumi.set(self, "multiclusteringress", value)
|
1936
2256
|
|
1937
2257
|
|
2258
|
+
@pulumi.input_type
|
2259
|
+
class FeatureSpecClusterupgradeArgs:
|
2260
|
+
def __init__(__self__, *,
|
2261
|
+
upstream_fleets: pulumi.Input[Sequence[pulumi.Input[str]]],
|
2262
|
+
gke_upgrade_overrides: Optional[pulumi.Input[Sequence[pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverrideArgs']]]] = None,
|
2263
|
+
post_conditions: Optional[pulumi.Input['FeatureSpecClusterupgradePostConditionsArgs']] = None):
|
2264
|
+
"""
|
2265
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] upstream_fleets: Specified if other fleet should be considered as a source of upgrades. Currently, at most one upstream fleet is allowed. The fleet name should be either fleet project number or id.
|
2266
|
+
:param pulumi.Input[Sequence[pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverrideArgs']]] gke_upgrade_overrides: Configuration overrides for individual upgrades.
|
2267
|
+
Structure is documented below.
|
2268
|
+
:param pulumi.Input['FeatureSpecClusterupgradePostConditionsArgs'] post_conditions: Post conditions to override for the specified upgrade.
|
2269
|
+
Structure is documented below.
|
2270
|
+
"""
|
2271
|
+
pulumi.set(__self__, "upstream_fleets", upstream_fleets)
|
2272
|
+
if gke_upgrade_overrides is not None:
|
2273
|
+
pulumi.set(__self__, "gke_upgrade_overrides", gke_upgrade_overrides)
|
2274
|
+
if post_conditions is not None:
|
2275
|
+
pulumi.set(__self__, "post_conditions", post_conditions)
|
2276
|
+
|
2277
|
+
@property
|
2278
|
+
@pulumi.getter(name="upstreamFleets")
|
2279
|
+
def upstream_fleets(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
2280
|
+
"""
|
2281
|
+
Specified if other fleet should be considered as a source of upgrades. Currently, at most one upstream fleet is allowed. The fleet name should be either fleet project number or id.
|
2282
|
+
"""
|
2283
|
+
return pulumi.get(self, "upstream_fleets")
|
2284
|
+
|
2285
|
+
@upstream_fleets.setter
|
2286
|
+
def upstream_fleets(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
|
2287
|
+
pulumi.set(self, "upstream_fleets", value)
|
2288
|
+
|
2289
|
+
@property
|
2290
|
+
@pulumi.getter(name="gkeUpgradeOverrides")
|
2291
|
+
def gke_upgrade_overrides(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverrideArgs']]]]:
|
2292
|
+
"""
|
2293
|
+
Configuration overrides for individual upgrades.
|
2294
|
+
Structure is documented below.
|
2295
|
+
"""
|
2296
|
+
return pulumi.get(self, "gke_upgrade_overrides")
|
2297
|
+
|
2298
|
+
@gke_upgrade_overrides.setter
|
2299
|
+
def gke_upgrade_overrides(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverrideArgs']]]]):
|
2300
|
+
pulumi.set(self, "gke_upgrade_overrides", value)
|
2301
|
+
|
2302
|
+
@property
|
2303
|
+
@pulumi.getter(name="postConditions")
|
2304
|
+
def post_conditions(self) -> Optional[pulumi.Input['FeatureSpecClusterupgradePostConditionsArgs']]:
|
2305
|
+
"""
|
2306
|
+
Post conditions to override for the specified upgrade.
|
2307
|
+
Structure is documented below.
|
2308
|
+
"""
|
2309
|
+
return pulumi.get(self, "post_conditions")
|
2310
|
+
|
2311
|
+
@post_conditions.setter
|
2312
|
+
def post_conditions(self, value: Optional[pulumi.Input['FeatureSpecClusterupgradePostConditionsArgs']]):
|
2313
|
+
pulumi.set(self, "post_conditions", value)
|
2314
|
+
|
2315
|
+
|
2316
|
+
@pulumi.input_type
|
2317
|
+
class FeatureSpecClusterupgradeGkeUpgradeOverrideArgs:
|
2318
|
+
def __init__(__self__, *,
|
2319
|
+
post_conditions: pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs'],
|
2320
|
+
upgrade: pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs']):
|
2321
|
+
"""
|
2322
|
+
:param pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs'] post_conditions: Post conditions to override for the specified upgrade.
|
2323
|
+
Structure is documented below.
|
2324
|
+
:param pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs'] upgrade: Which upgrade to override.
|
2325
|
+
Structure is documented below.
|
2326
|
+
"""
|
2327
|
+
pulumi.set(__self__, "post_conditions", post_conditions)
|
2328
|
+
pulumi.set(__self__, "upgrade", upgrade)
|
2329
|
+
|
2330
|
+
@property
|
2331
|
+
@pulumi.getter(name="postConditions")
|
2332
|
+
def post_conditions(self) -> pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs']:
|
2333
|
+
"""
|
2334
|
+
Post conditions to override for the specified upgrade.
|
2335
|
+
Structure is documented below.
|
2336
|
+
"""
|
2337
|
+
return pulumi.get(self, "post_conditions")
|
2338
|
+
|
2339
|
+
@post_conditions.setter
|
2340
|
+
def post_conditions(self, value: pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs']):
|
2341
|
+
pulumi.set(self, "post_conditions", value)
|
2342
|
+
|
2343
|
+
@property
|
2344
|
+
@pulumi.getter
|
2345
|
+
def upgrade(self) -> pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs']:
|
2346
|
+
"""
|
2347
|
+
Which upgrade to override.
|
2348
|
+
Structure is documented below.
|
2349
|
+
"""
|
2350
|
+
return pulumi.get(self, "upgrade")
|
2351
|
+
|
2352
|
+
@upgrade.setter
|
2353
|
+
def upgrade(self, value: pulumi.Input['FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs']):
|
2354
|
+
pulumi.set(self, "upgrade", value)
|
2355
|
+
|
2356
|
+
|
2357
|
+
@pulumi.input_type
|
2358
|
+
class FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs:
|
2359
|
+
def __init__(__self__, *,
|
2360
|
+
soaking: pulumi.Input[str]):
|
2361
|
+
"""
|
2362
|
+
:param pulumi.Input[str] soaking: Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
|
2363
|
+
"""
|
2364
|
+
pulumi.set(__self__, "soaking", soaking)
|
2365
|
+
|
2366
|
+
@property
|
2367
|
+
@pulumi.getter
|
2368
|
+
def soaking(self) -> pulumi.Input[str]:
|
2369
|
+
"""
|
2370
|
+
Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
|
2371
|
+
"""
|
2372
|
+
return pulumi.get(self, "soaking")
|
2373
|
+
|
2374
|
+
@soaking.setter
|
2375
|
+
def soaking(self, value: pulumi.Input[str]):
|
2376
|
+
pulumi.set(self, "soaking", value)
|
2377
|
+
|
2378
|
+
|
2379
|
+
@pulumi.input_type
|
2380
|
+
class FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs:
|
2381
|
+
def __init__(__self__, *,
|
2382
|
+
name: pulumi.Input[str],
|
2383
|
+
version: pulumi.Input[str]):
|
2384
|
+
"""
|
2385
|
+
:param pulumi.Input[str] name: Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
|
2386
|
+
:param pulumi.Input[str] version: Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 characters.
|
2387
|
+
"""
|
2388
|
+
pulumi.set(__self__, "name", name)
|
2389
|
+
pulumi.set(__self__, "version", version)
|
2390
|
+
|
2391
|
+
@property
|
2392
|
+
@pulumi.getter
|
2393
|
+
def name(self) -> pulumi.Input[str]:
|
2394
|
+
"""
|
2395
|
+
Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
|
2396
|
+
"""
|
2397
|
+
return pulumi.get(self, "name")
|
2398
|
+
|
2399
|
+
@name.setter
|
2400
|
+
def name(self, value: pulumi.Input[str]):
|
2401
|
+
pulumi.set(self, "name", value)
|
2402
|
+
|
2403
|
+
@property
|
2404
|
+
@pulumi.getter
|
2405
|
+
def version(self) -> pulumi.Input[str]:
|
2406
|
+
"""
|
2407
|
+
Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 characters.
|
2408
|
+
"""
|
2409
|
+
return pulumi.get(self, "version")
|
2410
|
+
|
2411
|
+
@version.setter
|
2412
|
+
def version(self, value: pulumi.Input[str]):
|
2413
|
+
pulumi.set(self, "version", value)
|
2414
|
+
|
2415
|
+
|
2416
|
+
@pulumi.input_type
|
2417
|
+
class FeatureSpecClusterupgradePostConditionsArgs:
|
2418
|
+
def __init__(__self__, *,
|
2419
|
+
soaking: pulumi.Input[str]):
|
2420
|
+
"""
|
2421
|
+
:param pulumi.Input[str] soaking: Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
|
2422
|
+
"""
|
2423
|
+
pulumi.set(__self__, "soaking", soaking)
|
2424
|
+
|
2425
|
+
@property
|
2426
|
+
@pulumi.getter
|
2427
|
+
def soaking(self) -> pulumi.Input[str]:
|
2428
|
+
"""
|
2429
|
+
Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
|
2430
|
+
"""
|
2431
|
+
return pulumi.get(self, "soaking")
|
2432
|
+
|
2433
|
+
@soaking.setter
|
2434
|
+
def soaking(self, value: pulumi.Input[str]):
|
2435
|
+
pulumi.set(self, "soaking", value)
|
2436
|
+
|
2437
|
+
|
1938
2438
|
@pulumi.input_type
|
1939
2439
|
class FeatureSpecFleetobservabilityArgs:
|
1940
2440
|
def __init__(__self__, *,
|
pulumi_gcp/gkehub/feature.py
CHANGED
@@ -586,6 +586,23 @@ class Feature(pulumi.CustomResource):
|
|
586
586
|
),
|
587
587
|
location="global")
|
588
588
|
```
|
589
|
+
### Gkehub Feature Clusterupgrade
|
590
|
+
|
591
|
+
```python
|
592
|
+
import pulumi
|
593
|
+
import pulumi_gcp as gcp
|
594
|
+
|
595
|
+
feature = gcp.gkehub.Feature("feature",
|
596
|
+
location="global",
|
597
|
+
spec=gcp.gkehub.FeatureSpecArgs(
|
598
|
+
clusterupgrade=gcp.gkehub.FeatureSpecClusterupgradeArgs(
|
599
|
+
post_conditions=gcp.gkehub.FeatureSpecClusterupgradePostConditionsArgs(
|
600
|
+
soaking="60s",
|
601
|
+
),
|
602
|
+
upstream_fleets=[],
|
603
|
+
),
|
604
|
+
))
|
605
|
+
```
|
589
606
|
|
590
607
|
## Import
|
591
608
|
|
@@ -834,6 +851,23 @@ class Feature(pulumi.CustomResource):
|
|
834
851
|
),
|
835
852
|
location="global")
|
836
853
|
```
|
854
|
+
### Gkehub Feature Clusterupgrade
|
855
|
+
|
856
|
+
```python
|
857
|
+
import pulumi
|
858
|
+
import pulumi_gcp as gcp
|
859
|
+
|
860
|
+
feature = gcp.gkehub.Feature("feature",
|
861
|
+
location="global",
|
862
|
+
spec=gcp.gkehub.FeatureSpecArgs(
|
863
|
+
clusterupgrade=gcp.gkehub.FeatureSpecClusterupgradeArgs(
|
864
|
+
post_conditions=gcp.gkehub.FeatureSpecClusterupgradePostConditionsArgs(
|
865
|
+
soaking="60s",
|
866
|
+
),
|
867
|
+
upstream_fleets=[],
|
868
|
+
),
|
869
|
+
))
|
870
|
+
```
|
837
871
|
|
838
872
|
## Import
|
839
873
|
|