pulumi-gcp 7.5.0a1704347630__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.
Files changed (101) hide show
  1. pulumi_gcp/__init__.py +99 -0
  2. pulumi_gcp/bigqueryanalyticshub/_inputs.py +40 -0
  3. pulumi_gcp/bigqueryanalyticshub/listing.py +117 -3
  4. pulumi_gcp/bigqueryanalyticshub/outputs.py +49 -0
  5. pulumi_gcp/clouddeploy/__init__.py +1 -0
  6. pulumi_gcp/clouddeploy/_inputs.py +239 -0
  7. pulumi_gcp/clouddeploy/automation.py +1103 -0
  8. pulumi_gcp/clouddeploy/outputs.py +246 -0
  9. pulumi_gcp/clouddomains/__init__.py +10 -0
  10. pulumi_gcp/clouddomains/_inputs.py +1098 -0
  11. pulumi_gcp/clouddomains/outputs.py +1156 -0
  12. pulumi_gcp/clouddomains/registration.py +1068 -0
  13. pulumi_gcp/cloudrunv2/job.py +4 -4
  14. pulumi_gcp/composer/_inputs.py +79 -1
  15. pulumi_gcp/composer/outputs.py +131 -4
  16. pulumi_gcp/compute/__init__.py +1 -0
  17. pulumi_gcp/compute/_inputs.py +180 -0
  18. pulumi_gcp/compute/get_instance_template.py +11 -1
  19. pulumi_gcp/compute/get_region_instance_template.py +11 -1
  20. pulumi_gcp/compute/get_reservation.py +212 -0
  21. pulumi_gcp/compute/instance_template.py +47 -0
  22. pulumi_gcp/compute/network_firewall_policy.py +20 -22
  23. pulumi_gcp/compute/outputs.py +325 -0
  24. pulumi_gcp/compute/region_instance_template.py +47 -0
  25. pulumi_gcp/compute/region_network_firewall_policy.py +31 -35
  26. pulumi_gcp/compute/router_peer.py +54 -0
  27. pulumi_gcp/compute/vpn_tunnel.py +8 -4
  28. pulumi_gcp/config/__init__.pyi +2 -0
  29. pulumi_gcp/config/vars.py +4 -0
  30. pulumi_gcp/container/_inputs.py +23 -0
  31. pulumi_gcp/container/aws_node_pool.py +7 -7
  32. pulumi_gcp/container/cluster.py +68 -14
  33. pulumi_gcp/container/get_cluster.py +11 -1
  34. pulumi_gcp/container/outputs.py +49 -0
  35. pulumi_gcp/dataflow/pipeline.py +1 -1
  36. pulumi_gcp/dataproc/_inputs.py +413 -39
  37. pulumi_gcp/dataproc/metastore_service.py +63 -0
  38. pulumi_gcp/dataproc/outputs.py +461 -39
  39. pulumi_gcp/dns/__init__.py +1 -0
  40. pulumi_gcp/dns/_inputs.py +94 -0
  41. pulumi_gcp/dns/get_managed_zones.py +89 -0
  42. pulumi_gcp/dns/outputs.py +62 -0
  43. pulumi_gcp/edgecontainer/vpn_connection.py +10 -10
  44. pulumi_gcp/filestore/__init__.py +1 -0
  45. pulumi_gcp/filestore/get_instance.py +258 -0
  46. pulumi_gcp/filestore/instance.py +7 -7
  47. pulumi_gcp/filestore/outputs.py +126 -0
  48. pulumi_gcp/gkebackup/backup_plan.py +24 -8
  49. pulumi_gcp/gkebackup/restore_plan.py +36 -12
  50. pulumi_gcp/gkebackup/restore_plan_iam_binding.py +36 -12
  51. pulumi_gcp/gkebackup/restore_plan_iam_member.py +36 -12
  52. pulumi_gcp/gkebackup/restore_plan_iam_policy.py +36 -12
  53. pulumi_gcp/gkehub/_inputs.py +502 -2
  54. pulumi_gcp/gkehub/feature.py +34 -0
  55. pulumi_gcp/gkehub/feature_membership.py +177 -0
  56. pulumi_gcp/gkehub/membership.py +18 -6
  57. pulumi_gcp/gkehub/outputs.py +502 -2
  58. pulumi_gcp/gkeonprem/_inputs.py +21 -25
  59. pulumi_gcp/gkeonprem/outputs.py +34 -25
  60. pulumi_gcp/gkeonprem/v_mware_node_pool.py +34 -0
  61. pulumi_gcp/integrationconnectors/__init__.py +1 -0
  62. pulumi_gcp/integrationconnectors/endpoint_attachment.py +669 -0
  63. pulumi_gcp/kms/_inputs.py +42 -0
  64. pulumi_gcp/kms/crypto_key.py +36 -0
  65. pulumi_gcp/kms/get_kms_crypto_key.py +11 -1
  66. pulumi_gcp/kms/outputs.py +62 -0
  67. pulumi_gcp/logging/__init__.py +2 -0
  68. pulumi_gcp/logging/folder_settings.py +490 -0
  69. pulumi_gcp/logging/folder_sink.py +21 -21
  70. pulumi_gcp/logging/organization_settings.py +484 -0
  71. pulumi_gcp/logging/organization_sink.py +21 -21
  72. pulumi_gcp/logging/project_sink.py +7 -14
  73. pulumi_gcp/netapp/__init__.py +3 -0
  74. pulumi_gcp/netapp/active_directory.py +1413 -0
  75. pulumi_gcp/netapp/backup_vault.py +593 -0
  76. pulumi_gcp/netapp/kmsconfig.py +649 -0
  77. pulumi_gcp/orgpolicy/policy.py +28 -0
  78. pulumi_gcp/provider.py +20 -0
  79. pulumi_gcp/pubsub/subscription.py +29 -37
  80. pulumi_gcp/serviceaccount/account.py +47 -0
  81. pulumi_gcp/servicenetworking/connection.py +55 -1
  82. pulumi_gcp/sql/database_instance.py +2 -2
  83. pulumi_gcp/sql/ssl_cert.py +1 -1
  84. pulumi_gcp/sql/user.py +7 -7
  85. pulumi_gcp/storage/transfer_job.py +24 -5
  86. pulumi_gcp/vertex/__init__.py +3 -0
  87. pulumi_gcp/vertex/_inputs.py +339 -0
  88. pulumi_gcp/vertex/ai_feature_group.py +710 -0
  89. pulumi_gcp/vertex/ai_feature_online_store.py +962 -0
  90. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +804 -0
  91. pulumi_gcp/vertex/outputs.py +406 -0
  92. pulumi_gcp/vmwareengine/__init__.py +2 -0
  93. pulumi_gcp/vmwareengine/_inputs.py +84 -0
  94. pulumi_gcp/vmwareengine/external_access_rule.py +947 -0
  95. pulumi_gcp/vmwareengine/get_external_access_rule.py +245 -0
  96. pulumi_gcp/vmwareengine/outputs.py +146 -0
  97. pulumi_gcp/workflows/workflow.py +7 -7
  98. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/METADATA +1 -1
  99. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/RECORD +101 -82
  100. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/WHEEL +0 -0
  101. {pulumi_gcp-7.5.0a1704347630.dist-info → pulumi_gcp-7.6.0.dist-info}/top_level.txt +0 -0
@@ -39,8 +39,18 @@ __all__ = [
39
39
  'FeatureMembershipConfigmanagementPolicyController',
40
40
  'FeatureMembershipConfigmanagementPolicyControllerMonitoring',
41
41
  'FeatureMembershipMesh',
42
+ 'FeatureMembershipPolicycontroller',
43
+ 'FeatureMembershipPolicycontrollerPolicyControllerHubConfig',
44
+ 'FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring',
45
+ 'FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent',
46
+ 'FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary',
42
47
  'FeatureResourceState',
43
48
  'FeatureSpec',
49
+ 'FeatureSpecClusterupgrade',
50
+ 'FeatureSpecClusterupgradeGkeUpgradeOverride',
51
+ 'FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions',
52
+ 'FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade',
53
+ 'FeatureSpecClusterupgradePostConditions',
44
54
  'FeatureSpecFleetobservability',
45
55
  'FeatureSpecFleetobservabilityLoggingConfig',
46
56
  'FeatureSpecFleetobservabilityLoggingConfigDefaultConfig',
@@ -138,13 +148,17 @@ class FeatureFleetDefaultMemberConfigConfigmanagement(dict):
138
148
  return super().get(key, default)
139
149
 
140
150
  def __init__(__self__, *,
141
- config_sync: Optional['outputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSync'] = None):
151
+ config_sync: Optional['outputs.FeatureFleetDefaultMemberConfigConfigmanagementConfigSync'] = None,
152
+ version: Optional[str] = None):
142
153
  """
143
154
  :param 'FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncArgs' config_sync: ConfigSync configuration for the cluster
144
155
  Structure is documented below.
156
+ :param str version: Version of ACM installed
145
157
  """
146
158
  if config_sync is not None:
147
159
  pulumi.set(__self__, "config_sync", config_sync)
160
+ if version is not None:
161
+ pulumi.set(__self__, "version", version)
148
162
 
149
163
  @property
150
164
  @pulumi.getter(name="configSync")
@@ -155,6 +169,14 @@ class FeatureFleetDefaultMemberConfigConfigmanagement(dict):
155
169
  """
156
170
  return pulumi.get(self, "config_sync")
157
171
 
172
+ @property
173
+ @pulumi.getter
174
+ def version(self) -> Optional[str]:
175
+ """
176
+ Version of ACM installed
177
+ """
178
+ return pulumi.get(self, "version")
179
+
158
180
 
159
181
  @pulumi.output_type
160
182
  class FeatureFleetDefaultMemberConfigConfigmanagementConfigSync(dict):
@@ -393,7 +415,10 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOci(dict):
393
415
  :param str policy_dir: The absolute path of the directory that contains the local resources. Default: the root directory of the image
394
416
  :param str sync_repo: The OCI image repository URL for the package to sync from
395
417
  :param str sync_wait_secs: Period in seconds between consecutive syncs. Default: 15
396
- :param str version: Version of ACM installed
418
+ :param str version: (Optional, Deprecated)
419
+ Version of ACM installed
420
+
421
+ > **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.
397
422
  """
398
423
  pulumi.set(__self__, "secret_type", secret_type)
399
424
  if gcp_service_account_email is not None:
@@ -451,8 +476,14 @@ class FeatureFleetDefaultMemberConfigConfigmanagementConfigSyncOci(dict):
451
476
  @pulumi.getter
452
477
  def version(self) -> Optional[str]:
453
478
  """
479
+ (Optional, Deprecated)
454
480
  Version of ACM installed
481
+
482
+ > **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.
455
483
  """
484
+ 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)
485
+ 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.""")
486
+
456
487
  return pulumi.get(self, "version")
457
488
 
458
489
 
@@ -1751,12 +1782,18 @@ class FeatureMembershipConfigmanagementPolicyController(dict):
1751
1782
  class FeatureMembershipConfigmanagementPolicyControllerMonitoring(dict):
1752
1783
  def __init__(__self__, *,
1753
1784
  backends: Optional[Sequence[str]] = None):
1785
+ """
1786
+ :param Sequence[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.
1787
+ """
1754
1788
  if backends is not None:
1755
1789
  pulumi.set(__self__, "backends", backends)
1756
1790
 
1757
1791
  @property
1758
1792
  @pulumi.getter
1759
1793
  def backends(self) -> Optional[Sequence[str]]:
1794
+ """
1795
+ 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.
1796
+ """
1760
1797
  return pulumi.get(self, "backends")
1761
1798
 
1762
1799
 
@@ -1807,6 +1844,273 @@ class FeatureMembershipMesh(dict):
1807
1844
  return pulumi.get(self, "management")
1808
1845
 
1809
1846
 
1847
+ @pulumi.output_type
1848
+ class FeatureMembershipPolicycontroller(dict):
1849
+ @staticmethod
1850
+ def __key_warning(key: str):
1851
+ suggest = None
1852
+ if key == "policyControllerHubConfig":
1853
+ suggest = "policy_controller_hub_config"
1854
+
1855
+ if suggest:
1856
+ pulumi.log.warn(f"Key '{key}' not found in FeatureMembershipPolicycontroller. Access the value via the '{suggest}' property getter instead.")
1857
+
1858
+ def __getitem__(self, key: str) -> Any:
1859
+ FeatureMembershipPolicycontroller.__key_warning(key)
1860
+ return super().__getitem__(key)
1861
+
1862
+ def get(self, key: str, default = None) -> Any:
1863
+ FeatureMembershipPolicycontroller.__key_warning(key)
1864
+ return super().get(key, default)
1865
+
1866
+ def __init__(__self__, *,
1867
+ policy_controller_hub_config: 'outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfig',
1868
+ version: Optional[str] = None):
1869
+ """
1870
+ :param 'FeatureMembershipPolicycontrollerPolicyControllerHubConfigArgs' policy_controller_hub_config: Policy Controller configuration for the cluster. Structure is documented below.
1871
+ :param str version: Version of Policy Controller to install. Defaults to the latest version.
1872
+ """
1873
+ pulumi.set(__self__, "policy_controller_hub_config", policy_controller_hub_config)
1874
+ if version is not None:
1875
+ pulumi.set(__self__, "version", version)
1876
+
1877
+ @property
1878
+ @pulumi.getter(name="policyControllerHubConfig")
1879
+ def policy_controller_hub_config(self) -> 'outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfig':
1880
+ """
1881
+ Policy Controller configuration for the cluster. Structure is documented below.
1882
+ """
1883
+ return pulumi.get(self, "policy_controller_hub_config")
1884
+
1885
+ @property
1886
+ @pulumi.getter
1887
+ def version(self) -> Optional[str]:
1888
+ """
1889
+ Version of Policy Controller to install. Defaults to the latest version.
1890
+ """
1891
+ return pulumi.get(self, "version")
1892
+
1893
+
1894
+ @pulumi.output_type
1895
+ class FeatureMembershipPolicycontrollerPolicyControllerHubConfig(dict):
1896
+ @staticmethod
1897
+ def __key_warning(key: str):
1898
+ suggest = None
1899
+ if key == "auditIntervalSeconds":
1900
+ suggest = "audit_interval_seconds"
1901
+ elif key == "constraintViolationLimit":
1902
+ suggest = "constraint_violation_limit"
1903
+ elif key == "exemptableNamespaces":
1904
+ suggest = "exemptable_namespaces"
1905
+ elif key == "installSpec":
1906
+ suggest = "install_spec"
1907
+ elif key == "logDeniesEnabled":
1908
+ suggest = "log_denies_enabled"
1909
+ elif key == "mutationEnabled":
1910
+ suggest = "mutation_enabled"
1911
+ elif key == "policyContent":
1912
+ suggest = "policy_content"
1913
+ elif key == "referentialRulesEnabled":
1914
+ suggest = "referential_rules_enabled"
1915
+
1916
+ if suggest:
1917
+ pulumi.log.warn(f"Key '{key}' not found in FeatureMembershipPolicycontrollerPolicyControllerHubConfig. Access the value via the '{suggest}' property getter instead.")
1918
+
1919
+ def __getitem__(self, key: str) -> Any:
1920
+ FeatureMembershipPolicycontrollerPolicyControllerHubConfig.__key_warning(key)
1921
+ return super().__getitem__(key)
1922
+
1923
+ def get(self, key: str, default = None) -> Any:
1924
+ FeatureMembershipPolicycontrollerPolicyControllerHubConfig.__key_warning(key)
1925
+ return super().get(key, default)
1926
+
1927
+ def __init__(__self__, *,
1928
+ audit_interval_seconds: Optional[int] = None,
1929
+ constraint_violation_limit: Optional[int] = None,
1930
+ exemptable_namespaces: Optional[Sequence[str]] = None,
1931
+ install_spec: Optional[str] = None,
1932
+ log_denies_enabled: Optional[bool] = None,
1933
+ monitoring: Optional['outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring'] = None,
1934
+ mutation_enabled: Optional[bool] = None,
1935
+ policy_content: Optional['outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent'] = None,
1936
+ referential_rules_enabled: Optional[bool] = None):
1937
+ """
1938
+ :param int audit_interval_seconds: Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
1939
+ :param 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.
1940
+ :param Sequence[str] exemptable_namespaces: The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
1941
+ :param 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`.
1942
+ :param bool log_denies_enabled: Logs all denies and dry run failures.
1943
+ :param 'FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoringArgs' monitoring: Specifies the backends Policy Controller should export metrics to. Structure is documented below.
1944
+ :param bool mutation_enabled: Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.
1945
+ :param 'FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentArgs' policy_content: Specifies the desired policy content on the cluster. Structure is documented below.
1946
+ :param bool referential_rules_enabled: Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
1947
+ """
1948
+ if audit_interval_seconds is not None:
1949
+ pulumi.set(__self__, "audit_interval_seconds", audit_interval_seconds)
1950
+ if constraint_violation_limit is not None:
1951
+ pulumi.set(__self__, "constraint_violation_limit", constraint_violation_limit)
1952
+ if exemptable_namespaces is not None:
1953
+ pulumi.set(__self__, "exemptable_namespaces", exemptable_namespaces)
1954
+ if install_spec is not None:
1955
+ pulumi.set(__self__, "install_spec", install_spec)
1956
+ if log_denies_enabled is not None:
1957
+ pulumi.set(__self__, "log_denies_enabled", log_denies_enabled)
1958
+ if monitoring is not None:
1959
+ pulumi.set(__self__, "monitoring", monitoring)
1960
+ if mutation_enabled is not None:
1961
+ pulumi.set(__self__, "mutation_enabled", mutation_enabled)
1962
+ if policy_content is not None:
1963
+ pulumi.set(__self__, "policy_content", policy_content)
1964
+ if referential_rules_enabled is not None:
1965
+ pulumi.set(__self__, "referential_rules_enabled", referential_rules_enabled)
1966
+
1967
+ @property
1968
+ @pulumi.getter(name="auditIntervalSeconds")
1969
+ def audit_interval_seconds(self) -> Optional[int]:
1970
+ """
1971
+ Sets the interval for Policy Controller Audit Scans (in seconds). When set to 0, this disables audit functionality altogether.
1972
+ """
1973
+ return pulumi.get(self, "audit_interval_seconds")
1974
+
1975
+ @property
1976
+ @pulumi.getter(name="constraintViolationLimit")
1977
+ def constraint_violation_limit(self) -> Optional[int]:
1978
+ """
1979
+ The maximum number of audit violations to be stored in a constraint. If not set, the default of 20 will be used.
1980
+ """
1981
+ return pulumi.get(self, "constraint_violation_limit")
1982
+
1983
+ @property
1984
+ @pulumi.getter(name="exemptableNamespaces")
1985
+ def exemptable_namespaces(self) -> Optional[Sequence[str]]:
1986
+ """
1987
+ The set of namespaces that are excluded from Policy Controller checks. Namespaces do not need to currently exist on the cluster.
1988
+ """
1989
+ return pulumi.get(self, "exemptable_namespaces")
1990
+
1991
+ @property
1992
+ @pulumi.getter(name="installSpec")
1993
+ def install_spec(self) -> Optional[str]:
1994
+ """
1995
+ 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`.
1996
+ """
1997
+ return pulumi.get(self, "install_spec")
1998
+
1999
+ @property
2000
+ @pulumi.getter(name="logDeniesEnabled")
2001
+ def log_denies_enabled(self) -> Optional[bool]:
2002
+ """
2003
+ Logs all denies and dry run failures.
2004
+ """
2005
+ return pulumi.get(self, "log_denies_enabled")
2006
+
2007
+ @property
2008
+ @pulumi.getter
2009
+ def monitoring(self) -> Optional['outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring']:
2010
+ """
2011
+ Specifies the backends Policy Controller should export metrics to. Structure is documented below.
2012
+ """
2013
+ return pulumi.get(self, "monitoring")
2014
+
2015
+ @property
2016
+ @pulumi.getter(name="mutationEnabled")
2017
+ def mutation_enabled(self) -> Optional[bool]:
2018
+ """
2019
+ Enables mutation in policy controller. If true, mutation CRDs, webhook, and controller deployment will be deployed to the cluster.
2020
+ """
2021
+ return pulumi.get(self, "mutation_enabled")
2022
+
2023
+ @property
2024
+ @pulumi.getter(name="policyContent")
2025
+ def policy_content(self) -> Optional['outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent']:
2026
+ """
2027
+ Specifies the desired policy content on the cluster. Structure is documented below.
2028
+ """
2029
+ return pulumi.get(self, "policy_content")
2030
+
2031
+ @property
2032
+ @pulumi.getter(name="referentialRulesEnabled")
2033
+ def referential_rules_enabled(self) -> Optional[bool]:
2034
+ """
2035
+ Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
2036
+ """
2037
+ return pulumi.get(self, "referential_rules_enabled")
2038
+
2039
+
2040
+ @pulumi.output_type
2041
+ class FeatureMembershipPolicycontrollerPolicyControllerHubConfigMonitoring(dict):
2042
+ def __init__(__self__, *,
2043
+ backends: Optional[Sequence[str]] = None):
2044
+ """
2045
+ :param Sequence[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.
2046
+ """
2047
+ if backends is not None:
2048
+ pulumi.set(__self__, "backends", backends)
2049
+
2050
+ @property
2051
+ @pulumi.getter
2052
+ def backends(self) -> Optional[Sequence[str]]:
2053
+ """
2054
+ 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.
2055
+ """
2056
+ return pulumi.get(self, "backends")
2057
+
2058
+
2059
+ @pulumi.output_type
2060
+ class FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent(dict):
2061
+ @staticmethod
2062
+ def __key_warning(key: str):
2063
+ suggest = None
2064
+ if key == "templateLibrary":
2065
+ suggest = "template_library"
2066
+
2067
+ if suggest:
2068
+ pulumi.log.warn(f"Key '{key}' not found in FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent. Access the value via the '{suggest}' property getter instead.")
2069
+
2070
+ def __getitem__(self, key: str) -> Any:
2071
+ FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent.__key_warning(key)
2072
+ return super().__getitem__(key)
2073
+
2074
+ def get(self, key: str, default = None) -> Any:
2075
+ FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContent.__key_warning(key)
2076
+ return super().get(key, default)
2077
+
2078
+ def __init__(__self__, *,
2079
+ template_library: Optional['outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary'] = None):
2080
+ """
2081
+ :param 'FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibraryArgs' template_library: Configures the installation of the Template Library. Structure is documented below.
2082
+ """
2083
+ if template_library is not None:
2084
+ pulumi.set(__self__, "template_library", template_library)
2085
+
2086
+ @property
2087
+ @pulumi.getter(name="templateLibrary")
2088
+ def template_library(self) -> Optional['outputs.FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary']:
2089
+ """
2090
+ Configures the installation of the Template Library. Structure is documented below.
2091
+ """
2092
+ return pulumi.get(self, "template_library")
2093
+
2094
+
2095
+ @pulumi.output_type
2096
+ class FeatureMembershipPolicycontrollerPolicyControllerHubConfigPolicyContentTemplateLibrary(dict):
2097
+ def __init__(__self__, *,
2098
+ installation: Optional[str] = None):
2099
+ """
2100
+ :param 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`.
2101
+ """
2102
+ if installation is not None:
2103
+ pulumi.set(__self__, "installation", installation)
2104
+
2105
+ @property
2106
+ @pulumi.getter
2107
+ def installation(self) -> Optional[str]:
2108
+ """
2109
+ 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`.
2110
+ """
2111
+ return pulumi.get(self, "installation")
2112
+
2113
+
1810
2114
  @pulumi.output_type
1811
2115
  class FeatureResourceState(dict):
1812
2116
  @staticmethod
@@ -1864,19 +2168,33 @@ class FeatureResourceState(dict):
1864
2168
  @pulumi.output_type
1865
2169
  class FeatureSpec(dict):
1866
2170
  def __init__(__self__, *,
2171
+ clusterupgrade: Optional['outputs.FeatureSpecClusterupgrade'] = None,
1867
2172
  fleetobservability: Optional['outputs.FeatureSpecFleetobservability'] = None,
1868
2173
  multiclusteringress: Optional['outputs.FeatureSpecMulticlusteringress'] = None):
1869
2174
  """
2175
+ :param 'FeatureSpecClusterupgradeArgs' clusterupgrade: Clusterupgrade feature spec.
2176
+ Structure is documented below.
1870
2177
  :param 'FeatureSpecFleetobservabilityArgs' fleetobservability: Fleet Observability feature spec.
1871
2178
  Structure is documented below.
1872
2179
  :param 'FeatureSpecMulticlusteringressArgs' multiclusteringress: Multicluster Ingress-specific spec.
1873
2180
  Structure is documented below.
1874
2181
  """
2182
+ if clusterupgrade is not None:
2183
+ pulumi.set(__self__, "clusterupgrade", clusterupgrade)
1875
2184
  if fleetobservability is not None:
1876
2185
  pulumi.set(__self__, "fleetobservability", fleetobservability)
1877
2186
  if multiclusteringress is not None:
1878
2187
  pulumi.set(__self__, "multiclusteringress", multiclusteringress)
1879
2188
 
2189
+ @property
2190
+ @pulumi.getter
2191
+ def clusterupgrade(self) -> Optional['outputs.FeatureSpecClusterupgrade']:
2192
+ """
2193
+ Clusterupgrade feature spec.
2194
+ Structure is documented below.
2195
+ """
2196
+ return pulumi.get(self, "clusterupgrade")
2197
+
1880
2198
  @property
1881
2199
  @pulumi.getter
1882
2200
  def fleetobservability(self) -> Optional['outputs.FeatureSpecFleetobservability']:
@@ -1896,6 +2214,188 @@ class FeatureSpec(dict):
1896
2214
  return pulumi.get(self, "multiclusteringress")
1897
2215
 
1898
2216
 
2217
+ @pulumi.output_type
2218
+ class FeatureSpecClusterupgrade(dict):
2219
+ @staticmethod
2220
+ def __key_warning(key: str):
2221
+ suggest = None
2222
+ if key == "upstreamFleets":
2223
+ suggest = "upstream_fleets"
2224
+ elif key == "gkeUpgradeOverrides":
2225
+ suggest = "gke_upgrade_overrides"
2226
+ elif key == "postConditions":
2227
+ suggest = "post_conditions"
2228
+
2229
+ if suggest:
2230
+ pulumi.log.warn(f"Key '{key}' not found in FeatureSpecClusterupgrade. Access the value via the '{suggest}' property getter instead.")
2231
+
2232
+ def __getitem__(self, key: str) -> Any:
2233
+ FeatureSpecClusterupgrade.__key_warning(key)
2234
+ return super().__getitem__(key)
2235
+
2236
+ def get(self, key: str, default = None) -> Any:
2237
+ FeatureSpecClusterupgrade.__key_warning(key)
2238
+ return super().get(key, default)
2239
+
2240
+ def __init__(__self__, *,
2241
+ upstream_fleets: Sequence[str],
2242
+ gke_upgrade_overrides: Optional[Sequence['outputs.FeatureSpecClusterupgradeGkeUpgradeOverride']] = None,
2243
+ post_conditions: Optional['outputs.FeatureSpecClusterupgradePostConditions'] = None):
2244
+ """
2245
+ :param Sequence[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.
2246
+ :param Sequence['FeatureSpecClusterupgradeGkeUpgradeOverrideArgs'] gke_upgrade_overrides: Configuration overrides for individual upgrades.
2247
+ Structure is documented below.
2248
+ :param 'FeatureSpecClusterupgradePostConditionsArgs' post_conditions: Post conditions to override for the specified upgrade.
2249
+ Structure is documented below.
2250
+ """
2251
+ pulumi.set(__self__, "upstream_fleets", upstream_fleets)
2252
+ if gke_upgrade_overrides is not None:
2253
+ pulumi.set(__self__, "gke_upgrade_overrides", gke_upgrade_overrides)
2254
+ if post_conditions is not None:
2255
+ pulumi.set(__self__, "post_conditions", post_conditions)
2256
+
2257
+ @property
2258
+ @pulumi.getter(name="upstreamFleets")
2259
+ def upstream_fleets(self) -> Sequence[str]:
2260
+ """
2261
+ 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.
2262
+ """
2263
+ return pulumi.get(self, "upstream_fleets")
2264
+
2265
+ @property
2266
+ @pulumi.getter(name="gkeUpgradeOverrides")
2267
+ def gke_upgrade_overrides(self) -> Optional[Sequence['outputs.FeatureSpecClusterupgradeGkeUpgradeOverride']]:
2268
+ """
2269
+ Configuration overrides for individual upgrades.
2270
+ Structure is documented below.
2271
+ """
2272
+ return pulumi.get(self, "gke_upgrade_overrides")
2273
+
2274
+ @property
2275
+ @pulumi.getter(name="postConditions")
2276
+ def post_conditions(self) -> Optional['outputs.FeatureSpecClusterupgradePostConditions']:
2277
+ """
2278
+ Post conditions to override for the specified upgrade.
2279
+ Structure is documented below.
2280
+ """
2281
+ return pulumi.get(self, "post_conditions")
2282
+
2283
+
2284
+ @pulumi.output_type
2285
+ class FeatureSpecClusterupgradeGkeUpgradeOverride(dict):
2286
+ @staticmethod
2287
+ def __key_warning(key: str):
2288
+ suggest = None
2289
+ if key == "postConditions":
2290
+ suggest = "post_conditions"
2291
+
2292
+ if suggest:
2293
+ pulumi.log.warn(f"Key '{key}' not found in FeatureSpecClusterupgradeGkeUpgradeOverride. Access the value via the '{suggest}' property getter instead.")
2294
+
2295
+ def __getitem__(self, key: str) -> Any:
2296
+ FeatureSpecClusterupgradeGkeUpgradeOverride.__key_warning(key)
2297
+ return super().__getitem__(key)
2298
+
2299
+ def get(self, key: str, default = None) -> Any:
2300
+ FeatureSpecClusterupgradeGkeUpgradeOverride.__key_warning(key)
2301
+ return super().get(key, default)
2302
+
2303
+ def __init__(__self__, *,
2304
+ post_conditions: 'outputs.FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions',
2305
+ upgrade: 'outputs.FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade'):
2306
+ """
2307
+ :param 'FeatureSpecClusterupgradeGkeUpgradeOverridePostConditionsArgs' post_conditions: Post conditions to override for the specified upgrade.
2308
+ Structure is documented below.
2309
+ :param 'FeatureSpecClusterupgradeGkeUpgradeOverrideUpgradeArgs' upgrade: Which upgrade to override.
2310
+ Structure is documented below.
2311
+ """
2312
+ pulumi.set(__self__, "post_conditions", post_conditions)
2313
+ pulumi.set(__self__, "upgrade", upgrade)
2314
+
2315
+ @property
2316
+ @pulumi.getter(name="postConditions")
2317
+ def post_conditions(self) -> 'outputs.FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions':
2318
+ """
2319
+ Post conditions to override for the specified upgrade.
2320
+ Structure is documented below.
2321
+ """
2322
+ return pulumi.get(self, "post_conditions")
2323
+
2324
+ @property
2325
+ @pulumi.getter
2326
+ def upgrade(self) -> 'outputs.FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade':
2327
+ """
2328
+ Which upgrade to override.
2329
+ Structure is documented below.
2330
+ """
2331
+ return pulumi.get(self, "upgrade")
2332
+
2333
+
2334
+ @pulumi.output_type
2335
+ class FeatureSpecClusterupgradeGkeUpgradeOverridePostConditions(dict):
2336
+ def __init__(__self__, *,
2337
+ soaking: str):
2338
+ """
2339
+ :param str soaking: Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
2340
+ """
2341
+ pulumi.set(__self__, "soaking", soaking)
2342
+
2343
+ @property
2344
+ @pulumi.getter
2345
+ def soaking(self) -> str:
2346
+ """
2347
+ Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
2348
+ """
2349
+ return pulumi.get(self, "soaking")
2350
+
2351
+
2352
+ @pulumi.output_type
2353
+ class FeatureSpecClusterupgradeGkeUpgradeOverrideUpgrade(dict):
2354
+ def __init__(__self__, *,
2355
+ name: str,
2356
+ version: str):
2357
+ """
2358
+ :param str name: Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
2359
+ :param 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.
2360
+ """
2361
+ pulumi.set(__self__, "name", name)
2362
+ pulumi.set(__self__, "version", version)
2363
+
2364
+ @property
2365
+ @pulumi.getter
2366
+ def name(self) -> str:
2367
+ """
2368
+ Name of the upgrade, e.g., "k8s_control_plane". It should be a valid upgrade name. It must not exceet 99 characters.
2369
+ """
2370
+ return pulumi.get(self, "name")
2371
+
2372
+ @property
2373
+ @pulumi.getter
2374
+ def version(self) -> str:
2375
+ """
2376
+ Version of the upgrade, e.g., "1.22.1-gke.100". It should be a valid version. It must not exceet 99 characters.
2377
+ """
2378
+ return pulumi.get(self, "version")
2379
+
2380
+
2381
+ @pulumi.output_type
2382
+ class FeatureSpecClusterupgradePostConditions(dict):
2383
+ def __init__(__self__, *,
2384
+ soaking: str):
2385
+ """
2386
+ :param str soaking: Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
2387
+ """
2388
+ pulumi.set(__self__, "soaking", soaking)
2389
+
2390
+ @property
2391
+ @pulumi.getter
2392
+ def soaking(self) -> str:
2393
+ """
2394
+ Amount of time to "soak" after a rollout has been finished before marking it COMPLETE. Cannot exceed 30 days.
2395
+ """
2396
+ return pulumi.get(self, "soaking")
2397
+
2398
+
1899
2399
  @pulumi.output_type
1900
2400
  class FeatureSpecFleetobservability(dict):
1901
2401
  @staticmethod