pulumi-harness 0.8.0a1755712204__py3-none-any.whl → 0.8.0a1755714852__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.

Potentially problematic release.


This version of pulumi-harness might be problematic. Click here for more details.

Files changed (223) hide show
  1. pulumi_harness/__init__.py +67 -0
  2. pulumi_harness/add_user_to_group.py +4 -0
  3. pulumi_harness/application.py +4 -0
  4. pulumi_harness/application_git_sync.py +4 -0
  5. pulumi_harness/chaos/__init__.py +21 -0
  6. pulumi_harness/chaos/_inputs.py +2702 -0
  7. pulumi_harness/chaos/get_hub.py +324 -0
  8. pulumi_harness/chaos/get_image_registry.py +339 -0
  9. pulumi_harness/chaos/get_infrastructure_v2.py +684 -0
  10. pulumi_harness/chaos/get_security_governance_condition.py +261 -0
  11. pulumi_harness/chaos/get_security_governance_rule.py +261 -0
  12. pulumi_harness/chaos/hub.py +806 -0
  13. pulumi_harness/chaos/hub_sync.py +274 -0
  14. pulumi_harness/chaos/image_registry.py +730 -0
  15. pulumi_harness/chaos/infrastructure_v2.py +1670 -0
  16. pulumi_harness/chaos/outputs.py +2276 -0
  17. pulumi_harness/chaos/security_governance_condition.py +795 -0
  18. pulumi_harness/chaos/security_governance_rule.py +688 -0
  19. pulumi_harness/chaos_infrastructure.py +10 -4
  20. pulumi_harness/cloudprovider/aws.py +4 -0
  21. pulumi_harness/cloudprovider/azure.py +4 -0
  22. pulumi_harness/cloudprovider/datacenter.py +4 -0
  23. pulumi_harness/cloudprovider/kubernetes.py +4 -0
  24. pulumi_harness/cloudprovider/spot.py +4 -0
  25. pulumi_harness/cloudprovider/tanzu.py +4 -0
  26. pulumi_harness/cluster/_inputs.py +540 -0
  27. pulumi_harness/cluster/get_orchestrator_config.py +46 -6
  28. pulumi_harness/cluster/orchestrator.py +0 -16
  29. pulumi_harness/cluster/orchestrator_config.py +253 -5
  30. pulumi_harness/cluster/outputs.py +394 -0
  31. pulumi_harness/delegate_approval.py +4 -0
  32. pulumi_harness/encrypted_text.py +4 -0
  33. pulumi_harness/environment.py +4 -0
  34. pulumi_harness/get_current_account.py +3 -3
  35. pulumi_harness/git_connector.py +4 -0
  36. pulumi_harness/governance/rule.py +4 -0
  37. pulumi_harness/governance/rule_enforcement.py +4 -0
  38. pulumi_harness/infrastructure_definition.py +4 -0
  39. pulumi_harness/platform/_inputs.py +537 -469
  40. pulumi_harness/platform/app_dynamics_connector.py +4 -0
  41. pulumi_harness/platform/artifactory_connector.py +4 -0
  42. pulumi_harness/platform/aws_cc_connector.py +4 -0
  43. pulumi_harness/platform/aws_connector.py +11 -7
  44. pulumi_harness/platform/aws_kms_connector.py +70 -20
  45. pulumi_harness/platform/aws_secret_manager_connector.py +13 -9
  46. pulumi_harness/platform/azure_cloud_cost_connector.py +51 -0
  47. pulumi_harness/platform/azure_cloud_provider_connector.py +4 -0
  48. pulumi_harness/platform/azure_key_vault_connector.py +8 -0
  49. pulumi_harness/platform/bitbucket_connector.py +4 -0
  50. pulumi_harness/platform/connector_azure_artifacts.py +4 -2
  51. pulumi_harness/platform/connector_azure_repo.py +11 -16
  52. pulumi_harness/platform/connector_custom_secret_manager.py +51 -156
  53. pulumi_harness/platform/connector_customhealthsource.py +4 -0
  54. pulumi_harness/platform/connector_gcp_kms.py +4 -0
  55. pulumi_harness/platform/connector_jdbc.py +4 -0
  56. pulumi_harness/platform/connector_pdc.py +13 -13
  57. pulumi_harness/platform/connector_rancher.py +4 -0
  58. pulumi_harness/platform/dashboard_folders.py +2 -2
  59. pulumi_harness/platform/dashboards.py +10 -14
  60. pulumi_harness/platform/datadog_connector.py +4 -0
  61. pulumi_harness/platform/db_instance.py +4 -0
  62. pulumi_harness/platform/db_schema.py +25 -21
  63. pulumi_harness/platform/docker_connector.py +4 -4
  64. pulumi_harness/platform/dynatrace_connector.py +4 -0
  65. pulumi_harness/platform/elasticsearch_connector.py +19 -15
  66. pulumi_harness/platform/environment.py +25 -530
  67. pulumi_harness/platform/environment_clusters_mapping.py +8 -0
  68. pulumi_harness/platform/environment_group.py +13 -100
  69. pulumi_harness/platform/environment_service_overrides.py +20 -186
  70. pulumi_harness/platform/feature_flag_target_group.py +8 -8
  71. pulumi_harness/platform/file_store_file.py +11 -7
  72. pulumi_harness/platform/file_store_folder.py +11 -7
  73. pulumi_harness/platform/filters.py +8 -0
  74. pulumi_harness/platform/gcp_cloud_cost_connector.py +4 -0
  75. pulumi_harness/platform/gcp_connector.py +4 -0
  76. pulumi_harness/platform/gcp_secret_manager_connector.py +6 -92
  77. pulumi_harness/platform/get_api_key.py +8 -38
  78. pulumi_harness/platform/get_aws_kms_connector.py +16 -1
  79. pulumi_harness/platform/get_aws_secret_manager_connector.py +7 -3
  80. pulumi_harness/platform/get_azure_cloud_cost_connector.py +12 -1
  81. pulumi_harness/platform/get_connector_azure_repo.py +53 -2
  82. pulumi_harness/platform/get_connector_custom_secret_manager.py +28 -32
  83. pulumi_harness/platform/get_connector_pdc.py +3 -3
  84. pulumi_harness/platform/get_current_account.py +2 -20
  85. pulumi_harness/platform/get_dashboard_folders.py +16 -5
  86. pulumi_harness/platform/get_dashboards.py +15 -7
  87. pulumi_harness/platform/get_db_instance.py +5 -0
  88. pulumi_harness/platform/get_db_schema.py +12 -15
  89. pulumi_harness/platform/get_environment.py +5 -0
  90. pulumi_harness/platform/get_environment_list.py +12 -58
  91. pulumi_harness/platform/get_environment_service_overrides.py +6 -6
  92. pulumi_harness/platform/get_filters.py +4 -0
  93. pulumi_harness/platform/get_gcp_secret_manager_connector.py +4 -0
  94. pulumi_harness/platform/get_github_connector.py +3 -0
  95. pulumi_harness/platform/get_gitops_applications.py +8 -0
  96. pulumi_harness/platform/get_gitops_filters.py +25 -10
  97. pulumi_harness/platform/get_gitx_webhook.py +3 -3
  98. pulumi_harness/platform/get_har_registry.py +46 -10
  99. pulumi_harness/platform/get_iacm_default_pipeline.py +24 -0
  100. pulumi_harness/platform/get_infra_variable_set.py +34 -25
  101. pulumi_harness/platform/get_infrastructure.py +5 -0
  102. pulumi_harness/platform/get_manual_freeze.py +0 -24
  103. pulumi_harness/platform/get_monitored_service.py +22 -0
  104. pulumi_harness/platform/get_organization.py +4 -0
  105. pulumi_harness/platform/get_overrides.py +66 -2
  106. pulumi_harness/platform/get_pagerduty_connector.py +4 -0
  107. pulumi_harness/platform/get_pipeline_list.py +18 -63
  108. pulumi_harness/platform/get_project.py +4 -0
  109. pulumi_harness/platform/get_project_list.py +18 -63
  110. pulumi_harness/platform/get_provider.py +11 -2
  111. pulumi_harness/platform/get_resource_group.py +4 -0
  112. pulumi_harness/platform/get_role_assignments.py +6 -2
  113. pulumi_harness/platform/get_roles.py +4 -0
  114. pulumi_harness/platform/get_secret_file.py +4 -0
  115. pulumi_harness/platform/get_secret_sshkey.py +4 -0
  116. pulumi_harness/platform/get_service.py +5 -0
  117. pulumi_harness/platform/get_service_account.py +4 -0
  118. pulumi_harness/platform/get_service_list.py +22 -58
  119. pulumi_harness/platform/get_service_overrides_v2.py +42 -0
  120. pulumi_harness/platform/get_slo.py +22 -0
  121. pulumi_harness/platform/get_token.py +2 -0
  122. pulumi_harness/platform/get_user.py +4 -0
  123. pulumi_harness/platform/get_usergroup.py +4 -0
  124. pulumi_harness/platform/get_variables.py +4 -0
  125. pulumi_harness/platform/get_vault_connector.py +5 -1
  126. pulumi_harness/platform/get_workspace.py +8 -3
  127. pulumi_harness/platform/git_connector.py +4 -0
  128. pulumi_harness/platform/git_ops_agent.py +4 -0
  129. pulumi_harness/platform/git_ops_applications.py +4 -0
  130. pulumi_harness/platform/git_ops_cluster.py +51 -0
  131. pulumi_harness/platform/git_ops_gnupg.py +4 -0
  132. pulumi_harness/platform/git_ops_repo_cert.py +4 -0
  133. pulumi_harness/platform/git_ops_repo_cred.py +4 -0
  134. pulumi_harness/platform/git_ops_repository.py +4 -0
  135. pulumi_harness/platform/github_connector.py +11 -7
  136. pulumi_harness/platform/gitlab_connector.py +4 -0
  137. pulumi_harness/platform/gitops_app_project.py +4 -0
  138. pulumi_harness/platform/gitops_app_project_mapping.py +4 -0
  139. pulumi_harness/platform/gitops_applicationset.py +96 -0
  140. pulumi_harness/platform/gitops_filters.py +51 -179
  141. pulumi_harness/platform/gitx_webhook.py +4 -0
  142. pulumi_harness/platform/har_registry.py +42 -43
  143. pulumi_harness/platform/helm_connector.py +4 -0
  144. pulumi_harness/platform/iacm_default_pipeline.py +28 -0
  145. pulumi_harness/platform/infra_module.py +6 -2
  146. pulumi_harness/platform/infra_variable_set.py +38 -22
  147. pulumi_harness/platform/infrastructure.py +18 -240
  148. pulumi_harness/platform/input_set.py +4 -0
  149. pulumi_harness/platform/jenkins_connector.py +8 -0
  150. pulumi_harness/platform/jira_connector.py +4 -2
  151. pulumi_harness/platform/kubernetes_cloud_cost_connector.py +35 -11
  152. pulumi_harness/platform/kubernetes_connector.py +4 -0
  153. pulumi_harness/platform/manual_freeze.py +6 -154
  154. pulumi_harness/platform/monitored_service.py +16 -12
  155. pulumi_harness/platform/newrelic_connector.py +4 -0
  156. pulumi_harness/platform/nexus_connector.py +4 -4
  157. pulumi_harness/platform/notification_rule.py +4 -0
  158. pulumi_harness/platform/oci_helm_connector.py +4 -0
  159. pulumi_harness/platform/organization.py +8 -0
  160. pulumi_harness/platform/outputs.py +481 -219
  161. pulumi_harness/platform/overrides.py +48 -2
  162. pulumi_harness/platform/pagerduty_connector.py +8 -0
  163. pulumi_harness/platform/pipeline.py +18 -2
  164. pulumi_harness/platform/pipeline_filters.py +4 -0
  165. pulumi_harness/platform/policy.py +6 -26
  166. pulumi_harness/platform/policy_set.py +4 -0
  167. pulumi_harness/platform/project.py +8 -0
  168. pulumi_harness/platform/prometheus_connector.py +4 -0
  169. pulumi_harness/platform/provider.py +4 -2
  170. pulumi_harness/platform/repo.py +40 -0
  171. pulumi_harness/platform/resource_group.py +15 -7
  172. pulumi_harness/platform/role_assignments.py +20 -16
  173. pulumi_harness/platform/roles.py +8 -0
  174. pulumi_harness/platform/secret_file.py +8 -0
  175. pulumi_harness/platform/secret_sshkey.py +6 -2
  176. pulumi_harness/platform/secret_text.py +78 -0
  177. pulumi_harness/platform/service.py +13 -494
  178. pulumi_harness/platform/service_account.py +8 -0
  179. pulumi_harness/platform/service_now_connector.py +4 -2
  180. pulumi_harness/platform/service_overrides_v2.py +4 -204
  181. pulumi_harness/platform/slo.py +12 -18
  182. pulumi_harness/platform/splunk_connector.py +4 -0
  183. pulumi_harness/platform/spot_connector.py +4 -0
  184. pulumi_harness/platform/sumologic_connector.py +4 -0
  185. pulumi_harness/platform/tas_connector.py +4 -0
  186. pulumi_harness/platform/template.py +25 -21
  187. pulumi_harness/platform/template_filters.py +4 -0
  188. pulumi_harness/platform/terraform_cloud_connector.py +4 -0
  189. pulumi_harness/platform/token.py +6 -2
  190. pulumi_harness/platform/triggers.py +8 -0
  191. pulumi_harness/platform/user.py +13 -9
  192. pulumi_harness/platform/usergroup.py +71 -7
  193. pulumi_harness/platform/variables.py +8 -0
  194. pulumi_harness/platform/vault_connector.py +15 -7
  195. pulumi_harness/platform/workspace.py +19 -7
  196. pulumi_harness/platform_api_key.py +6 -66
  197. pulumi_harness/platform_ccm_filters.py +11 -7
  198. pulumi_harness/pulumi-plugin.json +1 -1
  199. pulumi_harness/service/__init__.py +4 -0
  200. pulumi_harness/service/_inputs.py +1729 -0
  201. pulumi_harness/service/ami.py +4 -0
  202. pulumi_harness/service/codedeploy.py +4 -0
  203. pulumi_harness/service/discovery_agent.py +1211 -0
  204. pulumi_harness/service/discovery_setting.py +384 -0
  205. pulumi_harness/service/ecs.py +4 -0
  206. pulumi_harness/service/get_discovery_agent.py +443 -0
  207. pulumi_harness/service/get_discovery_setting.py +199 -0
  208. pulumi_harness/service/helm.py +4 -0
  209. pulumi_harness/service/kubernetes.py +4 -0
  210. pulumi_harness/service/lambda_.py +4 -0
  211. pulumi_harness/service/outputs.py +2367 -117
  212. pulumi_harness/service/ssh.py +4 -0
  213. pulumi_harness/service/tanzu.py +4 -0
  214. pulumi_harness/service/winrm.py +4 -0
  215. pulumi_harness/ssh_credential.py +4 -0
  216. pulumi_harness/user.py +4 -0
  217. pulumi_harness/user_group.py +4 -0
  218. pulumi_harness/yaml_config.py +4 -0
  219. {pulumi_harness-0.8.0a1755712204.dist-info → pulumi_harness-0.8.0a1755714852.dist-info}/METADATA +1 -1
  220. pulumi_harness-0.8.0a1755714852.dist-info/RECORD +355 -0
  221. pulumi_harness-0.8.0a1755712204.dist-info/RECORD +0 -337
  222. {pulumi_harness-0.8.0a1755712204.dist-info → pulumi_harness-0.8.0a1755714852.dist-info}/WHEEL +0 -0
  223. {pulumi_harness-0.8.0a1755712204.dist-info → pulumi_harness-0.8.0a1755714852.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2276 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'ImageRegistryCustomImage',
20
+ 'InfrastructureV2Env',
21
+ 'InfrastructureV2Identifier',
22
+ 'InfrastructureV2ImageRegistry',
23
+ 'InfrastructureV2ImageRegistryCustomImage',
24
+ 'InfrastructureV2ImageRegistryIdentifier',
25
+ 'InfrastructureV2Mtls',
26
+ 'InfrastructureV2Proxy',
27
+ 'InfrastructureV2Toleration',
28
+ 'InfrastructureV2Volume',
29
+ 'InfrastructureV2VolumeMount',
30
+ 'SecurityGovernanceConditionFaultSpec',
31
+ 'SecurityGovernanceConditionFaultSpecFault',
32
+ 'SecurityGovernanceConditionK8sSpec',
33
+ 'SecurityGovernanceConditionK8sSpecApplicationSpec',
34
+ 'SecurityGovernanceConditionK8sSpecApplicationSpecWorkload',
35
+ 'SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec',
36
+ 'SecurityGovernanceConditionK8sSpecInfraSpec',
37
+ 'SecurityGovernanceConditionMachineSpec',
38
+ 'SecurityGovernanceConditionMachineSpecInfraSpec',
39
+ 'SecurityGovernanceRuleTimeWindow',
40
+ 'SecurityGovernanceRuleTimeWindowRecurrence',
41
+ 'GetImageRegistryCustomImageResult',
42
+ 'GetInfrastructureV2ImageRegistryResult',
43
+ 'GetInfrastructureV2ImageRegistryCustomImageResult',
44
+ 'GetInfrastructureV2ImageRegistryIdentifierResult',
45
+ 'GetInfrastructureV2MtlsResult',
46
+ 'GetInfrastructureV2ProxyResult',
47
+ 'GetInfrastructureV2TolerationResult',
48
+ 'GetInfrastructureV2VolumeResult',
49
+ 'GetInfrastructureV2VolumeMountResult',
50
+ 'GetSecurityGovernanceConditionFaultSpecResult',
51
+ 'GetSecurityGovernanceConditionFaultSpecFaultResult',
52
+ 'GetSecurityGovernanceConditionK8sSpecResult',
53
+ 'GetSecurityGovernanceConditionK8sSpecInfraSpecResult',
54
+ 'GetSecurityGovernanceConditionMachineSpecResult',
55
+ 'GetSecurityGovernanceConditionMachineSpecInfraSpecResult',
56
+ 'GetSecurityGovernanceRuleTimeWindowResult',
57
+ 'GetSecurityGovernanceRuleTimeWindowRecurrenceResult',
58
+ ]
59
+
60
+ @pulumi.output_type
61
+ class ImageRegistryCustomImage(dict):
62
+ @staticmethod
63
+ def __key_warning(key: str):
64
+ suggest = None
65
+ if key == "ddcrFault":
66
+ suggest = "ddcr_fault"
67
+ elif key == "ddcrLib":
68
+ suggest = "ddcr_lib"
69
+ elif key == "logWatcher":
70
+ suggest = "log_watcher"
71
+
72
+ if suggest:
73
+ pulumi.log.warn(f"Key '{key}' not found in ImageRegistryCustomImage. Access the value via the '{suggest}' property getter instead.")
74
+
75
+ def __getitem__(self, key: str) -> Any:
76
+ ImageRegistryCustomImage.__key_warning(key)
77
+ return super().__getitem__(key)
78
+
79
+ def get(self, key: str, default = None) -> Any:
80
+ ImageRegistryCustomImage.__key_warning(key)
81
+ return super().get(key, default)
82
+
83
+ def __init__(__self__, *,
84
+ ddcr: Optional[_builtins.str] = None,
85
+ ddcr_fault: Optional[_builtins.str] = None,
86
+ ddcr_lib: Optional[_builtins.str] = None,
87
+ log_watcher: Optional[_builtins.str] = None):
88
+ if ddcr is not None:
89
+ pulumi.set(__self__, "ddcr", ddcr)
90
+ if ddcr_fault is not None:
91
+ pulumi.set(__self__, "ddcr_fault", ddcr_fault)
92
+ if ddcr_lib is not None:
93
+ pulumi.set(__self__, "ddcr_lib", ddcr_lib)
94
+ if log_watcher is not None:
95
+ pulumi.set(__self__, "log_watcher", log_watcher)
96
+
97
+ @_builtins.property
98
+ @pulumi.getter
99
+ def ddcr(self) -> Optional[_builtins.str]:
100
+ return pulumi.get(self, "ddcr")
101
+
102
+ @_builtins.property
103
+ @pulumi.getter(name="ddcrFault")
104
+ def ddcr_fault(self) -> Optional[_builtins.str]:
105
+ return pulumi.get(self, "ddcr_fault")
106
+
107
+ @_builtins.property
108
+ @pulumi.getter(name="ddcrLib")
109
+ def ddcr_lib(self) -> Optional[_builtins.str]:
110
+ return pulumi.get(self, "ddcr_lib")
111
+
112
+ @_builtins.property
113
+ @pulumi.getter(name="logWatcher")
114
+ def log_watcher(self) -> Optional[_builtins.str]:
115
+ return pulumi.get(self, "log_watcher")
116
+
117
+
118
+ @pulumi.output_type
119
+ class InfrastructureV2Env(dict):
120
+ @staticmethod
121
+ def __key_warning(key: str):
122
+ suggest = None
123
+ if key == "valueFrom":
124
+ suggest = "value_from"
125
+
126
+ if suggest:
127
+ pulumi.log.warn(f"Key '{key}' not found in InfrastructureV2Env. Access the value via the '{suggest}' property getter instead.")
128
+
129
+ def __getitem__(self, key: str) -> Any:
130
+ InfrastructureV2Env.__key_warning(key)
131
+ return super().__getitem__(key)
132
+
133
+ def get(self, key: str, default = None) -> Any:
134
+ InfrastructureV2Env.__key_warning(key)
135
+ return super().get(key, default)
136
+
137
+ def __init__(__self__, *,
138
+ name: _builtins.str,
139
+ key: Optional[_builtins.str] = None,
140
+ value: Optional[_builtins.str] = None,
141
+ value_from: Optional[_builtins.str] = None):
142
+ """
143
+ :param _builtins.str name: Name of the environment variable. Must be a C_IDENTIFIER.
144
+ :param _builtins.str key: Variable name from a ConfigMap or Secret. Required when value_from is configMapKeyRef or secretKeyRef.
145
+ :param _builtins.str value: Variable references $(VAR*NAME) are expanded using the container's environment. If the variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR*NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
146
+ :param _builtins.str value_from: Source for the environment variable's value. Cannot be used if value is not empty.
147
+ """
148
+ pulumi.set(__self__, "name", name)
149
+ if key is not None:
150
+ pulumi.set(__self__, "key", key)
151
+ if value is not None:
152
+ pulumi.set(__self__, "value", value)
153
+ if value_from is not None:
154
+ pulumi.set(__self__, "value_from", value_from)
155
+
156
+ @_builtins.property
157
+ @pulumi.getter
158
+ def name(self) -> _builtins.str:
159
+ """
160
+ Name of the environment variable. Must be a C_IDENTIFIER.
161
+ """
162
+ return pulumi.get(self, "name")
163
+
164
+ @_builtins.property
165
+ @pulumi.getter
166
+ def key(self) -> Optional[_builtins.str]:
167
+ """
168
+ Variable name from a ConfigMap or Secret. Required when value_from is configMapKeyRef or secretKeyRef.
169
+ """
170
+ return pulumi.get(self, "key")
171
+
172
+ @_builtins.property
173
+ @pulumi.getter
174
+ def value(self) -> Optional[_builtins.str]:
175
+ """
176
+ Variable references $(VAR*NAME) are expanded using the container's environment. If the variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR*NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "".
177
+ """
178
+ return pulumi.get(self, "value")
179
+
180
+ @_builtins.property
181
+ @pulumi.getter(name="valueFrom")
182
+ def value_from(self) -> Optional[_builtins.str]:
183
+ """
184
+ Source for the environment variable's value. Cannot be used if value is not empty.
185
+ """
186
+ return pulumi.get(self, "value_from")
187
+
188
+
189
+ @pulumi.output_type
190
+ class InfrastructureV2Identifier(dict):
191
+ @staticmethod
192
+ def __key_warning(key: str):
193
+ suggest = None
194
+ if key == "accountIdentifier":
195
+ suggest = "account_identifier"
196
+ elif key == "orgIdentifier":
197
+ suggest = "org_identifier"
198
+ elif key == "projectIdentifier":
199
+ suggest = "project_identifier"
200
+
201
+ if suggest:
202
+ pulumi.log.warn(f"Key '{key}' not found in InfrastructureV2Identifier. Access the value via the '{suggest}' property getter instead.")
203
+
204
+ def __getitem__(self, key: str) -> Any:
205
+ InfrastructureV2Identifier.__key_warning(key)
206
+ return super().__getitem__(key)
207
+
208
+ def get(self, key: str, default = None) -> Any:
209
+ InfrastructureV2Identifier.__key_warning(key)
210
+ return super().get(key, default)
211
+
212
+ def __init__(__self__, *,
213
+ account_identifier: Optional[_builtins.str] = None,
214
+ org_identifier: Optional[_builtins.str] = None,
215
+ project_identifier: Optional[_builtins.str] = None):
216
+ """
217
+ :param _builtins.str account_identifier: Account identifier.
218
+ :param _builtins.str org_identifier: Organization identifier.
219
+ :param _builtins.str project_identifier: Project identifier.
220
+ """
221
+ if account_identifier is not None:
222
+ pulumi.set(__self__, "account_identifier", account_identifier)
223
+ if org_identifier is not None:
224
+ pulumi.set(__self__, "org_identifier", org_identifier)
225
+ if project_identifier is not None:
226
+ pulumi.set(__self__, "project_identifier", project_identifier)
227
+
228
+ @_builtins.property
229
+ @pulumi.getter(name="accountIdentifier")
230
+ def account_identifier(self) -> Optional[_builtins.str]:
231
+ """
232
+ Account identifier.
233
+ """
234
+ return pulumi.get(self, "account_identifier")
235
+
236
+ @_builtins.property
237
+ @pulumi.getter(name="orgIdentifier")
238
+ def org_identifier(self) -> Optional[_builtins.str]:
239
+ """
240
+ Organization identifier.
241
+ """
242
+ return pulumi.get(self, "org_identifier")
243
+
244
+ @_builtins.property
245
+ @pulumi.getter(name="projectIdentifier")
246
+ def project_identifier(self) -> Optional[_builtins.str]:
247
+ """
248
+ Project identifier.
249
+ """
250
+ return pulumi.get(self, "project_identifier")
251
+
252
+
253
+ @pulumi.output_type
254
+ class InfrastructureV2ImageRegistry(dict):
255
+ @staticmethod
256
+ def __key_warning(key: str):
257
+ suggest = None
258
+ if key == "createdAt":
259
+ suggest = "created_at"
260
+ elif key == "customImages":
261
+ suggest = "custom_images"
262
+ elif key == "infraId":
263
+ suggest = "infra_id"
264
+ elif key == "isDefault":
265
+ suggest = "is_default"
266
+ elif key == "isOverrideAllowed":
267
+ suggest = "is_override_allowed"
268
+ elif key == "isPrivate":
269
+ suggest = "is_private"
270
+ elif key == "registryAccount":
271
+ suggest = "registry_account"
272
+ elif key == "registryServer":
273
+ suggest = "registry_server"
274
+ elif key == "secretName":
275
+ suggest = "secret_name"
276
+ elif key == "updatedAt":
277
+ suggest = "updated_at"
278
+ elif key == "useCustomImages":
279
+ suggest = "use_custom_images"
280
+
281
+ if suggest:
282
+ pulumi.log.warn(f"Key '{key}' not found in InfrastructureV2ImageRegistry. Access the value via the '{suggest}' property getter instead.")
283
+
284
+ def __getitem__(self, key: str) -> Any:
285
+ InfrastructureV2ImageRegistry.__key_warning(key)
286
+ return super().__getitem__(key)
287
+
288
+ def get(self, key: str, default = None) -> Any:
289
+ InfrastructureV2ImageRegistry.__key_warning(key)
290
+ return super().get(key, default)
291
+
292
+ def __init__(__self__, *,
293
+ created_at: Optional[_builtins.str] = None,
294
+ custom_images: Optional[Sequence['outputs.InfrastructureV2ImageRegistryCustomImage']] = None,
295
+ identifiers: Optional[Sequence['outputs.InfrastructureV2ImageRegistryIdentifier']] = None,
296
+ infra_id: Optional[_builtins.str] = None,
297
+ is_default: Optional[_builtins.bool] = None,
298
+ is_override_allowed: Optional[_builtins.bool] = None,
299
+ is_private: Optional[_builtins.bool] = None,
300
+ registry_account: Optional[_builtins.str] = None,
301
+ registry_server: Optional[_builtins.str] = None,
302
+ secret_name: Optional[_builtins.str] = None,
303
+ updated_at: Optional[_builtins.str] = None,
304
+ use_custom_images: Optional[_builtins.bool] = None):
305
+ """
306
+ :param _builtins.str created_at: Timestamp when the registry was created.
307
+ :param Sequence['InfrastructureV2ImageRegistryCustomImageArgs'] custom_images: Custom image configurations. Required when use*custom*images is true.
308
+ :param Sequence['InfrastructureV2ImageRegistryIdentifierArgs'] identifiers: Scoped identifiers for the registry.
309
+ :param _builtins.str infra_id: ID of the infrastructure.
310
+ :param _builtins.bool is_default: Whether this is the default registry.
311
+ :param _builtins.bool is_override_allowed: Whether override is allowed for this registry.
312
+ :param _builtins.bool is_private: Whether the registry is private.
313
+ :param _builtins.str registry_account: The account name for the container registry.
314
+ :param _builtins.str registry_server: The container image registry server URL (e.g., docker.io, gcr.io).
315
+ :param _builtins.str secret_name: Name of the Kubernetes secret containing registry credentials.
316
+ :param _builtins.str updated_at: Timestamp when the registry was last updated.
317
+ :param _builtins.bool use_custom_images: Whether to use custom images instead of default ones.
318
+ """
319
+ if created_at is not None:
320
+ pulumi.set(__self__, "created_at", created_at)
321
+ if custom_images is not None:
322
+ pulumi.set(__self__, "custom_images", custom_images)
323
+ if identifiers is not None:
324
+ pulumi.set(__self__, "identifiers", identifiers)
325
+ if infra_id is not None:
326
+ pulumi.set(__self__, "infra_id", infra_id)
327
+ if is_default is not None:
328
+ pulumi.set(__self__, "is_default", is_default)
329
+ if is_override_allowed is not None:
330
+ pulumi.set(__self__, "is_override_allowed", is_override_allowed)
331
+ if is_private is not None:
332
+ pulumi.set(__self__, "is_private", is_private)
333
+ if registry_account is not None:
334
+ pulumi.set(__self__, "registry_account", registry_account)
335
+ if registry_server is not None:
336
+ pulumi.set(__self__, "registry_server", registry_server)
337
+ if secret_name is not None:
338
+ pulumi.set(__self__, "secret_name", secret_name)
339
+ if updated_at is not None:
340
+ pulumi.set(__self__, "updated_at", updated_at)
341
+ if use_custom_images is not None:
342
+ pulumi.set(__self__, "use_custom_images", use_custom_images)
343
+
344
+ @_builtins.property
345
+ @pulumi.getter(name="createdAt")
346
+ def created_at(self) -> Optional[_builtins.str]:
347
+ """
348
+ Timestamp when the registry was created.
349
+ """
350
+ return pulumi.get(self, "created_at")
351
+
352
+ @_builtins.property
353
+ @pulumi.getter(name="customImages")
354
+ def custom_images(self) -> Optional[Sequence['outputs.InfrastructureV2ImageRegistryCustomImage']]:
355
+ """
356
+ Custom image configurations. Required when use*custom*images is true.
357
+ """
358
+ return pulumi.get(self, "custom_images")
359
+
360
+ @_builtins.property
361
+ @pulumi.getter
362
+ def identifiers(self) -> Optional[Sequence['outputs.InfrastructureV2ImageRegistryIdentifier']]:
363
+ """
364
+ Scoped identifiers for the registry.
365
+ """
366
+ return pulumi.get(self, "identifiers")
367
+
368
+ @_builtins.property
369
+ @pulumi.getter(name="infraId")
370
+ def infra_id(self) -> Optional[_builtins.str]:
371
+ """
372
+ ID of the infrastructure.
373
+ """
374
+ return pulumi.get(self, "infra_id")
375
+
376
+ @_builtins.property
377
+ @pulumi.getter(name="isDefault")
378
+ def is_default(self) -> Optional[_builtins.bool]:
379
+ """
380
+ Whether this is the default registry.
381
+ """
382
+ return pulumi.get(self, "is_default")
383
+
384
+ @_builtins.property
385
+ @pulumi.getter(name="isOverrideAllowed")
386
+ def is_override_allowed(self) -> Optional[_builtins.bool]:
387
+ """
388
+ Whether override is allowed for this registry.
389
+ """
390
+ return pulumi.get(self, "is_override_allowed")
391
+
392
+ @_builtins.property
393
+ @pulumi.getter(name="isPrivate")
394
+ def is_private(self) -> Optional[_builtins.bool]:
395
+ """
396
+ Whether the registry is private.
397
+ """
398
+ return pulumi.get(self, "is_private")
399
+
400
+ @_builtins.property
401
+ @pulumi.getter(name="registryAccount")
402
+ def registry_account(self) -> Optional[_builtins.str]:
403
+ """
404
+ The account name for the container registry.
405
+ """
406
+ return pulumi.get(self, "registry_account")
407
+
408
+ @_builtins.property
409
+ @pulumi.getter(name="registryServer")
410
+ def registry_server(self) -> Optional[_builtins.str]:
411
+ """
412
+ The container image registry server URL (e.g., docker.io, gcr.io).
413
+ """
414
+ return pulumi.get(self, "registry_server")
415
+
416
+ @_builtins.property
417
+ @pulumi.getter(name="secretName")
418
+ def secret_name(self) -> Optional[_builtins.str]:
419
+ """
420
+ Name of the Kubernetes secret containing registry credentials.
421
+ """
422
+ return pulumi.get(self, "secret_name")
423
+
424
+ @_builtins.property
425
+ @pulumi.getter(name="updatedAt")
426
+ def updated_at(self) -> Optional[_builtins.str]:
427
+ """
428
+ Timestamp when the registry was last updated.
429
+ """
430
+ return pulumi.get(self, "updated_at")
431
+
432
+ @_builtins.property
433
+ @pulumi.getter(name="useCustomImages")
434
+ def use_custom_images(self) -> Optional[_builtins.bool]:
435
+ """
436
+ Whether to use custom images instead of default ones.
437
+ """
438
+ return pulumi.get(self, "use_custom_images")
439
+
440
+
441
+ @pulumi.output_type
442
+ class InfrastructureV2ImageRegistryCustomImage(dict):
443
+ @staticmethod
444
+ def __key_warning(key: str):
445
+ suggest = None
446
+ if key == "ddcrFault":
447
+ suggest = "ddcr_fault"
448
+ elif key == "ddcrLib":
449
+ suggest = "ddcr_lib"
450
+ elif key == "logWatcher":
451
+ suggest = "log_watcher"
452
+
453
+ if suggest:
454
+ pulumi.log.warn(f"Key '{key}' not found in InfrastructureV2ImageRegistryCustomImage. Access the value via the '{suggest}' property getter instead.")
455
+
456
+ def __getitem__(self, key: str) -> Any:
457
+ InfrastructureV2ImageRegistryCustomImage.__key_warning(key)
458
+ return super().__getitem__(key)
459
+
460
+ def get(self, key: str, default = None) -> Any:
461
+ InfrastructureV2ImageRegistryCustomImage.__key_warning(key)
462
+ return super().get(key, default)
463
+
464
+ def __init__(__self__, *,
465
+ ddcr: Optional[_builtins.str] = None,
466
+ ddcr_fault: Optional[_builtins.str] = None,
467
+ ddcr_lib: Optional[_builtins.str] = None,
468
+ log_watcher: Optional[_builtins.str] = None):
469
+ """
470
+ :param _builtins.str ddcr: Custom image for ddcr.
471
+ :param _builtins.str ddcr_fault: Custom image for ddcr-fault.
472
+ :param _builtins.str ddcr_lib: Custom image for ddcr-lib.
473
+ :param _builtins.str log_watcher: Custom image for log-watcher.
474
+ """
475
+ if ddcr is not None:
476
+ pulumi.set(__self__, "ddcr", ddcr)
477
+ if ddcr_fault is not None:
478
+ pulumi.set(__self__, "ddcr_fault", ddcr_fault)
479
+ if ddcr_lib is not None:
480
+ pulumi.set(__self__, "ddcr_lib", ddcr_lib)
481
+ if log_watcher is not None:
482
+ pulumi.set(__self__, "log_watcher", log_watcher)
483
+
484
+ @_builtins.property
485
+ @pulumi.getter
486
+ def ddcr(self) -> Optional[_builtins.str]:
487
+ """
488
+ Custom image for ddcr.
489
+ """
490
+ return pulumi.get(self, "ddcr")
491
+
492
+ @_builtins.property
493
+ @pulumi.getter(name="ddcrFault")
494
+ def ddcr_fault(self) -> Optional[_builtins.str]:
495
+ """
496
+ Custom image for ddcr-fault.
497
+ """
498
+ return pulumi.get(self, "ddcr_fault")
499
+
500
+ @_builtins.property
501
+ @pulumi.getter(name="ddcrLib")
502
+ def ddcr_lib(self) -> Optional[_builtins.str]:
503
+ """
504
+ Custom image for ddcr-lib.
505
+ """
506
+ return pulumi.get(self, "ddcr_lib")
507
+
508
+ @_builtins.property
509
+ @pulumi.getter(name="logWatcher")
510
+ def log_watcher(self) -> Optional[_builtins.str]:
511
+ """
512
+ Custom image for log-watcher.
513
+ """
514
+ return pulumi.get(self, "log_watcher")
515
+
516
+
517
+ @pulumi.output_type
518
+ class InfrastructureV2ImageRegistryIdentifier(dict):
519
+ @staticmethod
520
+ def __key_warning(key: str):
521
+ suggest = None
522
+ if key == "accountIdentifier":
523
+ suggest = "account_identifier"
524
+ elif key == "orgIdentifier":
525
+ suggest = "org_identifier"
526
+ elif key == "projectIdentifier":
527
+ suggest = "project_identifier"
528
+
529
+ if suggest:
530
+ pulumi.log.warn(f"Key '{key}' not found in InfrastructureV2ImageRegistryIdentifier. Access the value via the '{suggest}' property getter instead.")
531
+
532
+ def __getitem__(self, key: str) -> Any:
533
+ InfrastructureV2ImageRegistryIdentifier.__key_warning(key)
534
+ return super().__getitem__(key)
535
+
536
+ def get(self, key: str, default = None) -> Any:
537
+ InfrastructureV2ImageRegistryIdentifier.__key_warning(key)
538
+ return super().get(key, default)
539
+
540
+ def __init__(__self__, *,
541
+ account_identifier: Optional[_builtins.str] = None,
542
+ org_identifier: Optional[_builtins.str] = None,
543
+ project_identifier: Optional[_builtins.str] = None):
544
+ """
545
+ :param _builtins.str account_identifier: Harness account identifier.
546
+ :param _builtins.str org_identifier: Harness organization identifier.
547
+ :param _builtins.str project_identifier: Harness project identifier.
548
+ """
549
+ if account_identifier is not None:
550
+ pulumi.set(__self__, "account_identifier", account_identifier)
551
+ if org_identifier is not None:
552
+ pulumi.set(__self__, "org_identifier", org_identifier)
553
+ if project_identifier is not None:
554
+ pulumi.set(__self__, "project_identifier", project_identifier)
555
+
556
+ @_builtins.property
557
+ @pulumi.getter(name="accountIdentifier")
558
+ def account_identifier(self) -> Optional[_builtins.str]:
559
+ """
560
+ Harness account identifier.
561
+ """
562
+ return pulumi.get(self, "account_identifier")
563
+
564
+ @_builtins.property
565
+ @pulumi.getter(name="orgIdentifier")
566
+ def org_identifier(self) -> Optional[_builtins.str]:
567
+ """
568
+ Harness organization identifier.
569
+ """
570
+ return pulumi.get(self, "org_identifier")
571
+
572
+ @_builtins.property
573
+ @pulumi.getter(name="projectIdentifier")
574
+ def project_identifier(self) -> Optional[_builtins.str]:
575
+ """
576
+ Harness project identifier.
577
+ """
578
+ return pulumi.get(self, "project_identifier")
579
+
580
+
581
+ @pulumi.output_type
582
+ class InfrastructureV2Mtls(dict):
583
+ @staticmethod
584
+ def __key_warning(key: str):
585
+ suggest = None
586
+ if key == "certPath":
587
+ suggest = "cert_path"
588
+ elif key == "keyPath":
589
+ suggest = "key_path"
590
+ elif key == "secretName":
591
+ suggest = "secret_name"
592
+
593
+ if suggest:
594
+ pulumi.log.warn(f"Key '{key}' not found in InfrastructureV2Mtls. Access the value via the '{suggest}' property getter instead.")
595
+
596
+ def __getitem__(self, key: str) -> Any:
597
+ InfrastructureV2Mtls.__key_warning(key)
598
+ return super().__getitem__(key)
599
+
600
+ def get(self, key: str, default = None) -> Any:
601
+ InfrastructureV2Mtls.__key_warning(key)
602
+ return super().get(key, default)
603
+
604
+ def __init__(__self__, *,
605
+ cert_path: Optional[_builtins.str] = None,
606
+ key_path: Optional[_builtins.str] = None,
607
+ secret_name: Optional[_builtins.str] = None,
608
+ url: Optional[_builtins.str] = None):
609
+ """
610
+ :param _builtins.str cert_path: Path to the certificate file for mTLS
611
+ :param _builtins.str key_path: Path to the private key file for mTLS
612
+ :param _builtins.str secret_name: Name of the Kubernetes secret containing mTLS certificates
613
+ :param _builtins.str url: URL for the mTLS endpoint
614
+ """
615
+ if cert_path is not None:
616
+ pulumi.set(__self__, "cert_path", cert_path)
617
+ if key_path is not None:
618
+ pulumi.set(__self__, "key_path", key_path)
619
+ if secret_name is not None:
620
+ pulumi.set(__self__, "secret_name", secret_name)
621
+ if url is not None:
622
+ pulumi.set(__self__, "url", url)
623
+
624
+ @_builtins.property
625
+ @pulumi.getter(name="certPath")
626
+ def cert_path(self) -> Optional[_builtins.str]:
627
+ """
628
+ Path to the certificate file for mTLS
629
+ """
630
+ return pulumi.get(self, "cert_path")
631
+
632
+ @_builtins.property
633
+ @pulumi.getter(name="keyPath")
634
+ def key_path(self) -> Optional[_builtins.str]:
635
+ """
636
+ Path to the private key file for mTLS
637
+ """
638
+ return pulumi.get(self, "key_path")
639
+
640
+ @_builtins.property
641
+ @pulumi.getter(name="secretName")
642
+ def secret_name(self) -> Optional[_builtins.str]:
643
+ """
644
+ Name of the Kubernetes secret containing mTLS certificates
645
+ """
646
+ return pulumi.get(self, "secret_name")
647
+
648
+ @_builtins.property
649
+ @pulumi.getter
650
+ def url(self) -> Optional[_builtins.str]:
651
+ """
652
+ URL for the mTLS endpoint
653
+ """
654
+ return pulumi.get(self, "url")
655
+
656
+
657
+ @pulumi.output_type
658
+ class InfrastructureV2Proxy(dict):
659
+ @staticmethod
660
+ def __key_warning(key: str):
661
+ suggest = None
662
+ if key == "httpProxy":
663
+ suggest = "http_proxy"
664
+ elif key == "httpsProxy":
665
+ suggest = "https_proxy"
666
+ elif key == "noProxy":
667
+ suggest = "no_proxy"
668
+
669
+ if suggest:
670
+ pulumi.log.warn(f"Key '{key}' not found in InfrastructureV2Proxy. Access the value via the '{suggest}' property getter instead.")
671
+
672
+ def __getitem__(self, key: str) -> Any:
673
+ InfrastructureV2Proxy.__key_warning(key)
674
+ return super().__getitem__(key)
675
+
676
+ def get(self, key: str, default = None) -> Any:
677
+ InfrastructureV2Proxy.__key_warning(key)
678
+ return super().get(key, default)
679
+
680
+ def __init__(__self__, *,
681
+ url: _builtins.str,
682
+ http_proxy: Optional[_builtins.str] = None,
683
+ https_proxy: Optional[_builtins.str] = None,
684
+ no_proxy: Optional[_builtins.str] = None):
685
+ """
686
+ :param _builtins.str url: Proxy URL.
687
+ :param _builtins.str http_proxy: HTTP proxy URL.
688
+ :param _builtins.str https_proxy: HTTPS proxy URL.
689
+ :param _builtins.str no_proxy: List of hosts that should not use proxy.
690
+ """
691
+ pulumi.set(__self__, "url", url)
692
+ if http_proxy is not None:
693
+ pulumi.set(__self__, "http_proxy", http_proxy)
694
+ if https_proxy is not None:
695
+ pulumi.set(__self__, "https_proxy", https_proxy)
696
+ if no_proxy is not None:
697
+ pulumi.set(__self__, "no_proxy", no_proxy)
698
+
699
+ @_builtins.property
700
+ @pulumi.getter
701
+ def url(self) -> _builtins.str:
702
+ """
703
+ Proxy URL.
704
+ """
705
+ return pulumi.get(self, "url")
706
+
707
+ @_builtins.property
708
+ @pulumi.getter(name="httpProxy")
709
+ def http_proxy(self) -> Optional[_builtins.str]:
710
+ """
711
+ HTTP proxy URL.
712
+ """
713
+ return pulumi.get(self, "http_proxy")
714
+
715
+ @_builtins.property
716
+ @pulumi.getter(name="httpsProxy")
717
+ def https_proxy(self) -> Optional[_builtins.str]:
718
+ """
719
+ HTTPS proxy URL.
720
+ """
721
+ return pulumi.get(self, "https_proxy")
722
+
723
+ @_builtins.property
724
+ @pulumi.getter(name="noProxy")
725
+ def no_proxy(self) -> Optional[_builtins.str]:
726
+ """
727
+ List of hosts that should not use proxy.
728
+ """
729
+ return pulumi.get(self, "no_proxy")
730
+
731
+
732
+ @pulumi.output_type
733
+ class InfrastructureV2Toleration(dict):
734
+ @staticmethod
735
+ def __key_warning(key: str):
736
+ suggest = None
737
+ if key == "tolerationSeconds":
738
+ suggest = "toleration_seconds"
739
+
740
+ if suggest:
741
+ pulumi.log.warn(f"Key '{key}' not found in InfrastructureV2Toleration. Access the value via the '{suggest}' property getter instead.")
742
+
743
+ def __getitem__(self, key: str) -> Any:
744
+ InfrastructureV2Toleration.__key_warning(key)
745
+ return super().__getitem__(key)
746
+
747
+ def get(self, key: str, default = None) -> Any:
748
+ InfrastructureV2Toleration.__key_warning(key)
749
+ return super().get(key, default)
750
+
751
+ def __init__(__self__, *,
752
+ effect: _builtins.str,
753
+ key: _builtins.str,
754
+ operator: _builtins.str,
755
+ toleration_seconds: Optional[_builtins.int] = None,
756
+ value: Optional[_builtins.str] = None):
757
+ """
758
+ :param _builtins.str effect: Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
759
+ :param _builtins.str key: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists.
760
+ :param _builtins.str operator: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.
761
+ :param _builtins.int toleration_seconds: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
762
+ :param _builtins.str value: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
763
+ """
764
+ pulumi.set(__self__, "effect", effect)
765
+ pulumi.set(__self__, "key", key)
766
+ pulumi.set(__self__, "operator", operator)
767
+ if toleration_seconds is not None:
768
+ pulumi.set(__self__, "toleration_seconds", toleration_seconds)
769
+ if value is not None:
770
+ pulumi.set(__self__, "value", value)
771
+
772
+ @_builtins.property
773
+ @pulumi.getter
774
+ def effect(self) -> _builtins.str:
775
+ """
776
+ Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
777
+ """
778
+ return pulumi.get(self, "effect")
779
+
780
+ @_builtins.property
781
+ @pulumi.getter
782
+ def key(self) -> _builtins.str:
783
+ """
784
+ Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists.
785
+ """
786
+ return pulumi.get(self, "key")
787
+
788
+ @_builtins.property
789
+ @pulumi.getter
790
+ def operator(self) -> _builtins.str:
791
+ """
792
+ Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.
793
+ """
794
+ return pulumi.get(self, "operator")
795
+
796
+ @_builtins.property
797
+ @pulumi.getter(name="tolerationSeconds")
798
+ def toleration_seconds(self) -> Optional[_builtins.int]:
799
+ """
800
+ TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
801
+ """
802
+ return pulumi.get(self, "toleration_seconds")
803
+
804
+ @_builtins.property
805
+ @pulumi.getter
806
+ def value(self) -> Optional[_builtins.str]:
807
+ """
808
+ Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
809
+ """
810
+ return pulumi.get(self, "value")
811
+
812
+
813
+ @pulumi.output_type
814
+ class InfrastructureV2Volume(dict):
815
+ @staticmethod
816
+ def __key_warning(key: str):
817
+ suggest = None
818
+ if key == "sizeLimit":
819
+ suggest = "size_limit"
820
+
821
+ if suggest:
822
+ pulumi.log.warn(f"Key '{key}' not found in InfrastructureV2Volume. Access the value via the '{suggest}' property getter instead.")
823
+
824
+ def __getitem__(self, key: str) -> Any:
825
+ InfrastructureV2Volume.__key_warning(key)
826
+ return super().__getitem__(key)
827
+
828
+ def get(self, key: str, default = None) -> Any:
829
+ InfrastructureV2Volume.__key_warning(key)
830
+ return super().get(key, default)
831
+
832
+ def __init__(__self__, *,
833
+ name: _builtins.str,
834
+ size_limit: Optional[_builtins.str] = None):
835
+ """
836
+ :param _builtins.str name: Name of the volume. Must be a DNS_LABEL and unique within the pod.
837
+ :param _builtins.str size_limit: Size limit of the volume. Example: '10Gi', '100Mi'
838
+ """
839
+ pulumi.set(__self__, "name", name)
840
+ if size_limit is not None:
841
+ pulumi.set(__self__, "size_limit", size_limit)
842
+
843
+ @_builtins.property
844
+ @pulumi.getter
845
+ def name(self) -> _builtins.str:
846
+ """
847
+ Name of the volume. Must be a DNS_LABEL and unique within the pod.
848
+ """
849
+ return pulumi.get(self, "name")
850
+
851
+ @_builtins.property
852
+ @pulumi.getter(name="sizeLimit")
853
+ def size_limit(self) -> Optional[_builtins.str]:
854
+ """
855
+ Size limit of the volume. Example: '10Gi', '100Mi'
856
+ """
857
+ return pulumi.get(self, "size_limit")
858
+
859
+
860
+ @pulumi.output_type
861
+ class InfrastructureV2VolumeMount(dict):
862
+ @staticmethod
863
+ def __key_warning(key: str):
864
+ suggest = None
865
+ if key == "mountPath":
866
+ suggest = "mount_path"
867
+ elif key == "mountPropagation":
868
+ suggest = "mount_propagation"
869
+ elif key == "readOnly":
870
+ suggest = "read_only"
871
+ elif key == "subPath":
872
+ suggest = "sub_path"
873
+ elif key == "subPathExpr":
874
+ suggest = "sub_path_expr"
875
+
876
+ if suggest:
877
+ pulumi.log.warn(f"Key '{key}' not found in InfrastructureV2VolumeMount. Access the value via the '{suggest}' property getter instead.")
878
+
879
+ def __getitem__(self, key: str) -> Any:
880
+ InfrastructureV2VolumeMount.__key_warning(key)
881
+ return super().__getitem__(key)
882
+
883
+ def get(self, key: str, default = None) -> Any:
884
+ InfrastructureV2VolumeMount.__key_warning(key)
885
+ return super().get(key, default)
886
+
887
+ def __init__(__self__, *,
888
+ mount_path: _builtins.str,
889
+ name: _builtins.str,
890
+ mount_propagation: Optional[_builtins.str] = None,
891
+ read_only: Optional[_builtins.bool] = None,
892
+ sub_path: Optional[_builtins.str] = None,
893
+ sub_path_expr: Optional[_builtins.str] = None):
894
+ """
895
+ :param _builtins.str mount_path: Path within the container at which the volume should be mounted. Must not contain ':'.
896
+ :param _builtins.str name: This must match the Name of a Volume.
897
+ :param _builtins.str mount_propagation: Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used.
898
+ :param _builtins.bool read_only: Mounted read-only if true, read-write otherwise.
899
+ :param _builtins.str sub_path: Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.
900
+ :param _builtins.str sub_path_expr: Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to sub*path but environment variable references $(VAR*NAME) are expanded using the container's environment. Mutually exclusive with sub_path.
901
+ """
902
+ pulumi.set(__self__, "mount_path", mount_path)
903
+ pulumi.set(__self__, "name", name)
904
+ if mount_propagation is not None:
905
+ pulumi.set(__self__, "mount_propagation", mount_propagation)
906
+ if read_only is not None:
907
+ pulumi.set(__self__, "read_only", read_only)
908
+ if sub_path is not None:
909
+ pulumi.set(__self__, "sub_path", sub_path)
910
+ if sub_path_expr is not None:
911
+ pulumi.set(__self__, "sub_path_expr", sub_path_expr)
912
+
913
+ @_builtins.property
914
+ @pulumi.getter(name="mountPath")
915
+ def mount_path(self) -> _builtins.str:
916
+ """
917
+ Path within the container at which the volume should be mounted. Must not contain ':'.
918
+ """
919
+ return pulumi.get(self, "mount_path")
920
+
921
+ @_builtins.property
922
+ @pulumi.getter
923
+ def name(self) -> _builtins.str:
924
+ """
925
+ This must match the Name of a Volume.
926
+ """
927
+ return pulumi.get(self, "name")
928
+
929
+ @_builtins.property
930
+ @pulumi.getter(name="mountPropagation")
931
+ def mount_propagation(self) -> Optional[_builtins.str]:
932
+ """
933
+ Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used.
934
+ """
935
+ return pulumi.get(self, "mount_propagation")
936
+
937
+ @_builtins.property
938
+ @pulumi.getter(name="readOnly")
939
+ def read_only(self) -> Optional[_builtins.bool]:
940
+ """
941
+ Mounted read-only if true, read-write otherwise.
942
+ """
943
+ return pulumi.get(self, "read_only")
944
+
945
+ @_builtins.property
946
+ @pulumi.getter(name="subPath")
947
+ def sub_path(self) -> Optional[_builtins.str]:
948
+ """
949
+ Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.
950
+ """
951
+ return pulumi.get(self, "sub_path")
952
+
953
+ @_builtins.property
954
+ @pulumi.getter(name="subPathExpr")
955
+ def sub_path_expr(self) -> Optional[_builtins.str]:
956
+ """
957
+ Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to sub*path but environment variable references $(VAR*NAME) are expanded using the container's environment. Mutually exclusive with sub_path.
958
+ """
959
+ return pulumi.get(self, "sub_path_expr")
960
+
961
+
962
+ @pulumi.output_type
963
+ class SecurityGovernanceConditionFaultSpec(dict):
964
+ def __init__(__self__, *,
965
+ faults: Sequence['outputs.SecurityGovernanceConditionFaultSpecFault'],
966
+ operator: _builtins.str):
967
+ """
968
+ :param Sequence['SecurityGovernanceConditionFaultSpecFaultArgs'] faults: List of fault specifications
969
+ :param _builtins.str operator: Operator for comparing faults (EQUAL*TO or NOT*EQUAL_TO)
970
+ """
971
+ pulumi.set(__self__, "faults", faults)
972
+ pulumi.set(__self__, "operator", operator)
973
+
974
+ @_builtins.property
975
+ @pulumi.getter
976
+ def faults(self) -> Sequence['outputs.SecurityGovernanceConditionFaultSpecFault']:
977
+ """
978
+ List of fault specifications
979
+ """
980
+ return pulumi.get(self, "faults")
981
+
982
+ @_builtins.property
983
+ @pulumi.getter
984
+ def operator(self) -> _builtins.str:
985
+ """
986
+ Operator for comparing faults (EQUAL*TO or NOT*EQUAL_TO)
987
+ """
988
+ return pulumi.get(self, "operator")
989
+
990
+
991
+ @pulumi.output_type
992
+ class SecurityGovernanceConditionFaultSpecFault(dict):
993
+ @staticmethod
994
+ def __key_warning(key: str):
995
+ suggest = None
996
+ if key == "faultType":
997
+ suggest = "fault_type"
998
+
999
+ if suggest:
1000
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGovernanceConditionFaultSpecFault. Access the value via the '{suggest}' property getter instead.")
1001
+
1002
+ def __getitem__(self, key: str) -> Any:
1003
+ SecurityGovernanceConditionFaultSpecFault.__key_warning(key)
1004
+ return super().__getitem__(key)
1005
+
1006
+ def get(self, key: str, default = None) -> Any:
1007
+ SecurityGovernanceConditionFaultSpecFault.__key_warning(key)
1008
+ return super().get(key, default)
1009
+
1010
+ def __init__(__self__, *,
1011
+ fault_type: _builtins.str,
1012
+ name: _builtins.str):
1013
+ """
1014
+ :param _builtins.str fault_type: Type of the fault (FAULT or FAULT_GROUP)
1015
+ :param _builtins.str name: Name of the fault
1016
+ """
1017
+ pulumi.set(__self__, "fault_type", fault_type)
1018
+ pulumi.set(__self__, "name", name)
1019
+
1020
+ @_builtins.property
1021
+ @pulumi.getter(name="faultType")
1022
+ def fault_type(self) -> _builtins.str:
1023
+ """
1024
+ Type of the fault (FAULT or FAULT_GROUP)
1025
+ """
1026
+ return pulumi.get(self, "fault_type")
1027
+
1028
+ @_builtins.property
1029
+ @pulumi.getter
1030
+ def name(self) -> _builtins.str:
1031
+ """
1032
+ Name of the fault
1033
+ """
1034
+ return pulumi.get(self, "name")
1035
+
1036
+
1037
+ @pulumi.output_type
1038
+ class SecurityGovernanceConditionK8sSpec(dict):
1039
+ @staticmethod
1040
+ def __key_warning(key: str):
1041
+ suggest = None
1042
+ if key == "applicationSpec":
1043
+ suggest = "application_spec"
1044
+ elif key == "chaosServiceAccountSpec":
1045
+ suggest = "chaos_service_account_spec"
1046
+ elif key == "infraSpec":
1047
+ suggest = "infra_spec"
1048
+
1049
+ if suggest:
1050
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGovernanceConditionK8sSpec. Access the value via the '{suggest}' property getter instead.")
1051
+
1052
+ def __getitem__(self, key: str) -> Any:
1053
+ SecurityGovernanceConditionK8sSpec.__key_warning(key)
1054
+ return super().__getitem__(key)
1055
+
1056
+ def get(self, key: str, default = None) -> Any:
1057
+ SecurityGovernanceConditionK8sSpec.__key_warning(key)
1058
+ return super().get(key, default)
1059
+
1060
+ def __init__(__self__, *,
1061
+ application_spec: Optional['outputs.SecurityGovernanceConditionK8sSpecApplicationSpec'] = None,
1062
+ chaos_service_account_spec: Optional['outputs.SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec'] = None,
1063
+ infra_spec: Optional['outputs.SecurityGovernanceConditionK8sSpecInfraSpec'] = None):
1064
+ """
1065
+ :param 'SecurityGovernanceConditionK8sSpecApplicationSpecArgs' application_spec: Application specification
1066
+ :param 'SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs' chaos_service_account_spec: Chaos service account specification
1067
+ :param 'SecurityGovernanceConditionK8sSpecInfraSpecArgs' infra_spec: Infrastructure specification
1068
+ """
1069
+ if application_spec is not None:
1070
+ pulumi.set(__self__, "application_spec", application_spec)
1071
+ if chaos_service_account_spec is not None:
1072
+ pulumi.set(__self__, "chaos_service_account_spec", chaos_service_account_spec)
1073
+ if infra_spec is not None:
1074
+ pulumi.set(__self__, "infra_spec", infra_spec)
1075
+
1076
+ @_builtins.property
1077
+ @pulumi.getter(name="applicationSpec")
1078
+ def application_spec(self) -> Optional['outputs.SecurityGovernanceConditionK8sSpecApplicationSpec']:
1079
+ """
1080
+ Application specification
1081
+ """
1082
+ return pulumi.get(self, "application_spec")
1083
+
1084
+ @_builtins.property
1085
+ @pulumi.getter(name="chaosServiceAccountSpec")
1086
+ def chaos_service_account_spec(self) -> Optional['outputs.SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec']:
1087
+ """
1088
+ Chaos service account specification
1089
+ """
1090
+ return pulumi.get(self, "chaos_service_account_spec")
1091
+
1092
+ @_builtins.property
1093
+ @pulumi.getter(name="infraSpec")
1094
+ def infra_spec(self) -> Optional['outputs.SecurityGovernanceConditionK8sSpecInfraSpec']:
1095
+ """
1096
+ Infrastructure specification
1097
+ """
1098
+ return pulumi.get(self, "infra_spec")
1099
+
1100
+
1101
+ @pulumi.output_type
1102
+ class SecurityGovernanceConditionK8sSpecApplicationSpec(dict):
1103
+ def __init__(__self__, *,
1104
+ operator: _builtins.str,
1105
+ workloads: Optional[Sequence['outputs.SecurityGovernanceConditionK8sSpecApplicationSpecWorkload']] = None):
1106
+ """
1107
+ :param _builtins.str operator: Operator for application matching (EQUAL*TO or NOT*EQUAL_TO)
1108
+ :param Sequence['SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs'] workloads: List of workloads to include/exclude
1109
+ """
1110
+ pulumi.set(__self__, "operator", operator)
1111
+ if workloads is not None:
1112
+ pulumi.set(__self__, "workloads", workloads)
1113
+
1114
+ @_builtins.property
1115
+ @pulumi.getter
1116
+ def operator(self) -> _builtins.str:
1117
+ """
1118
+ Operator for application matching (EQUAL*TO or NOT*EQUAL_TO)
1119
+ """
1120
+ return pulumi.get(self, "operator")
1121
+
1122
+ @_builtins.property
1123
+ @pulumi.getter
1124
+ def workloads(self) -> Optional[Sequence['outputs.SecurityGovernanceConditionK8sSpecApplicationSpecWorkload']]:
1125
+ """
1126
+ List of workloads to include/exclude
1127
+ """
1128
+ return pulumi.get(self, "workloads")
1129
+
1130
+
1131
+ @pulumi.output_type
1132
+ class SecurityGovernanceConditionK8sSpecApplicationSpecWorkload(dict):
1133
+ @staticmethod
1134
+ def __key_warning(key: str):
1135
+ suggest = None
1136
+ if key == "applicationMapId":
1137
+ suggest = "application_map_id"
1138
+
1139
+ if suggest:
1140
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGovernanceConditionK8sSpecApplicationSpecWorkload. Access the value via the '{suggest}' property getter instead.")
1141
+
1142
+ def __getitem__(self, key: str) -> Any:
1143
+ SecurityGovernanceConditionK8sSpecApplicationSpecWorkload.__key_warning(key)
1144
+ return super().__getitem__(key)
1145
+
1146
+ def get(self, key: str, default = None) -> Any:
1147
+ SecurityGovernanceConditionK8sSpecApplicationSpecWorkload.__key_warning(key)
1148
+ return super().get(key, default)
1149
+
1150
+ def __init__(__self__, *,
1151
+ namespace: _builtins.str,
1152
+ application_map_id: Optional[_builtins.str] = None,
1153
+ kind: Optional[_builtins.str] = None,
1154
+ label: Optional[_builtins.str] = None,
1155
+ services: Optional[Sequence[_builtins.str]] = None):
1156
+ """
1157
+ :param _builtins.str namespace: Namespace of the workload
1158
+ :param _builtins.str application_map_id: ID for the application map
1159
+ :param _builtins.str kind: Kind of the workload (e.g., deployment, statefulset)
1160
+ :param _builtins.str label: Label selector for the workload
1161
+ :param Sequence[_builtins.str] services: List of services associated with the workload
1162
+ """
1163
+ pulumi.set(__self__, "namespace", namespace)
1164
+ if application_map_id is not None:
1165
+ pulumi.set(__self__, "application_map_id", application_map_id)
1166
+ if kind is not None:
1167
+ pulumi.set(__self__, "kind", kind)
1168
+ if label is not None:
1169
+ pulumi.set(__self__, "label", label)
1170
+ if services is not None:
1171
+ pulumi.set(__self__, "services", services)
1172
+
1173
+ @_builtins.property
1174
+ @pulumi.getter
1175
+ def namespace(self) -> _builtins.str:
1176
+ """
1177
+ Namespace of the workload
1178
+ """
1179
+ return pulumi.get(self, "namespace")
1180
+
1181
+ @_builtins.property
1182
+ @pulumi.getter(name="applicationMapId")
1183
+ def application_map_id(self) -> Optional[_builtins.str]:
1184
+ """
1185
+ ID for the application map
1186
+ """
1187
+ return pulumi.get(self, "application_map_id")
1188
+
1189
+ @_builtins.property
1190
+ @pulumi.getter
1191
+ def kind(self) -> Optional[_builtins.str]:
1192
+ """
1193
+ Kind of the workload (e.g., deployment, statefulset)
1194
+ """
1195
+ return pulumi.get(self, "kind")
1196
+
1197
+ @_builtins.property
1198
+ @pulumi.getter
1199
+ def label(self) -> Optional[_builtins.str]:
1200
+ """
1201
+ Label selector for the workload
1202
+ """
1203
+ return pulumi.get(self, "label")
1204
+
1205
+ @_builtins.property
1206
+ @pulumi.getter
1207
+ def services(self) -> Optional[Sequence[_builtins.str]]:
1208
+ """
1209
+ List of services associated with the workload
1210
+ """
1211
+ return pulumi.get(self, "services")
1212
+
1213
+
1214
+ @pulumi.output_type
1215
+ class SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec(dict):
1216
+ @staticmethod
1217
+ def __key_warning(key: str):
1218
+ suggest = None
1219
+ if key == "serviceAccounts":
1220
+ suggest = "service_accounts"
1221
+
1222
+ if suggest:
1223
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec. Access the value via the '{suggest}' property getter instead.")
1224
+
1225
+ def __getitem__(self, key: str) -> Any:
1226
+ SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec.__key_warning(key)
1227
+ return super().__getitem__(key)
1228
+
1229
+ def get(self, key: str, default = None) -> Any:
1230
+ SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec.__key_warning(key)
1231
+ return super().get(key, default)
1232
+
1233
+ def __init__(__self__, *,
1234
+ operator: _builtins.str,
1235
+ service_accounts: Sequence[_builtins.str]):
1236
+ """
1237
+ :param _builtins.str operator: Operator for service account matching (EQUAL*TO or NOT*EQUAL_TO)
1238
+ :param Sequence[_builtins.str] service_accounts: List of service accounts to include/exclude
1239
+ """
1240
+ pulumi.set(__self__, "operator", operator)
1241
+ pulumi.set(__self__, "service_accounts", service_accounts)
1242
+
1243
+ @_builtins.property
1244
+ @pulumi.getter
1245
+ def operator(self) -> _builtins.str:
1246
+ """
1247
+ Operator for service account matching (EQUAL*TO or NOT*EQUAL_TO)
1248
+ """
1249
+ return pulumi.get(self, "operator")
1250
+
1251
+ @_builtins.property
1252
+ @pulumi.getter(name="serviceAccounts")
1253
+ def service_accounts(self) -> Sequence[_builtins.str]:
1254
+ """
1255
+ List of service accounts to include/exclude
1256
+ """
1257
+ return pulumi.get(self, "service_accounts")
1258
+
1259
+
1260
+ @pulumi.output_type
1261
+ class SecurityGovernanceConditionK8sSpecInfraSpec(dict):
1262
+ @staticmethod
1263
+ def __key_warning(key: str):
1264
+ suggest = None
1265
+ if key == "infraIds":
1266
+ suggest = "infra_ids"
1267
+
1268
+ if suggest:
1269
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGovernanceConditionK8sSpecInfraSpec. Access the value via the '{suggest}' property getter instead.")
1270
+
1271
+ def __getitem__(self, key: str) -> Any:
1272
+ SecurityGovernanceConditionK8sSpecInfraSpec.__key_warning(key)
1273
+ return super().__getitem__(key)
1274
+
1275
+ def get(self, key: str, default = None) -> Any:
1276
+ SecurityGovernanceConditionK8sSpecInfraSpec.__key_warning(key)
1277
+ return super().get(key, default)
1278
+
1279
+ def __init__(__self__, *,
1280
+ infra_ids: Sequence[_builtins.str],
1281
+ operator: _builtins.str):
1282
+ """
1283
+ :param Sequence[_builtins.str] infra_ids: List of infrastructure IDs to apply the condition to
1284
+ :param _builtins.str operator: Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)
1285
+ """
1286
+ pulumi.set(__self__, "infra_ids", infra_ids)
1287
+ pulumi.set(__self__, "operator", operator)
1288
+
1289
+ @_builtins.property
1290
+ @pulumi.getter(name="infraIds")
1291
+ def infra_ids(self) -> Sequence[_builtins.str]:
1292
+ """
1293
+ List of infrastructure IDs to apply the condition to
1294
+ """
1295
+ return pulumi.get(self, "infra_ids")
1296
+
1297
+ @_builtins.property
1298
+ @pulumi.getter
1299
+ def operator(self) -> _builtins.str:
1300
+ """
1301
+ Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)
1302
+ """
1303
+ return pulumi.get(self, "operator")
1304
+
1305
+
1306
+ @pulumi.output_type
1307
+ class SecurityGovernanceConditionMachineSpec(dict):
1308
+ @staticmethod
1309
+ def __key_warning(key: str):
1310
+ suggest = None
1311
+ if key == "infraSpec":
1312
+ suggest = "infra_spec"
1313
+
1314
+ if suggest:
1315
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGovernanceConditionMachineSpec. Access the value via the '{suggest}' property getter instead.")
1316
+
1317
+ def __getitem__(self, key: str) -> Any:
1318
+ SecurityGovernanceConditionMachineSpec.__key_warning(key)
1319
+ return super().__getitem__(key)
1320
+
1321
+ def get(self, key: str, default = None) -> Any:
1322
+ SecurityGovernanceConditionMachineSpec.__key_warning(key)
1323
+ return super().get(key, default)
1324
+
1325
+ def __init__(__self__, *,
1326
+ infra_spec: Optional['outputs.SecurityGovernanceConditionMachineSpecInfraSpec'] = None):
1327
+ """
1328
+ :param 'SecurityGovernanceConditionMachineSpecInfraSpecArgs' infra_spec: Infrastructure specification
1329
+ """
1330
+ if infra_spec is not None:
1331
+ pulumi.set(__self__, "infra_spec", infra_spec)
1332
+
1333
+ @_builtins.property
1334
+ @pulumi.getter(name="infraSpec")
1335
+ def infra_spec(self) -> Optional['outputs.SecurityGovernanceConditionMachineSpecInfraSpec']:
1336
+ """
1337
+ Infrastructure specification
1338
+ """
1339
+ return pulumi.get(self, "infra_spec")
1340
+
1341
+
1342
+ @pulumi.output_type
1343
+ class SecurityGovernanceConditionMachineSpecInfraSpec(dict):
1344
+ @staticmethod
1345
+ def __key_warning(key: str):
1346
+ suggest = None
1347
+ if key == "infraIds":
1348
+ suggest = "infra_ids"
1349
+
1350
+ if suggest:
1351
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGovernanceConditionMachineSpecInfraSpec. Access the value via the '{suggest}' property getter instead.")
1352
+
1353
+ def __getitem__(self, key: str) -> Any:
1354
+ SecurityGovernanceConditionMachineSpecInfraSpec.__key_warning(key)
1355
+ return super().__getitem__(key)
1356
+
1357
+ def get(self, key: str, default = None) -> Any:
1358
+ SecurityGovernanceConditionMachineSpecInfraSpec.__key_warning(key)
1359
+ return super().get(key, default)
1360
+
1361
+ def __init__(__self__, *,
1362
+ infra_ids: Sequence[_builtins.str],
1363
+ operator: _builtins.str):
1364
+ """
1365
+ :param Sequence[_builtins.str] infra_ids: List of infrastructure IDs to apply the condition to
1366
+ :param _builtins.str operator: Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)
1367
+ """
1368
+ pulumi.set(__self__, "infra_ids", infra_ids)
1369
+ pulumi.set(__self__, "operator", operator)
1370
+
1371
+ @_builtins.property
1372
+ @pulumi.getter(name="infraIds")
1373
+ def infra_ids(self) -> Sequence[_builtins.str]:
1374
+ """
1375
+ List of infrastructure IDs to apply the condition to
1376
+ """
1377
+ return pulumi.get(self, "infra_ids")
1378
+
1379
+ @_builtins.property
1380
+ @pulumi.getter
1381
+ def operator(self) -> _builtins.str:
1382
+ """
1383
+ Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)
1384
+ """
1385
+ return pulumi.get(self, "operator")
1386
+
1387
+
1388
+ @pulumi.output_type
1389
+ class SecurityGovernanceRuleTimeWindow(dict):
1390
+ @staticmethod
1391
+ def __key_warning(key: str):
1392
+ suggest = None
1393
+ if key == "startTime":
1394
+ suggest = "start_time"
1395
+ elif key == "timeZone":
1396
+ suggest = "time_zone"
1397
+ elif key == "endTime":
1398
+ suggest = "end_time"
1399
+
1400
+ if suggest:
1401
+ pulumi.log.warn(f"Key '{key}' not found in SecurityGovernanceRuleTimeWindow. Access the value via the '{suggest}' property getter instead.")
1402
+
1403
+ def __getitem__(self, key: str) -> Any:
1404
+ SecurityGovernanceRuleTimeWindow.__key_warning(key)
1405
+ return super().__getitem__(key)
1406
+
1407
+ def get(self, key: str, default = None) -> Any:
1408
+ SecurityGovernanceRuleTimeWindow.__key_warning(key)
1409
+ return super().get(key, default)
1410
+
1411
+ def __init__(__self__, *,
1412
+ start_time: _builtins.int,
1413
+ time_zone: _builtins.str,
1414
+ duration: Optional[_builtins.str] = None,
1415
+ end_time: Optional[_builtins.int] = None,
1416
+ recurrence: Optional['outputs.SecurityGovernanceRuleTimeWindowRecurrence'] = None):
1417
+ pulumi.set(__self__, "start_time", start_time)
1418
+ pulumi.set(__self__, "time_zone", time_zone)
1419
+ if duration is not None:
1420
+ pulumi.set(__self__, "duration", duration)
1421
+ if end_time is not None:
1422
+ pulumi.set(__self__, "end_time", end_time)
1423
+ if recurrence is not None:
1424
+ pulumi.set(__self__, "recurrence", recurrence)
1425
+
1426
+ @_builtins.property
1427
+ @pulumi.getter(name="startTime")
1428
+ def start_time(self) -> _builtins.int:
1429
+ return pulumi.get(self, "start_time")
1430
+
1431
+ @_builtins.property
1432
+ @pulumi.getter(name="timeZone")
1433
+ def time_zone(self) -> _builtins.str:
1434
+ return pulumi.get(self, "time_zone")
1435
+
1436
+ @_builtins.property
1437
+ @pulumi.getter
1438
+ def duration(self) -> Optional[_builtins.str]:
1439
+ return pulumi.get(self, "duration")
1440
+
1441
+ @_builtins.property
1442
+ @pulumi.getter(name="endTime")
1443
+ def end_time(self) -> Optional[_builtins.int]:
1444
+ return pulumi.get(self, "end_time")
1445
+
1446
+ @_builtins.property
1447
+ @pulumi.getter
1448
+ def recurrence(self) -> Optional['outputs.SecurityGovernanceRuleTimeWindowRecurrence']:
1449
+ return pulumi.get(self, "recurrence")
1450
+
1451
+
1452
+ @pulumi.output_type
1453
+ class SecurityGovernanceRuleTimeWindowRecurrence(dict):
1454
+ def __init__(__self__, *,
1455
+ type: _builtins.str,
1456
+ until: _builtins.int,
1457
+ value: Optional[_builtins.int] = None):
1458
+ pulumi.set(__self__, "type", type)
1459
+ pulumi.set(__self__, "until", until)
1460
+ if value is not None:
1461
+ pulumi.set(__self__, "value", value)
1462
+
1463
+ @_builtins.property
1464
+ @pulumi.getter
1465
+ def type(self) -> _builtins.str:
1466
+ return pulumi.get(self, "type")
1467
+
1468
+ @_builtins.property
1469
+ @pulumi.getter
1470
+ def until(self) -> _builtins.int:
1471
+ return pulumi.get(self, "until")
1472
+
1473
+ @_builtins.property
1474
+ @pulumi.getter
1475
+ def value(self) -> Optional[_builtins.int]:
1476
+ return pulumi.get(self, "value")
1477
+
1478
+
1479
+ @pulumi.output_type
1480
+ class GetImageRegistryCustomImageResult(dict):
1481
+ def __init__(__self__, *,
1482
+ ddcr: _builtins.str,
1483
+ ddcr_fault: _builtins.str,
1484
+ ddcr_lib: _builtins.str,
1485
+ log_watcher: _builtins.str):
1486
+ pulumi.set(__self__, "ddcr", ddcr)
1487
+ pulumi.set(__self__, "ddcr_fault", ddcr_fault)
1488
+ pulumi.set(__self__, "ddcr_lib", ddcr_lib)
1489
+ pulumi.set(__self__, "log_watcher", log_watcher)
1490
+
1491
+ @_builtins.property
1492
+ @pulumi.getter
1493
+ def ddcr(self) -> _builtins.str:
1494
+ return pulumi.get(self, "ddcr")
1495
+
1496
+ @_builtins.property
1497
+ @pulumi.getter(name="ddcrFault")
1498
+ def ddcr_fault(self) -> _builtins.str:
1499
+ return pulumi.get(self, "ddcr_fault")
1500
+
1501
+ @_builtins.property
1502
+ @pulumi.getter(name="ddcrLib")
1503
+ def ddcr_lib(self) -> _builtins.str:
1504
+ return pulumi.get(self, "ddcr_lib")
1505
+
1506
+ @_builtins.property
1507
+ @pulumi.getter(name="logWatcher")
1508
+ def log_watcher(self) -> _builtins.str:
1509
+ return pulumi.get(self, "log_watcher")
1510
+
1511
+
1512
+ @pulumi.output_type
1513
+ class GetInfrastructureV2ImageRegistryResult(dict):
1514
+ def __init__(__self__, *,
1515
+ created_at: _builtins.str,
1516
+ custom_images: Sequence['outputs.GetInfrastructureV2ImageRegistryCustomImageResult'],
1517
+ identifiers: Sequence['outputs.GetInfrastructureV2ImageRegistryIdentifierResult'],
1518
+ infra_id: _builtins.str,
1519
+ is_default: _builtins.bool,
1520
+ is_override_allowed: _builtins.bool,
1521
+ is_private: _builtins.bool,
1522
+ registry_account: _builtins.str,
1523
+ registry_server: _builtins.str,
1524
+ updated_at: _builtins.str,
1525
+ use_custom_images: _builtins.bool,
1526
+ secret_name: Optional[_builtins.str] = None):
1527
+ """
1528
+ :param _builtins.str created_at: Timestamp when the registry was created.
1529
+ :param Sequence['GetInfrastructureV2ImageRegistryCustomImageArgs'] custom_images: Custom image configurations. Required when use*custom*images is true.
1530
+ :param Sequence['GetInfrastructureV2ImageRegistryIdentifierArgs'] identifiers: Scoped identifiers for the registry.
1531
+ :param _builtins.str infra_id: ID of the infrastructure.
1532
+ :param _builtins.bool is_default: Whether this is the default registry.
1533
+ :param _builtins.bool is_override_allowed: Whether override is allowed for this registry.
1534
+ :param _builtins.bool is_private: Whether the registry is private.
1535
+ :param _builtins.str registry_account: The account name for the container registry.
1536
+ :param _builtins.str registry_server: The container image registry server URL (e.g., docker.io, gcr.io).
1537
+ :param _builtins.str updated_at: Timestamp when the registry was last updated.
1538
+ :param _builtins.bool use_custom_images: Whether to use custom images instead of default ones.
1539
+ :param _builtins.str secret_name: Name of the Kubernetes secret containing registry credentials.
1540
+ """
1541
+ pulumi.set(__self__, "created_at", created_at)
1542
+ pulumi.set(__self__, "custom_images", custom_images)
1543
+ pulumi.set(__self__, "identifiers", identifiers)
1544
+ pulumi.set(__self__, "infra_id", infra_id)
1545
+ pulumi.set(__self__, "is_default", is_default)
1546
+ pulumi.set(__self__, "is_override_allowed", is_override_allowed)
1547
+ pulumi.set(__self__, "is_private", is_private)
1548
+ pulumi.set(__self__, "registry_account", registry_account)
1549
+ pulumi.set(__self__, "registry_server", registry_server)
1550
+ pulumi.set(__self__, "updated_at", updated_at)
1551
+ pulumi.set(__self__, "use_custom_images", use_custom_images)
1552
+ if secret_name is not None:
1553
+ pulumi.set(__self__, "secret_name", secret_name)
1554
+
1555
+ @_builtins.property
1556
+ @pulumi.getter(name="createdAt")
1557
+ def created_at(self) -> _builtins.str:
1558
+ """
1559
+ Timestamp when the registry was created.
1560
+ """
1561
+ return pulumi.get(self, "created_at")
1562
+
1563
+ @_builtins.property
1564
+ @pulumi.getter(name="customImages")
1565
+ def custom_images(self) -> Sequence['outputs.GetInfrastructureV2ImageRegistryCustomImageResult']:
1566
+ """
1567
+ Custom image configurations. Required when use*custom*images is true.
1568
+ """
1569
+ return pulumi.get(self, "custom_images")
1570
+
1571
+ @_builtins.property
1572
+ @pulumi.getter
1573
+ def identifiers(self) -> Sequence['outputs.GetInfrastructureV2ImageRegistryIdentifierResult']:
1574
+ """
1575
+ Scoped identifiers for the registry.
1576
+ """
1577
+ return pulumi.get(self, "identifiers")
1578
+
1579
+ @_builtins.property
1580
+ @pulumi.getter(name="infraId")
1581
+ def infra_id(self) -> _builtins.str:
1582
+ """
1583
+ ID of the infrastructure.
1584
+ """
1585
+ return pulumi.get(self, "infra_id")
1586
+
1587
+ @_builtins.property
1588
+ @pulumi.getter(name="isDefault")
1589
+ def is_default(self) -> _builtins.bool:
1590
+ """
1591
+ Whether this is the default registry.
1592
+ """
1593
+ return pulumi.get(self, "is_default")
1594
+
1595
+ @_builtins.property
1596
+ @pulumi.getter(name="isOverrideAllowed")
1597
+ def is_override_allowed(self) -> _builtins.bool:
1598
+ """
1599
+ Whether override is allowed for this registry.
1600
+ """
1601
+ return pulumi.get(self, "is_override_allowed")
1602
+
1603
+ @_builtins.property
1604
+ @pulumi.getter(name="isPrivate")
1605
+ def is_private(self) -> _builtins.bool:
1606
+ """
1607
+ Whether the registry is private.
1608
+ """
1609
+ return pulumi.get(self, "is_private")
1610
+
1611
+ @_builtins.property
1612
+ @pulumi.getter(name="registryAccount")
1613
+ def registry_account(self) -> _builtins.str:
1614
+ """
1615
+ The account name for the container registry.
1616
+ """
1617
+ return pulumi.get(self, "registry_account")
1618
+
1619
+ @_builtins.property
1620
+ @pulumi.getter(name="registryServer")
1621
+ def registry_server(self) -> _builtins.str:
1622
+ """
1623
+ The container image registry server URL (e.g., docker.io, gcr.io).
1624
+ """
1625
+ return pulumi.get(self, "registry_server")
1626
+
1627
+ @_builtins.property
1628
+ @pulumi.getter(name="updatedAt")
1629
+ def updated_at(self) -> _builtins.str:
1630
+ """
1631
+ Timestamp when the registry was last updated.
1632
+ """
1633
+ return pulumi.get(self, "updated_at")
1634
+
1635
+ @_builtins.property
1636
+ @pulumi.getter(name="useCustomImages")
1637
+ def use_custom_images(self) -> _builtins.bool:
1638
+ """
1639
+ Whether to use custom images instead of default ones.
1640
+ """
1641
+ return pulumi.get(self, "use_custom_images")
1642
+
1643
+ @_builtins.property
1644
+ @pulumi.getter(name="secretName")
1645
+ def secret_name(self) -> Optional[_builtins.str]:
1646
+ """
1647
+ Name of the Kubernetes secret containing registry credentials.
1648
+ """
1649
+ return pulumi.get(self, "secret_name")
1650
+
1651
+
1652
+ @pulumi.output_type
1653
+ class GetInfrastructureV2ImageRegistryCustomImageResult(dict):
1654
+ def __init__(__self__, *,
1655
+ ddcr: _builtins.str,
1656
+ ddcr_fault: _builtins.str,
1657
+ ddcr_lib: _builtins.str,
1658
+ log_watcher: _builtins.str):
1659
+ """
1660
+ :param _builtins.str ddcr: Custom image for ddcr.
1661
+ :param _builtins.str ddcr_fault: Custom image for ddcr-fault.
1662
+ :param _builtins.str ddcr_lib: Custom image for ddcr-lib.
1663
+ :param _builtins.str log_watcher: Custom image for log-watcher.
1664
+ """
1665
+ pulumi.set(__self__, "ddcr", ddcr)
1666
+ pulumi.set(__self__, "ddcr_fault", ddcr_fault)
1667
+ pulumi.set(__self__, "ddcr_lib", ddcr_lib)
1668
+ pulumi.set(__self__, "log_watcher", log_watcher)
1669
+
1670
+ @_builtins.property
1671
+ @pulumi.getter
1672
+ def ddcr(self) -> _builtins.str:
1673
+ """
1674
+ Custom image for ddcr.
1675
+ """
1676
+ return pulumi.get(self, "ddcr")
1677
+
1678
+ @_builtins.property
1679
+ @pulumi.getter(name="ddcrFault")
1680
+ def ddcr_fault(self) -> _builtins.str:
1681
+ """
1682
+ Custom image for ddcr-fault.
1683
+ """
1684
+ return pulumi.get(self, "ddcr_fault")
1685
+
1686
+ @_builtins.property
1687
+ @pulumi.getter(name="ddcrLib")
1688
+ def ddcr_lib(self) -> _builtins.str:
1689
+ """
1690
+ Custom image for ddcr-lib.
1691
+ """
1692
+ return pulumi.get(self, "ddcr_lib")
1693
+
1694
+ @_builtins.property
1695
+ @pulumi.getter(name="logWatcher")
1696
+ def log_watcher(self) -> _builtins.str:
1697
+ """
1698
+ Custom image for log-watcher.
1699
+ """
1700
+ return pulumi.get(self, "log_watcher")
1701
+
1702
+
1703
+ @pulumi.output_type
1704
+ class GetInfrastructureV2ImageRegistryIdentifierResult(dict):
1705
+ def __init__(__self__, *,
1706
+ account_identifier: _builtins.str,
1707
+ org_identifier: _builtins.str,
1708
+ project_identifier: _builtins.str):
1709
+ """
1710
+ :param _builtins.str account_identifier: Harness account identifier.
1711
+ :param _builtins.str org_identifier: Harness organization identifier.
1712
+ :param _builtins.str project_identifier: Harness project identifier.
1713
+ """
1714
+ pulumi.set(__self__, "account_identifier", account_identifier)
1715
+ pulumi.set(__self__, "org_identifier", org_identifier)
1716
+ pulumi.set(__self__, "project_identifier", project_identifier)
1717
+
1718
+ @_builtins.property
1719
+ @pulumi.getter(name="accountIdentifier")
1720
+ def account_identifier(self) -> _builtins.str:
1721
+ """
1722
+ Harness account identifier.
1723
+ """
1724
+ return pulumi.get(self, "account_identifier")
1725
+
1726
+ @_builtins.property
1727
+ @pulumi.getter(name="orgIdentifier")
1728
+ def org_identifier(self) -> _builtins.str:
1729
+ """
1730
+ Harness organization identifier.
1731
+ """
1732
+ return pulumi.get(self, "org_identifier")
1733
+
1734
+ @_builtins.property
1735
+ @pulumi.getter(name="projectIdentifier")
1736
+ def project_identifier(self) -> _builtins.str:
1737
+ """
1738
+ Harness project identifier.
1739
+ """
1740
+ return pulumi.get(self, "project_identifier")
1741
+
1742
+
1743
+ @pulumi.output_type
1744
+ class GetInfrastructureV2MtlsResult(dict):
1745
+ def __init__(__self__, *,
1746
+ cert_path: Optional[_builtins.str] = None,
1747
+ key_path: Optional[_builtins.str] = None,
1748
+ secret_name: Optional[_builtins.str] = None,
1749
+ url: Optional[_builtins.str] = None):
1750
+ """
1751
+ :param _builtins.str cert_path: Path to the certificate file for mTLS
1752
+ :param _builtins.str key_path: Path to the private key file for mTLS
1753
+ :param _builtins.str secret_name: Name of the Kubernetes secret containing mTLS certificates
1754
+ :param _builtins.str url: URL for the mTLS endpoint
1755
+ """
1756
+ if cert_path is not None:
1757
+ pulumi.set(__self__, "cert_path", cert_path)
1758
+ if key_path is not None:
1759
+ pulumi.set(__self__, "key_path", key_path)
1760
+ if secret_name is not None:
1761
+ pulumi.set(__self__, "secret_name", secret_name)
1762
+ if url is not None:
1763
+ pulumi.set(__self__, "url", url)
1764
+
1765
+ @_builtins.property
1766
+ @pulumi.getter(name="certPath")
1767
+ def cert_path(self) -> Optional[_builtins.str]:
1768
+ """
1769
+ Path to the certificate file for mTLS
1770
+ """
1771
+ return pulumi.get(self, "cert_path")
1772
+
1773
+ @_builtins.property
1774
+ @pulumi.getter(name="keyPath")
1775
+ def key_path(self) -> Optional[_builtins.str]:
1776
+ """
1777
+ Path to the private key file for mTLS
1778
+ """
1779
+ return pulumi.get(self, "key_path")
1780
+
1781
+ @_builtins.property
1782
+ @pulumi.getter(name="secretName")
1783
+ def secret_name(self) -> Optional[_builtins.str]:
1784
+ """
1785
+ Name of the Kubernetes secret containing mTLS certificates
1786
+ """
1787
+ return pulumi.get(self, "secret_name")
1788
+
1789
+ @_builtins.property
1790
+ @pulumi.getter
1791
+ def url(self) -> Optional[_builtins.str]:
1792
+ """
1793
+ URL for the mTLS endpoint
1794
+ """
1795
+ return pulumi.get(self, "url")
1796
+
1797
+
1798
+ @pulumi.output_type
1799
+ class GetInfrastructureV2ProxyResult(dict):
1800
+ def __init__(__self__, *,
1801
+ url: _builtins.str,
1802
+ http_proxy: Optional[_builtins.str] = None,
1803
+ https_proxy: Optional[_builtins.str] = None,
1804
+ no_proxy: Optional[_builtins.str] = None):
1805
+ """
1806
+ :param _builtins.str url: Proxy URL.
1807
+ :param _builtins.str http_proxy: HTTP proxy URL.
1808
+ :param _builtins.str https_proxy: HTTPS proxy URL.
1809
+ :param _builtins.str no_proxy: List of hosts that should not use proxy.
1810
+ """
1811
+ pulumi.set(__self__, "url", url)
1812
+ if http_proxy is not None:
1813
+ pulumi.set(__self__, "http_proxy", http_proxy)
1814
+ if https_proxy is not None:
1815
+ pulumi.set(__self__, "https_proxy", https_proxy)
1816
+ if no_proxy is not None:
1817
+ pulumi.set(__self__, "no_proxy", no_proxy)
1818
+
1819
+ @_builtins.property
1820
+ @pulumi.getter
1821
+ def url(self) -> _builtins.str:
1822
+ """
1823
+ Proxy URL.
1824
+ """
1825
+ return pulumi.get(self, "url")
1826
+
1827
+ @_builtins.property
1828
+ @pulumi.getter(name="httpProxy")
1829
+ def http_proxy(self) -> Optional[_builtins.str]:
1830
+ """
1831
+ HTTP proxy URL.
1832
+ """
1833
+ return pulumi.get(self, "http_proxy")
1834
+
1835
+ @_builtins.property
1836
+ @pulumi.getter(name="httpsProxy")
1837
+ def https_proxy(self) -> Optional[_builtins.str]:
1838
+ """
1839
+ HTTPS proxy URL.
1840
+ """
1841
+ return pulumi.get(self, "https_proxy")
1842
+
1843
+ @_builtins.property
1844
+ @pulumi.getter(name="noProxy")
1845
+ def no_proxy(self) -> Optional[_builtins.str]:
1846
+ """
1847
+ List of hosts that should not use proxy.
1848
+ """
1849
+ return pulumi.get(self, "no_proxy")
1850
+
1851
+
1852
+ @pulumi.output_type
1853
+ class GetInfrastructureV2TolerationResult(dict):
1854
+ def __init__(__self__, *,
1855
+ effect: _builtins.str,
1856
+ key: _builtins.str,
1857
+ operator: _builtins.str,
1858
+ toleration_seconds: Optional[_builtins.int] = None,
1859
+ value: Optional[_builtins.str] = None):
1860
+ """
1861
+ :param _builtins.str effect: Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
1862
+ :param _builtins.str key: Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists.
1863
+ :param _builtins.str operator: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.
1864
+ :param _builtins.int toleration_seconds: TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
1865
+ :param _builtins.str value: Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
1866
+ """
1867
+ pulumi.set(__self__, "effect", effect)
1868
+ pulumi.set(__self__, "key", key)
1869
+ pulumi.set(__self__, "operator", operator)
1870
+ if toleration_seconds is not None:
1871
+ pulumi.set(__self__, "toleration_seconds", toleration_seconds)
1872
+ if value is not None:
1873
+ pulumi.set(__self__, "value", value)
1874
+
1875
+ @_builtins.property
1876
+ @pulumi.getter
1877
+ def effect(self) -> _builtins.str:
1878
+ """
1879
+ Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
1880
+ """
1881
+ return pulumi.get(self, "effect")
1882
+
1883
+ @_builtins.property
1884
+ @pulumi.getter
1885
+ def key(self) -> _builtins.str:
1886
+ """
1887
+ Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists.
1888
+ """
1889
+ return pulumi.get(self, "key")
1890
+
1891
+ @_builtins.property
1892
+ @pulumi.getter
1893
+ def operator(self) -> _builtins.str:
1894
+ """
1895
+ Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.
1896
+ """
1897
+ return pulumi.get(self, "operator")
1898
+
1899
+ @_builtins.property
1900
+ @pulumi.getter(name="tolerationSeconds")
1901
+ def toleration_seconds(self) -> Optional[_builtins.int]:
1902
+ """
1903
+ TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system.
1904
+ """
1905
+ return pulumi.get(self, "toleration_seconds")
1906
+
1907
+ @_builtins.property
1908
+ @pulumi.getter
1909
+ def value(self) -> Optional[_builtins.str]:
1910
+ """
1911
+ Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
1912
+ """
1913
+ return pulumi.get(self, "value")
1914
+
1915
+
1916
+ @pulumi.output_type
1917
+ class GetInfrastructureV2VolumeResult(dict):
1918
+ def __init__(__self__, *,
1919
+ name: _builtins.str,
1920
+ size_limit: Optional[_builtins.str] = None):
1921
+ """
1922
+ :param _builtins.str name: Name of the volume. Must be a DNS_LABEL and unique within the pod.
1923
+ :param _builtins.str size_limit: Size limit of the volume. Example: '10Gi', '100Mi'
1924
+ """
1925
+ pulumi.set(__self__, "name", name)
1926
+ if size_limit is not None:
1927
+ pulumi.set(__self__, "size_limit", size_limit)
1928
+
1929
+ @_builtins.property
1930
+ @pulumi.getter
1931
+ def name(self) -> _builtins.str:
1932
+ """
1933
+ Name of the volume. Must be a DNS_LABEL and unique within the pod.
1934
+ """
1935
+ return pulumi.get(self, "name")
1936
+
1937
+ @_builtins.property
1938
+ @pulumi.getter(name="sizeLimit")
1939
+ def size_limit(self) -> Optional[_builtins.str]:
1940
+ """
1941
+ Size limit of the volume. Example: '10Gi', '100Mi'
1942
+ """
1943
+ return pulumi.get(self, "size_limit")
1944
+
1945
+
1946
+ @pulumi.output_type
1947
+ class GetInfrastructureV2VolumeMountResult(dict):
1948
+ def __init__(__self__, *,
1949
+ mount_path: _builtins.str,
1950
+ name: _builtins.str,
1951
+ mount_propagation: Optional[_builtins.str] = None,
1952
+ read_only: Optional[_builtins.bool] = None,
1953
+ sub_path: Optional[_builtins.str] = None,
1954
+ sub_path_expr: Optional[_builtins.str] = None):
1955
+ """
1956
+ :param _builtins.str mount_path: Path within the container at which the volume should be mounted. Must not contain ':'.
1957
+ :param _builtins.str name: This must match the Name of a Volume.
1958
+ :param _builtins.str mount_propagation: Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used.
1959
+ :param _builtins.bool read_only: Mounted read-only if true, read-write otherwise.
1960
+ :param _builtins.str sub_path: Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.
1961
+ :param _builtins.str sub_path_expr: Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to sub*path but environment variable references $(VAR*NAME) are expanded using the container's environment. Mutually exclusive with sub_path.
1962
+ """
1963
+ pulumi.set(__self__, "mount_path", mount_path)
1964
+ pulumi.set(__self__, "name", name)
1965
+ if mount_propagation is not None:
1966
+ pulumi.set(__self__, "mount_propagation", mount_propagation)
1967
+ if read_only is not None:
1968
+ pulumi.set(__self__, "read_only", read_only)
1969
+ if sub_path is not None:
1970
+ pulumi.set(__self__, "sub_path", sub_path)
1971
+ if sub_path_expr is not None:
1972
+ pulumi.set(__self__, "sub_path_expr", sub_path_expr)
1973
+
1974
+ @_builtins.property
1975
+ @pulumi.getter(name="mountPath")
1976
+ def mount_path(self) -> _builtins.str:
1977
+ """
1978
+ Path within the container at which the volume should be mounted. Must not contain ':'.
1979
+ """
1980
+ return pulumi.get(self, "mount_path")
1981
+
1982
+ @_builtins.property
1983
+ @pulumi.getter
1984
+ def name(self) -> _builtins.str:
1985
+ """
1986
+ This must match the Name of a Volume.
1987
+ """
1988
+ return pulumi.get(self, "name")
1989
+
1990
+ @_builtins.property
1991
+ @pulumi.getter(name="mountPropagation")
1992
+ def mount_propagation(self) -> Optional[_builtins.str]:
1993
+ """
1994
+ Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used.
1995
+ """
1996
+ return pulumi.get(self, "mount_propagation")
1997
+
1998
+ @_builtins.property
1999
+ @pulumi.getter(name="readOnly")
2000
+ def read_only(self) -> Optional[_builtins.bool]:
2001
+ """
2002
+ Mounted read-only if true, read-write otherwise.
2003
+ """
2004
+ return pulumi.get(self, "read_only")
2005
+
2006
+ @_builtins.property
2007
+ @pulumi.getter(name="subPath")
2008
+ def sub_path(self) -> Optional[_builtins.str]:
2009
+ """
2010
+ Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.
2011
+ """
2012
+ return pulumi.get(self, "sub_path")
2013
+
2014
+ @_builtins.property
2015
+ @pulumi.getter(name="subPathExpr")
2016
+ def sub_path_expr(self) -> Optional[_builtins.str]:
2017
+ """
2018
+ Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to sub*path but environment variable references $(VAR*NAME) are expanded using the container's environment. Mutually exclusive with sub_path.
2019
+ """
2020
+ return pulumi.get(self, "sub_path_expr")
2021
+
2022
+
2023
+ @pulumi.output_type
2024
+ class GetSecurityGovernanceConditionFaultSpecResult(dict):
2025
+ def __init__(__self__, *,
2026
+ faults: Sequence['outputs.GetSecurityGovernanceConditionFaultSpecFaultResult'],
2027
+ operator: _builtins.str):
2028
+ """
2029
+ :param Sequence['GetSecurityGovernanceConditionFaultSpecFaultArgs'] faults: List of fault specifications
2030
+ :param _builtins.str operator: Operator for the fault specification
2031
+ """
2032
+ pulumi.set(__self__, "faults", faults)
2033
+ pulumi.set(__self__, "operator", operator)
2034
+
2035
+ @_builtins.property
2036
+ @pulumi.getter
2037
+ def faults(self) -> Sequence['outputs.GetSecurityGovernanceConditionFaultSpecFaultResult']:
2038
+ """
2039
+ List of fault specifications
2040
+ """
2041
+ return pulumi.get(self, "faults")
2042
+
2043
+ @_builtins.property
2044
+ @pulumi.getter
2045
+ def operator(self) -> _builtins.str:
2046
+ """
2047
+ Operator for the fault specification
2048
+ """
2049
+ return pulumi.get(self, "operator")
2050
+
2051
+
2052
+ @pulumi.output_type
2053
+ class GetSecurityGovernanceConditionFaultSpecFaultResult(dict):
2054
+ def __init__(__self__, *,
2055
+ fault_type: _builtins.str,
2056
+ name: _builtins.str):
2057
+ """
2058
+ :param _builtins.str fault_type: Type of the fault
2059
+ :param _builtins.str name: Name of the fault
2060
+ """
2061
+ pulumi.set(__self__, "fault_type", fault_type)
2062
+ pulumi.set(__self__, "name", name)
2063
+
2064
+ @_builtins.property
2065
+ @pulumi.getter(name="faultType")
2066
+ def fault_type(self) -> _builtins.str:
2067
+ """
2068
+ Type of the fault
2069
+ """
2070
+ return pulumi.get(self, "fault_type")
2071
+
2072
+ @_builtins.property
2073
+ @pulumi.getter
2074
+ def name(self) -> _builtins.str:
2075
+ """
2076
+ Name of the fault
2077
+ """
2078
+ return pulumi.get(self, "name")
2079
+
2080
+
2081
+ @pulumi.output_type
2082
+ class GetSecurityGovernanceConditionK8sSpecResult(dict):
2083
+ def __init__(__self__, *,
2084
+ infra_specs: Sequence['outputs.GetSecurityGovernanceConditionK8sSpecInfraSpecResult']):
2085
+ """
2086
+ :param Sequence['GetSecurityGovernanceConditionK8sSpecInfraSpecArgs'] infra_specs: Infrastructure specification
2087
+ """
2088
+ pulumi.set(__self__, "infra_specs", infra_specs)
2089
+
2090
+ @_builtins.property
2091
+ @pulumi.getter(name="infraSpecs")
2092
+ def infra_specs(self) -> Sequence['outputs.GetSecurityGovernanceConditionK8sSpecInfraSpecResult']:
2093
+ """
2094
+ Infrastructure specification
2095
+ """
2096
+ return pulumi.get(self, "infra_specs")
2097
+
2098
+
2099
+ @pulumi.output_type
2100
+ class GetSecurityGovernanceConditionK8sSpecInfraSpecResult(dict):
2101
+ def __init__(__self__, *,
2102
+ infra_ids: Sequence[_builtins.str],
2103
+ operator: _builtins.str):
2104
+ """
2105
+ :param Sequence[_builtins.str] infra_ids: List of infrastructure IDs
2106
+ :param _builtins.str operator: Operator for comparing infrastructure IDs
2107
+ """
2108
+ pulumi.set(__self__, "infra_ids", infra_ids)
2109
+ pulumi.set(__self__, "operator", operator)
2110
+
2111
+ @_builtins.property
2112
+ @pulumi.getter(name="infraIds")
2113
+ def infra_ids(self) -> Sequence[_builtins.str]:
2114
+ """
2115
+ List of infrastructure IDs
2116
+ """
2117
+ return pulumi.get(self, "infra_ids")
2118
+
2119
+ @_builtins.property
2120
+ @pulumi.getter
2121
+ def operator(self) -> _builtins.str:
2122
+ """
2123
+ Operator for comparing infrastructure IDs
2124
+ """
2125
+ return pulumi.get(self, "operator")
2126
+
2127
+
2128
+ @pulumi.output_type
2129
+ class GetSecurityGovernanceConditionMachineSpecResult(dict):
2130
+ def __init__(__self__, *,
2131
+ infra_specs: Sequence['outputs.GetSecurityGovernanceConditionMachineSpecInfraSpecResult']):
2132
+ """
2133
+ :param Sequence['GetSecurityGovernanceConditionMachineSpecInfraSpecArgs'] infra_specs: Infrastructure specification
2134
+ """
2135
+ pulumi.set(__self__, "infra_specs", infra_specs)
2136
+
2137
+ @_builtins.property
2138
+ @pulumi.getter(name="infraSpecs")
2139
+ def infra_specs(self) -> Sequence['outputs.GetSecurityGovernanceConditionMachineSpecInfraSpecResult']:
2140
+ """
2141
+ Infrastructure specification
2142
+ """
2143
+ return pulumi.get(self, "infra_specs")
2144
+
2145
+
2146
+ @pulumi.output_type
2147
+ class GetSecurityGovernanceConditionMachineSpecInfraSpecResult(dict):
2148
+ def __init__(__self__, *,
2149
+ infra_ids: Sequence[_builtins.str],
2150
+ operator: _builtins.str):
2151
+ """
2152
+ :param Sequence[_builtins.str] infra_ids: List of infrastructure IDs
2153
+ :param _builtins.str operator: Operator for comparing infrastructure IDs
2154
+ """
2155
+ pulumi.set(__self__, "infra_ids", infra_ids)
2156
+ pulumi.set(__self__, "operator", operator)
2157
+
2158
+ @_builtins.property
2159
+ @pulumi.getter(name="infraIds")
2160
+ def infra_ids(self) -> Sequence[_builtins.str]:
2161
+ """
2162
+ List of infrastructure IDs
2163
+ """
2164
+ return pulumi.get(self, "infra_ids")
2165
+
2166
+ @_builtins.property
2167
+ @pulumi.getter
2168
+ def operator(self) -> _builtins.str:
2169
+ """
2170
+ Operator for comparing infrastructure IDs
2171
+ """
2172
+ return pulumi.get(self, "operator")
2173
+
2174
+
2175
+ @pulumi.output_type
2176
+ class GetSecurityGovernanceRuleTimeWindowResult(dict):
2177
+ def __init__(__self__, *,
2178
+ duration: _builtins.str,
2179
+ end_time: _builtins.int,
2180
+ recurrences: Sequence['outputs.GetSecurityGovernanceRuleTimeWindowRecurrenceResult'],
2181
+ start_time: _builtins.int,
2182
+ time_zone: _builtins.str):
2183
+ """
2184
+ :param _builtins.str duration: Duration of the time window (e.g., '30m', '2h').
2185
+ :param _builtins.int end_time: End time of the time window in milliseconds since epoch.
2186
+ :param Sequence['GetSecurityGovernanceRuleTimeWindowRecurrenceArgs'] recurrences: Recurrence configuration for the time window.
2187
+ :param _builtins.int start_time: Start time of the time window in milliseconds since epoch.
2188
+ :param _builtins.str time_zone: Time zone for the time window.
2189
+ """
2190
+ pulumi.set(__self__, "duration", duration)
2191
+ pulumi.set(__self__, "end_time", end_time)
2192
+ pulumi.set(__self__, "recurrences", recurrences)
2193
+ pulumi.set(__self__, "start_time", start_time)
2194
+ pulumi.set(__self__, "time_zone", time_zone)
2195
+
2196
+ @_builtins.property
2197
+ @pulumi.getter
2198
+ def duration(self) -> _builtins.str:
2199
+ """
2200
+ Duration of the time window (e.g., '30m', '2h').
2201
+ """
2202
+ return pulumi.get(self, "duration")
2203
+
2204
+ @_builtins.property
2205
+ @pulumi.getter(name="endTime")
2206
+ def end_time(self) -> _builtins.int:
2207
+ """
2208
+ End time of the time window in milliseconds since epoch.
2209
+ """
2210
+ return pulumi.get(self, "end_time")
2211
+
2212
+ @_builtins.property
2213
+ @pulumi.getter
2214
+ def recurrences(self) -> Sequence['outputs.GetSecurityGovernanceRuleTimeWindowRecurrenceResult']:
2215
+ """
2216
+ Recurrence configuration for the time window.
2217
+ """
2218
+ return pulumi.get(self, "recurrences")
2219
+
2220
+ @_builtins.property
2221
+ @pulumi.getter(name="startTime")
2222
+ def start_time(self) -> _builtins.int:
2223
+ """
2224
+ Start time of the time window in milliseconds since epoch.
2225
+ """
2226
+ return pulumi.get(self, "start_time")
2227
+
2228
+ @_builtins.property
2229
+ @pulumi.getter(name="timeZone")
2230
+ def time_zone(self) -> _builtins.str:
2231
+ """
2232
+ Time zone for the time window.
2233
+ """
2234
+ return pulumi.get(self, "time_zone")
2235
+
2236
+
2237
+ @pulumi.output_type
2238
+ class GetSecurityGovernanceRuleTimeWindowRecurrenceResult(dict):
2239
+ def __init__(__self__, *,
2240
+ type: _builtins.str,
2241
+ until: _builtins.int,
2242
+ value: _builtins.int):
2243
+ """
2244
+ :param _builtins.str type: Type of recurrence (e.g., 'Daily', 'Weekly', 'Monthly').
2245
+ :param _builtins.int until: Unix timestamp in milliseconds until when the recurrence should continue.
2246
+ :param _builtins.int value: Recurrence value (e.g., interval for daily recurrence).
2247
+ """
2248
+ pulumi.set(__self__, "type", type)
2249
+ pulumi.set(__self__, "until", until)
2250
+ pulumi.set(__self__, "value", value)
2251
+
2252
+ @_builtins.property
2253
+ @pulumi.getter
2254
+ def type(self) -> _builtins.str:
2255
+ """
2256
+ Type of recurrence (e.g., 'Daily', 'Weekly', 'Monthly').
2257
+ """
2258
+ return pulumi.get(self, "type")
2259
+
2260
+ @_builtins.property
2261
+ @pulumi.getter
2262
+ def until(self) -> _builtins.int:
2263
+ """
2264
+ Unix timestamp in milliseconds until when the recurrence should continue.
2265
+ """
2266
+ return pulumi.get(self, "until")
2267
+
2268
+ @_builtins.property
2269
+ @pulumi.getter
2270
+ def value(self) -> _builtins.int:
2271
+ """
2272
+ Recurrence value (e.g., interval for daily recurrence).
2273
+ """
2274
+ return pulumi.get(self, "value")
2275
+
2276
+