pulumi-harness 0.8.0a1755712204__py3-none-any.whl → 0.9.0a1755842147__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.9.0a1755842147.dist-info}/METADATA +1 -1
  220. pulumi_harness-0.9.0a1755842147.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.9.0a1755842147.dist-info}/WHEEL +0 -0
  223. {pulumi_harness-0.8.0a1755712204.dist-info → pulumi_harness-0.9.0a1755842147.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,2702 @@
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
+
17
+ __all__ = [
18
+ 'ImageRegistryCustomImageArgs',
19
+ 'ImageRegistryCustomImageArgsDict',
20
+ 'InfrastructureV2EnvArgs',
21
+ 'InfrastructureV2EnvArgsDict',
22
+ 'InfrastructureV2IdentifierArgs',
23
+ 'InfrastructureV2IdentifierArgsDict',
24
+ 'InfrastructureV2ImageRegistryArgs',
25
+ 'InfrastructureV2ImageRegistryArgsDict',
26
+ 'InfrastructureV2ImageRegistryCustomImageArgs',
27
+ 'InfrastructureV2ImageRegistryCustomImageArgsDict',
28
+ 'InfrastructureV2ImageRegistryIdentifierArgs',
29
+ 'InfrastructureV2ImageRegistryIdentifierArgsDict',
30
+ 'InfrastructureV2MtlsArgs',
31
+ 'InfrastructureV2MtlsArgsDict',
32
+ 'InfrastructureV2ProxyArgs',
33
+ 'InfrastructureV2ProxyArgsDict',
34
+ 'InfrastructureV2TolerationArgs',
35
+ 'InfrastructureV2TolerationArgsDict',
36
+ 'InfrastructureV2VolumeArgs',
37
+ 'InfrastructureV2VolumeArgsDict',
38
+ 'InfrastructureV2VolumeMountArgs',
39
+ 'InfrastructureV2VolumeMountArgsDict',
40
+ 'SecurityGovernanceConditionFaultSpecArgs',
41
+ 'SecurityGovernanceConditionFaultSpecArgsDict',
42
+ 'SecurityGovernanceConditionFaultSpecFaultArgs',
43
+ 'SecurityGovernanceConditionFaultSpecFaultArgsDict',
44
+ 'SecurityGovernanceConditionK8sSpecArgs',
45
+ 'SecurityGovernanceConditionK8sSpecArgsDict',
46
+ 'SecurityGovernanceConditionK8sSpecApplicationSpecArgs',
47
+ 'SecurityGovernanceConditionK8sSpecApplicationSpecArgsDict',
48
+ 'SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs',
49
+ 'SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgsDict',
50
+ 'SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs',
51
+ 'SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgsDict',
52
+ 'SecurityGovernanceConditionK8sSpecInfraSpecArgs',
53
+ 'SecurityGovernanceConditionK8sSpecInfraSpecArgsDict',
54
+ 'SecurityGovernanceConditionMachineSpecArgs',
55
+ 'SecurityGovernanceConditionMachineSpecArgsDict',
56
+ 'SecurityGovernanceConditionMachineSpecInfraSpecArgs',
57
+ 'SecurityGovernanceConditionMachineSpecInfraSpecArgsDict',
58
+ 'SecurityGovernanceRuleTimeWindowArgs',
59
+ 'SecurityGovernanceRuleTimeWindowArgsDict',
60
+ 'SecurityGovernanceRuleTimeWindowRecurrenceArgs',
61
+ 'SecurityGovernanceRuleTimeWindowRecurrenceArgsDict',
62
+ 'GetInfrastructureV2ImageRegistryArgs',
63
+ 'GetInfrastructureV2ImageRegistryArgsDict',
64
+ 'GetInfrastructureV2ImageRegistryCustomImageArgs',
65
+ 'GetInfrastructureV2ImageRegistryCustomImageArgsDict',
66
+ 'GetInfrastructureV2ImageRegistryIdentifierArgs',
67
+ 'GetInfrastructureV2ImageRegistryIdentifierArgsDict',
68
+ 'GetInfrastructureV2MtlsArgs',
69
+ 'GetInfrastructureV2MtlsArgsDict',
70
+ 'GetInfrastructureV2ProxyArgs',
71
+ 'GetInfrastructureV2ProxyArgsDict',
72
+ 'GetInfrastructureV2TolerationArgs',
73
+ 'GetInfrastructureV2TolerationArgsDict',
74
+ 'GetInfrastructureV2VolumeArgs',
75
+ 'GetInfrastructureV2VolumeArgsDict',
76
+ 'GetInfrastructureV2VolumeMountArgs',
77
+ 'GetInfrastructureV2VolumeMountArgsDict',
78
+ ]
79
+
80
+ MYPY = False
81
+
82
+ if not MYPY:
83
+ class ImageRegistryCustomImageArgsDict(TypedDict):
84
+ ddcr: NotRequired[pulumi.Input[_builtins.str]]
85
+ ddcr_fault: NotRequired[pulumi.Input[_builtins.str]]
86
+ ddcr_lib: NotRequired[pulumi.Input[_builtins.str]]
87
+ log_watcher: NotRequired[pulumi.Input[_builtins.str]]
88
+ elif False:
89
+ ImageRegistryCustomImageArgsDict: TypeAlias = Mapping[str, Any]
90
+
91
+ @pulumi.input_type
92
+ class ImageRegistryCustomImageArgs:
93
+ def __init__(__self__, *,
94
+ ddcr: Optional[pulumi.Input[_builtins.str]] = None,
95
+ ddcr_fault: Optional[pulumi.Input[_builtins.str]] = None,
96
+ ddcr_lib: Optional[pulumi.Input[_builtins.str]] = None,
97
+ log_watcher: Optional[pulumi.Input[_builtins.str]] = None):
98
+ if ddcr is not None:
99
+ pulumi.set(__self__, "ddcr", ddcr)
100
+ if ddcr_fault is not None:
101
+ pulumi.set(__self__, "ddcr_fault", ddcr_fault)
102
+ if ddcr_lib is not None:
103
+ pulumi.set(__self__, "ddcr_lib", ddcr_lib)
104
+ if log_watcher is not None:
105
+ pulumi.set(__self__, "log_watcher", log_watcher)
106
+
107
+ @_builtins.property
108
+ @pulumi.getter
109
+ def ddcr(self) -> Optional[pulumi.Input[_builtins.str]]:
110
+ return pulumi.get(self, "ddcr")
111
+
112
+ @ddcr.setter
113
+ def ddcr(self, value: Optional[pulumi.Input[_builtins.str]]):
114
+ pulumi.set(self, "ddcr", value)
115
+
116
+ @_builtins.property
117
+ @pulumi.getter(name="ddcrFault")
118
+ def ddcr_fault(self) -> Optional[pulumi.Input[_builtins.str]]:
119
+ return pulumi.get(self, "ddcr_fault")
120
+
121
+ @ddcr_fault.setter
122
+ def ddcr_fault(self, value: Optional[pulumi.Input[_builtins.str]]):
123
+ pulumi.set(self, "ddcr_fault", value)
124
+
125
+ @_builtins.property
126
+ @pulumi.getter(name="ddcrLib")
127
+ def ddcr_lib(self) -> Optional[pulumi.Input[_builtins.str]]:
128
+ return pulumi.get(self, "ddcr_lib")
129
+
130
+ @ddcr_lib.setter
131
+ def ddcr_lib(self, value: Optional[pulumi.Input[_builtins.str]]):
132
+ pulumi.set(self, "ddcr_lib", value)
133
+
134
+ @_builtins.property
135
+ @pulumi.getter(name="logWatcher")
136
+ def log_watcher(self) -> Optional[pulumi.Input[_builtins.str]]:
137
+ return pulumi.get(self, "log_watcher")
138
+
139
+ @log_watcher.setter
140
+ def log_watcher(self, value: Optional[pulumi.Input[_builtins.str]]):
141
+ pulumi.set(self, "log_watcher", value)
142
+
143
+
144
+ if not MYPY:
145
+ class InfrastructureV2EnvArgsDict(TypedDict):
146
+ name: pulumi.Input[_builtins.str]
147
+ """
148
+ Name of the environment variable. Must be a C_IDENTIFIER.
149
+ """
150
+ key: NotRequired[pulumi.Input[_builtins.str]]
151
+ """
152
+ Variable name from a ConfigMap or Secret. Required when value_from is configMapKeyRef or secretKeyRef.
153
+ """
154
+ value: NotRequired[pulumi.Input[_builtins.str]]
155
+ """
156
+ 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 "".
157
+ """
158
+ value_from: NotRequired[pulumi.Input[_builtins.str]]
159
+ """
160
+ Source for the environment variable's value. Cannot be used if value is not empty.
161
+ """
162
+ elif False:
163
+ InfrastructureV2EnvArgsDict: TypeAlias = Mapping[str, Any]
164
+
165
+ @pulumi.input_type
166
+ class InfrastructureV2EnvArgs:
167
+ def __init__(__self__, *,
168
+ name: pulumi.Input[_builtins.str],
169
+ key: Optional[pulumi.Input[_builtins.str]] = None,
170
+ value: Optional[pulumi.Input[_builtins.str]] = None,
171
+ value_from: Optional[pulumi.Input[_builtins.str]] = None):
172
+ """
173
+ :param pulumi.Input[_builtins.str] name: Name of the environment variable. Must be a C_IDENTIFIER.
174
+ :param pulumi.Input[_builtins.str] key: Variable name from a ConfigMap or Secret. Required when value_from is configMapKeyRef or secretKeyRef.
175
+ :param pulumi.Input[_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 "".
176
+ :param pulumi.Input[_builtins.str] value_from: Source for the environment variable's value. Cannot be used if value is not empty.
177
+ """
178
+ pulumi.set(__self__, "name", name)
179
+ if key is not None:
180
+ pulumi.set(__self__, "key", key)
181
+ if value is not None:
182
+ pulumi.set(__self__, "value", value)
183
+ if value_from is not None:
184
+ pulumi.set(__self__, "value_from", value_from)
185
+
186
+ @_builtins.property
187
+ @pulumi.getter
188
+ def name(self) -> pulumi.Input[_builtins.str]:
189
+ """
190
+ Name of the environment variable. Must be a C_IDENTIFIER.
191
+ """
192
+ return pulumi.get(self, "name")
193
+
194
+ @name.setter
195
+ def name(self, value: pulumi.Input[_builtins.str]):
196
+ pulumi.set(self, "name", value)
197
+
198
+ @_builtins.property
199
+ @pulumi.getter
200
+ def key(self) -> Optional[pulumi.Input[_builtins.str]]:
201
+ """
202
+ Variable name from a ConfigMap or Secret. Required when value_from is configMapKeyRef or secretKeyRef.
203
+ """
204
+ return pulumi.get(self, "key")
205
+
206
+ @key.setter
207
+ def key(self, value: Optional[pulumi.Input[_builtins.str]]):
208
+ pulumi.set(self, "key", value)
209
+
210
+ @_builtins.property
211
+ @pulumi.getter
212
+ def value(self) -> Optional[pulumi.Input[_builtins.str]]:
213
+ """
214
+ 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 "".
215
+ """
216
+ return pulumi.get(self, "value")
217
+
218
+ @value.setter
219
+ def value(self, value: Optional[pulumi.Input[_builtins.str]]):
220
+ pulumi.set(self, "value", value)
221
+
222
+ @_builtins.property
223
+ @pulumi.getter(name="valueFrom")
224
+ def value_from(self) -> Optional[pulumi.Input[_builtins.str]]:
225
+ """
226
+ Source for the environment variable's value. Cannot be used if value is not empty.
227
+ """
228
+ return pulumi.get(self, "value_from")
229
+
230
+ @value_from.setter
231
+ def value_from(self, value: Optional[pulumi.Input[_builtins.str]]):
232
+ pulumi.set(self, "value_from", value)
233
+
234
+
235
+ if not MYPY:
236
+ class InfrastructureV2IdentifierArgsDict(TypedDict):
237
+ account_identifier: NotRequired[pulumi.Input[_builtins.str]]
238
+ """
239
+ Account identifier.
240
+ """
241
+ org_identifier: NotRequired[pulumi.Input[_builtins.str]]
242
+ """
243
+ Organization identifier.
244
+ """
245
+ project_identifier: NotRequired[pulumi.Input[_builtins.str]]
246
+ """
247
+ Project identifier.
248
+ """
249
+ elif False:
250
+ InfrastructureV2IdentifierArgsDict: TypeAlias = Mapping[str, Any]
251
+
252
+ @pulumi.input_type
253
+ class InfrastructureV2IdentifierArgs:
254
+ def __init__(__self__, *,
255
+ account_identifier: Optional[pulumi.Input[_builtins.str]] = None,
256
+ org_identifier: Optional[pulumi.Input[_builtins.str]] = None,
257
+ project_identifier: Optional[pulumi.Input[_builtins.str]] = None):
258
+ """
259
+ :param pulumi.Input[_builtins.str] account_identifier: Account identifier.
260
+ :param pulumi.Input[_builtins.str] org_identifier: Organization identifier.
261
+ :param pulumi.Input[_builtins.str] project_identifier: Project identifier.
262
+ """
263
+ if account_identifier is not None:
264
+ pulumi.set(__self__, "account_identifier", account_identifier)
265
+ if org_identifier is not None:
266
+ pulumi.set(__self__, "org_identifier", org_identifier)
267
+ if project_identifier is not None:
268
+ pulumi.set(__self__, "project_identifier", project_identifier)
269
+
270
+ @_builtins.property
271
+ @pulumi.getter(name="accountIdentifier")
272
+ def account_identifier(self) -> Optional[pulumi.Input[_builtins.str]]:
273
+ """
274
+ Account identifier.
275
+ """
276
+ return pulumi.get(self, "account_identifier")
277
+
278
+ @account_identifier.setter
279
+ def account_identifier(self, value: Optional[pulumi.Input[_builtins.str]]):
280
+ pulumi.set(self, "account_identifier", value)
281
+
282
+ @_builtins.property
283
+ @pulumi.getter(name="orgIdentifier")
284
+ def org_identifier(self) -> Optional[pulumi.Input[_builtins.str]]:
285
+ """
286
+ Organization identifier.
287
+ """
288
+ return pulumi.get(self, "org_identifier")
289
+
290
+ @org_identifier.setter
291
+ def org_identifier(self, value: Optional[pulumi.Input[_builtins.str]]):
292
+ pulumi.set(self, "org_identifier", value)
293
+
294
+ @_builtins.property
295
+ @pulumi.getter(name="projectIdentifier")
296
+ def project_identifier(self) -> Optional[pulumi.Input[_builtins.str]]:
297
+ """
298
+ Project identifier.
299
+ """
300
+ return pulumi.get(self, "project_identifier")
301
+
302
+ @project_identifier.setter
303
+ def project_identifier(self, value: Optional[pulumi.Input[_builtins.str]]):
304
+ pulumi.set(self, "project_identifier", value)
305
+
306
+
307
+ if not MYPY:
308
+ class InfrastructureV2ImageRegistryArgsDict(TypedDict):
309
+ created_at: NotRequired[pulumi.Input[_builtins.str]]
310
+ """
311
+ Timestamp when the registry was created.
312
+ """
313
+ custom_images: NotRequired[pulumi.Input[Sequence[pulumi.Input['InfrastructureV2ImageRegistryCustomImageArgsDict']]]]
314
+ """
315
+ Custom image configurations. Required when use*custom*images is true.
316
+ """
317
+ identifiers: NotRequired[pulumi.Input[Sequence[pulumi.Input['InfrastructureV2ImageRegistryIdentifierArgsDict']]]]
318
+ """
319
+ Scoped identifiers for the registry.
320
+ """
321
+ infra_id: NotRequired[pulumi.Input[_builtins.str]]
322
+ """
323
+ ID of the infrastructure.
324
+ """
325
+ is_default: NotRequired[pulumi.Input[_builtins.bool]]
326
+ """
327
+ Whether this is the default registry.
328
+ """
329
+ is_override_allowed: NotRequired[pulumi.Input[_builtins.bool]]
330
+ """
331
+ Whether override is allowed for this registry.
332
+ """
333
+ is_private: NotRequired[pulumi.Input[_builtins.bool]]
334
+ """
335
+ Whether the registry is private.
336
+ """
337
+ registry_account: NotRequired[pulumi.Input[_builtins.str]]
338
+ """
339
+ The account name for the container registry.
340
+ """
341
+ registry_server: NotRequired[pulumi.Input[_builtins.str]]
342
+ """
343
+ The container image registry server URL (e.g., docker.io, gcr.io).
344
+ """
345
+ secret_name: NotRequired[pulumi.Input[_builtins.str]]
346
+ """
347
+ Name of the Kubernetes secret containing registry credentials.
348
+ """
349
+ updated_at: NotRequired[pulumi.Input[_builtins.str]]
350
+ """
351
+ Timestamp when the registry was last updated.
352
+ """
353
+ use_custom_images: NotRequired[pulumi.Input[_builtins.bool]]
354
+ """
355
+ Whether to use custom images instead of default ones.
356
+ """
357
+ elif False:
358
+ InfrastructureV2ImageRegistryArgsDict: TypeAlias = Mapping[str, Any]
359
+
360
+ @pulumi.input_type
361
+ class InfrastructureV2ImageRegistryArgs:
362
+ def __init__(__self__, *,
363
+ created_at: Optional[pulumi.Input[_builtins.str]] = None,
364
+ custom_images: Optional[pulumi.Input[Sequence[pulumi.Input['InfrastructureV2ImageRegistryCustomImageArgs']]]] = None,
365
+ identifiers: Optional[pulumi.Input[Sequence[pulumi.Input['InfrastructureV2ImageRegistryIdentifierArgs']]]] = None,
366
+ infra_id: Optional[pulumi.Input[_builtins.str]] = None,
367
+ is_default: Optional[pulumi.Input[_builtins.bool]] = None,
368
+ is_override_allowed: Optional[pulumi.Input[_builtins.bool]] = None,
369
+ is_private: Optional[pulumi.Input[_builtins.bool]] = None,
370
+ registry_account: Optional[pulumi.Input[_builtins.str]] = None,
371
+ registry_server: Optional[pulumi.Input[_builtins.str]] = None,
372
+ secret_name: Optional[pulumi.Input[_builtins.str]] = None,
373
+ updated_at: Optional[pulumi.Input[_builtins.str]] = None,
374
+ use_custom_images: Optional[pulumi.Input[_builtins.bool]] = None):
375
+ """
376
+ :param pulumi.Input[_builtins.str] created_at: Timestamp when the registry was created.
377
+ :param pulumi.Input[Sequence[pulumi.Input['InfrastructureV2ImageRegistryCustomImageArgs']]] custom_images: Custom image configurations. Required when use*custom*images is true.
378
+ :param pulumi.Input[Sequence[pulumi.Input['InfrastructureV2ImageRegistryIdentifierArgs']]] identifiers: Scoped identifiers for the registry.
379
+ :param pulumi.Input[_builtins.str] infra_id: ID of the infrastructure.
380
+ :param pulumi.Input[_builtins.bool] is_default: Whether this is the default registry.
381
+ :param pulumi.Input[_builtins.bool] is_override_allowed: Whether override is allowed for this registry.
382
+ :param pulumi.Input[_builtins.bool] is_private: Whether the registry is private.
383
+ :param pulumi.Input[_builtins.str] registry_account: The account name for the container registry.
384
+ :param pulumi.Input[_builtins.str] registry_server: The container image registry server URL (e.g., docker.io, gcr.io).
385
+ :param pulumi.Input[_builtins.str] secret_name: Name of the Kubernetes secret containing registry credentials.
386
+ :param pulumi.Input[_builtins.str] updated_at: Timestamp when the registry was last updated.
387
+ :param pulumi.Input[_builtins.bool] use_custom_images: Whether to use custom images instead of default ones.
388
+ """
389
+ if created_at is not None:
390
+ pulumi.set(__self__, "created_at", created_at)
391
+ if custom_images is not None:
392
+ pulumi.set(__self__, "custom_images", custom_images)
393
+ if identifiers is not None:
394
+ pulumi.set(__self__, "identifiers", identifiers)
395
+ if infra_id is not None:
396
+ pulumi.set(__self__, "infra_id", infra_id)
397
+ if is_default is not None:
398
+ pulumi.set(__self__, "is_default", is_default)
399
+ if is_override_allowed is not None:
400
+ pulumi.set(__self__, "is_override_allowed", is_override_allowed)
401
+ if is_private is not None:
402
+ pulumi.set(__self__, "is_private", is_private)
403
+ if registry_account is not None:
404
+ pulumi.set(__self__, "registry_account", registry_account)
405
+ if registry_server is not None:
406
+ pulumi.set(__self__, "registry_server", registry_server)
407
+ if secret_name is not None:
408
+ pulumi.set(__self__, "secret_name", secret_name)
409
+ if updated_at is not None:
410
+ pulumi.set(__self__, "updated_at", updated_at)
411
+ if use_custom_images is not None:
412
+ pulumi.set(__self__, "use_custom_images", use_custom_images)
413
+
414
+ @_builtins.property
415
+ @pulumi.getter(name="createdAt")
416
+ def created_at(self) -> Optional[pulumi.Input[_builtins.str]]:
417
+ """
418
+ Timestamp when the registry was created.
419
+ """
420
+ return pulumi.get(self, "created_at")
421
+
422
+ @created_at.setter
423
+ def created_at(self, value: Optional[pulumi.Input[_builtins.str]]):
424
+ pulumi.set(self, "created_at", value)
425
+
426
+ @_builtins.property
427
+ @pulumi.getter(name="customImages")
428
+ def custom_images(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InfrastructureV2ImageRegistryCustomImageArgs']]]]:
429
+ """
430
+ Custom image configurations. Required when use*custom*images is true.
431
+ """
432
+ return pulumi.get(self, "custom_images")
433
+
434
+ @custom_images.setter
435
+ def custom_images(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InfrastructureV2ImageRegistryCustomImageArgs']]]]):
436
+ pulumi.set(self, "custom_images", value)
437
+
438
+ @_builtins.property
439
+ @pulumi.getter
440
+ def identifiers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['InfrastructureV2ImageRegistryIdentifierArgs']]]]:
441
+ """
442
+ Scoped identifiers for the registry.
443
+ """
444
+ return pulumi.get(self, "identifiers")
445
+
446
+ @identifiers.setter
447
+ def identifiers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['InfrastructureV2ImageRegistryIdentifierArgs']]]]):
448
+ pulumi.set(self, "identifiers", value)
449
+
450
+ @_builtins.property
451
+ @pulumi.getter(name="infraId")
452
+ def infra_id(self) -> Optional[pulumi.Input[_builtins.str]]:
453
+ """
454
+ ID of the infrastructure.
455
+ """
456
+ return pulumi.get(self, "infra_id")
457
+
458
+ @infra_id.setter
459
+ def infra_id(self, value: Optional[pulumi.Input[_builtins.str]]):
460
+ pulumi.set(self, "infra_id", value)
461
+
462
+ @_builtins.property
463
+ @pulumi.getter(name="isDefault")
464
+ def is_default(self) -> Optional[pulumi.Input[_builtins.bool]]:
465
+ """
466
+ Whether this is the default registry.
467
+ """
468
+ return pulumi.get(self, "is_default")
469
+
470
+ @is_default.setter
471
+ def is_default(self, value: Optional[pulumi.Input[_builtins.bool]]):
472
+ pulumi.set(self, "is_default", value)
473
+
474
+ @_builtins.property
475
+ @pulumi.getter(name="isOverrideAllowed")
476
+ def is_override_allowed(self) -> Optional[pulumi.Input[_builtins.bool]]:
477
+ """
478
+ Whether override is allowed for this registry.
479
+ """
480
+ return pulumi.get(self, "is_override_allowed")
481
+
482
+ @is_override_allowed.setter
483
+ def is_override_allowed(self, value: Optional[pulumi.Input[_builtins.bool]]):
484
+ pulumi.set(self, "is_override_allowed", value)
485
+
486
+ @_builtins.property
487
+ @pulumi.getter(name="isPrivate")
488
+ def is_private(self) -> Optional[pulumi.Input[_builtins.bool]]:
489
+ """
490
+ Whether the registry is private.
491
+ """
492
+ return pulumi.get(self, "is_private")
493
+
494
+ @is_private.setter
495
+ def is_private(self, value: Optional[pulumi.Input[_builtins.bool]]):
496
+ pulumi.set(self, "is_private", value)
497
+
498
+ @_builtins.property
499
+ @pulumi.getter(name="registryAccount")
500
+ def registry_account(self) -> Optional[pulumi.Input[_builtins.str]]:
501
+ """
502
+ The account name for the container registry.
503
+ """
504
+ return pulumi.get(self, "registry_account")
505
+
506
+ @registry_account.setter
507
+ def registry_account(self, value: Optional[pulumi.Input[_builtins.str]]):
508
+ pulumi.set(self, "registry_account", value)
509
+
510
+ @_builtins.property
511
+ @pulumi.getter(name="registryServer")
512
+ def registry_server(self) -> Optional[pulumi.Input[_builtins.str]]:
513
+ """
514
+ The container image registry server URL (e.g., docker.io, gcr.io).
515
+ """
516
+ return pulumi.get(self, "registry_server")
517
+
518
+ @registry_server.setter
519
+ def registry_server(self, value: Optional[pulumi.Input[_builtins.str]]):
520
+ pulumi.set(self, "registry_server", value)
521
+
522
+ @_builtins.property
523
+ @pulumi.getter(name="secretName")
524
+ def secret_name(self) -> Optional[pulumi.Input[_builtins.str]]:
525
+ """
526
+ Name of the Kubernetes secret containing registry credentials.
527
+ """
528
+ return pulumi.get(self, "secret_name")
529
+
530
+ @secret_name.setter
531
+ def secret_name(self, value: Optional[pulumi.Input[_builtins.str]]):
532
+ pulumi.set(self, "secret_name", value)
533
+
534
+ @_builtins.property
535
+ @pulumi.getter(name="updatedAt")
536
+ def updated_at(self) -> Optional[pulumi.Input[_builtins.str]]:
537
+ """
538
+ Timestamp when the registry was last updated.
539
+ """
540
+ return pulumi.get(self, "updated_at")
541
+
542
+ @updated_at.setter
543
+ def updated_at(self, value: Optional[pulumi.Input[_builtins.str]]):
544
+ pulumi.set(self, "updated_at", value)
545
+
546
+ @_builtins.property
547
+ @pulumi.getter(name="useCustomImages")
548
+ def use_custom_images(self) -> Optional[pulumi.Input[_builtins.bool]]:
549
+ """
550
+ Whether to use custom images instead of default ones.
551
+ """
552
+ return pulumi.get(self, "use_custom_images")
553
+
554
+ @use_custom_images.setter
555
+ def use_custom_images(self, value: Optional[pulumi.Input[_builtins.bool]]):
556
+ pulumi.set(self, "use_custom_images", value)
557
+
558
+
559
+ if not MYPY:
560
+ class InfrastructureV2ImageRegistryCustomImageArgsDict(TypedDict):
561
+ ddcr: NotRequired[pulumi.Input[_builtins.str]]
562
+ """
563
+ Custom image for ddcr.
564
+ """
565
+ ddcr_fault: NotRequired[pulumi.Input[_builtins.str]]
566
+ """
567
+ Custom image for ddcr-fault.
568
+ """
569
+ ddcr_lib: NotRequired[pulumi.Input[_builtins.str]]
570
+ """
571
+ Custom image for ddcr-lib.
572
+ """
573
+ log_watcher: NotRequired[pulumi.Input[_builtins.str]]
574
+ """
575
+ Custom image for log-watcher.
576
+ """
577
+ elif False:
578
+ InfrastructureV2ImageRegistryCustomImageArgsDict: TypeAlias = Mapping[str, Any]
579
+
580
+ @pulumi.input_type
581
+ class InfrastructureV2ImageRegistryCustomImageArgs:
582
+ def __init__(__self__, *,
583
+ ddcr: Optional[pulumi.Input[_builtins.str]] = None,
584
+ ddcr_fault: Optional[pulumi.Input[_builtins.str]] = None,
585
+ ddcr_lib: Optional[pulumi.Input[_builtins.str]] = None,
586
+ log_watcher: Optional[pulumi.Input[_builtins.str]] = None):
587
+ """
588
+ :param pulumi.Input[_builtins.str] ddcr: Custom image for ddcr.
589
+ :param pulumi.Input[_builtins.str] ddcr_fault: Custom image for ddcr-fault.
590
+ :param pulumi.Input[_builtins.str] ddcr_lib: Custom image for ddcr-lib.
591
+ :param pulumi.Input[_builtins.str] log_watcher: Custom image for log-watcher.
592
+ """
593
+ if ddcr is not None:
594
+ pulumi.set(__self__, "ddcr", ddcr)
595
+ if ddcr_fault is not None:
596
+ pulumi.set(__self__, "ddcr_fault", ddcr_fault)
597
+ if ddcr_lib is not None:
598
+ pulumi.set(__self__, "ddcr_lib", ddcr_lib)
599
+ if log_watcher is not None:
600
+ pulumi.set(__self__, "log_watcher", log_watcher)
601
+
602
+ @_builtins.property
603
+ @pulumi.getter
604
+ def ddcr(self) -> Optional[pulumi.Input[_builtins.str]]:
605
+ """
606
+ Custom image for ddcr.
607
+ """
608
+ return pulumi.get(self, "ddcr")
609
+
610
+ @ddcr.setter
611
+ def ddcr(self, value: Optional[pulumi.Input[_builtins.str]]):
612
+ pulumi.set(self, "ddcr", value)
613
+
614
+ @_builtins.property
615
+ @pulumi.getter(name="ddcrFault")
616
+ def ddcr_fault(self) -> Optional[pulumi.Input[_builtins.str]]:
617
+ """
618
+ Custom image for ddcr-fault.
619
+ """
620
+ return pulumi.get(self, "ddcr_fault")
621
+
622
+ @ddcr_fault.setter
623
+ def ddcr_fault(self, value: Optional[pulumi.Input[_builtins.str]]):
624
+ pulumi.set(self, "ddcr_fault", value)
625
+
626
+ @_builtins.property
627
+ @pulumi.getter(name="ddcrLib")
628
+ def ddcr_lib(self) -> Optional[pulumi.Input[_builtins.str]]:
629
+ """
630
+ Custom image for ddcr-lib.
631
+ """
632
+ return pulumi.get(self, "ddcr_lib")
633
+
634
+ @ddcr_lib.setter
635
+ def ddcr_lib(self, value: Optional[pulumi.Input[_builtins.str]]):
636
+ pulumi.set(self, "ddcr_lib", value)
637
+
638
+ @_builtins.property
639
+ @pulumi.getter(name="logWatcher")
640
+ def log_watcher(self) -> Optional[pulumi.Input[_builtins.str]]:
641
+ """
642
+ Custom image for log-watcher.
643
+ """
644
+ return pulumi.get(self, "log_watcher")
645
+
646
+ @log_watcher.setter
647
+ def log_watcher(self, value: Optional[pulumi.Input[_builtins.str]]):
648
+ pulumi.set(self, "log_watcher", value)
649
+
650
+
651
+ if not MYPY:
652
+ class InfrastructureV2ImageRegistryIdentifierArgsDict(TypedDict):
653
+ account_identifier: NotRequired[pulumi.Input[_builtins.str]]
654
+ """
655
+ Harness account identifier.
656
+ """
657
+ org_identifier: NotRequired[pulumi.Input[_builtins.str]]
658
+ """
659
+ Harness organization identifier.
660
+ """
661
+ project_identifier: NotRequired[pulumi.Input[_builtins.str]]
662
+ """
663
+ Harness project identifier.
664
+ """
665
+ elif False:
666
+ InfrastructureV2ImageRegistryIdentifierArgsDict: TypeAlias = Mapping[str, Any]
667
+
668
+ @pulumi.input_type
669
+ class InfrastructureV2ImageRegistryIdentifierArgs:
670
+ def __init__(__self__, *,
671
+ account_identifier: Optional[pulumi.Input[_builtins.str]] = None,
672
+ org_identifier: Optional[pulumi.Input[_builtins.str]] = None,
673
+ project_identifier: Optional[pulumi.Input[_builtins.str]] = None):
674
+ """
675
+ :param pulumi.Input[_builtins.str] account_identifier: Harness account identifier.
676
+ :param pulumi.Input[_builtins.str] org_identifier: Harness organization identifier.
677
+ :param pulumi.Input[_builtins.str] project_identifier: Harness project identifier.
678
+ """
679
+ if account_identifier is not None:
680
+ pulumi.set(__self__, "account_identifier", account_identifier)
681
+ if org_identifier is not None:
682
+ pulumi.set(__self__, "org_identifier", org_identifier)
683
+ if project_identifier is not None:
684
+ pulumi.set(__self__, "project_identifier", project_identifier)
685
+
686
+ @_builtins.property
687
+ @pulumi.getter(name="accountIdentifier")
688
+ def account_identifier(self) -> Optional[pulumi.Input[_builtins.str]]:
689
+ """
690
+ Harness account identifier.
691
+ """
692
+ return pulumi.get(self, "account_identifier")
693
+
694
+ @account_identifier.setter
695
+ def account_identifier(self, value: Optional[pulumi.Input[_builtins.str]]):
696
+ pulumi.set(self, "account_identifier", value)
697
+
698
+ @_builtins.property
699
+ @pulumi.getter(name="orgIdentifier")
700
+ def org_identifier(self) -> Optional[pulumi.Input[_builtins.str]]:
701
+ """
702
+ Harness organization identifier.
703
+ """
704
+ return pulumi.get(self, "org_identifier")
705
+
706
+ @org_identifier.setter
707
+ def org_identifier(self, value: Optional[pulumi.Input[_builtins.str]]):
708
+ pulumi.set(self, "org_identifier", value)
709
+
710
+ @_builtins.property
711
+ @pulumi.getter(name="projectIdentifier")
712
+ def project_identifier(self) -> Optional[pulumi.Input[_builtins.str]]:
713
+ """
714
+ Harness project identifier.
715
+ """
716
+ return pulumi.get(self, "project_identifier")
717
+
718
+ @project_identifier.setter
719
+ def project_identifier(self, value: Optional[pulumi.Input[_builtins.str]]):
720
+ pulumi.set(self, "project_identifier", value)
721
+
722
+
723
+ if not MYPY:
724
+ class InfrastructureV2MtlsArgsDict(TypedDict):
725
+ cert_path: NotRequired[pulumi.Input[_builtins.str]]
726
+ """
727
+ Path to the certificate file for mTLS
728
+ """
729
+ key_path: NotRequired[pulumi.Input[_builtins.str]]
730
+ """
731
+ Path to the private key file for mTLS
732
+ """
733
+ secret_name: NotRequired[pulumi.Input[_builtins.str]]
734
+ """
735
+ Name of the Kubernetes secret containing mTLS certificates
736
+ """
737
+ url: NotRequired[pulumi.Input[_builtins.str]]
738
+ """
739
+ URL for the mTLS endpoint
740
+ """
741
+ elif False:
742
+ InfrastructureV2MtlsArgsDict: TypeAlias = Mapping[str, Any]
743
+
744
+ @pulumi.input_type
745
+ class InfrastructureV2MtlsArgs:
746
+ def __init__(__self__, *,
747
+ cert_path: Optional[pulumi.Input[_builtins.str]] = None,
748
+ key_path: Optional[pulumi.Input[_builtins.str]] = None,
749
+ secret_name: Optional[pulumi.Input[_builtins.str]] = None,
750
+ url: Optional[pulumi.Input[_builtins.str]] = None):
751
+ """
752
+ :param pulumi.Input[_builtins.str] cert_path: Path to the certificate file for mTLS
753
+ :param pulumi.Input[_builtins.str] key_path: Path to the private key file for mTLS
754
+ :param pulumi.Input[_builtins.str] secret_name: Name of the Kubernetes secret containing mTLS certificates
755
+ :param pulumi.Input[_builtins.str] url: URL for the mTLS endpoint
756
+ """
757
+ if cert_path is not None:
758
+ pulumi.set(__self__, "cert_path", cert_path)
759
+ if key_path is not None:
760
+ pulumi.set(__self__, "key_path", key_path)
761
+ if secret_name is not None:
762
+ pulumi.set(__self__, "secret_name", secret_name)
763
+ if url is not None:
764
+ pulumi.set(__self__, "url", url)
765
+
766
+ @_builtins.property
767
+ @pulumi.getter(name="certPath")
768
+ def cert_path(self) -> Optional[pulumi.Input[_builtins.str]]:
769
+ """
770
+ Path to the certificate file for mTLS
771
+ """
772
+ return pulumi.get(self, "cert_path")
773
+
774
+ @cert_path.setter
775
+ def cert_path(self, value: Optional[pulumi.Input[_builtins.str]]):
776
+ pulumi.set(self, "cert_path", value)
777
+
778
+ @_builtins.property
779
+ @pulumi.getter(name="keyPath")
780
+ def key_path(self) -> Optional[pulumi.Input[_builtins.str]]:
781
+ """
782
+ Path to the private key file for mTLS
783
+ """
784
+ return pulumi.get(self, "key_path")
785
+
786
+ @key_path.setter
787
+ def key_path(self, value: Optional[pulumi.Input[_builtins.str]]):
788
+ pulumi.set(self, "key_path", value)
789
+
790
+ @_builtins.property
791
+ @pulumi.getter(name="secretName")
792
+ def secret_name(self) -> Optional[pulumi.Input[_builtins.str]]:
793
+ """
794
+ Name of the Kubernetes secret containing mTLS certificates
795
+ """
796
+ return pulumi.get(self, "secret_name")
797
+
798
+ @secret_name.setter
799
+ def secret_name(self, value: Optional[pulumi.Input[_builtins.str]]):
800
+ pulumi.set(self, "secret_name", value)
801
+
802
+ @_builtins.property
803
+ @pulumi.getter
804
+ def url(self) -> Optional[pulumi.Input[_builtins.str]]:
805
+ """
806
+ URL for the mTLS endpoint
807
+ """
808
+ return pulumi.get(self, "url")
809
+
810
+ @url.setter
811
+ def url(self, value: Optional[pulumi.Input[_builtins.str]]):
812
+ pulumi.set(self, "url", value)
813
+
814
+
815
+ if not MYPY:
816
+ class InfrastructureV2ProxyArgsDict(TypedDict):
817
+ url: pulumi.Input[_builtins.str]
818
+ """
819
+ Proxy URL.
820
+ """
821
+ http_proxy: NotRequired[pulumi.Input[_builtins.str]]
822
+ """
823
+ HTTP proxy URL.
824
+ """
825
+ https_proxy: NotRequired[pulumi.Input[_builtins.str]]
826
+ """
827
+ HTTPS proxy URL.
828
+ """
829
+ no_proxy: NotRequired[pulumi.Input[_builtins.str]]
830
+ """
831
+ List of hosts that should not use proxy.
832
+ """
833
+ elif False:
834
+ InfrastructureV2ProxyArgsDict: TypeAlias = Mapping[str, Any]
835
+
836
+ @pulumi.input_type
837
+ class InfrastructureV2ProxyArgs:
838
+ def __init__(__self__, *,
839
+ url: pulumi.Input[_builtins.str],
840
+ http_proxy: Optional[pulumi.Input[_builtins.str]] = None,
841
+ https_proxy: Optional[pulumi.Input[_builtins.str]] = None,
842
+ no_proxy: Optional[pulumi.Input[_builtins.str]] = None):
843
+ """
844
+ :param pulumi.Input[_builtins.str] url: Proxy URL.
845
+ :param pulumi.Input[_builtins.str] http_proxy: HTTP proxy URL.
846
+ :param pulumi.Input[_builtins.str] https_proxy: HTTPS proxy URL.
847
+ :param pulumi.Input[_builtins.str] no_proxy: List of hosts that should not use proxy.
848
+ """
849
+ pulumi.set(__self__, "url", url)
850
+ if http_proxy is not None:
851
+ pulumi.set(__self__, "http_proxy", http_proxy)
852
+ if https_proxy is not None:
853
+ pulumi.set(__self__, "https_proxy", https_proxy)
854
+ if no_proxy is not None:
855
+ pulumi.set(__self__, "no_proxy", no_proxy)
856
+
857
+ @_builtins.property
858
+ @pulumi.getter
859
+ def url(self) -> pulumi.Input[_builtins.str]:
860
+ """
861
+ Proxy URL.
862
+ """
863
+ return pulumi.get(self, "url")
864
+
865
+ @url.setter
866
+ def url(self, value: pulumi.Input[_builtins.str]):
867
+ pulumi.set(self, "url", value)
868
+
869
+ @_builtins.property
870
+ @pulumi.getter(name="httpProxy")
871
+ def http_proxy(self) -> Optional[pulumi.Input[_builtins.str]]:
872
+ """
873
+ HTTP proxy URL.
874
+ """
875
+ return pulumi.get(self, "http_proxy")
876
+
877
+ @http_proxy.setter
878
+ def http_proxy(self, value: Optional[pulumi.Input[_builtins.str]]):
879
+ pulumi.set(self, "http_proxy", value)
880
+
881
+ @_builtins.property
882
+ @pulumi.getter(name="httpsProxy")
883
+ def https_proxy(self) -> Optional[pulumi.Input[_builtins.str]]:
884
+ """
885
+ HTTPS proxy URL.
886
+ """
887
+ return pulumi.get(self, "https_proxy")
888
+
889
+ @https_proxy.setter
890
+ def https_proxy(self, value: Optional[pulumi.Input[_builtins.str]]):
891
+ pulumi.set(self, "https_proxy", value)
892
+
893
+ @_builtins.property
894
+ @pulumi.getter(name="noProxy")
895
+ def no_proxy(self) -> Optional[pulumi.Input[_builtins.str]]:
896
+ """
897
+ List of hosts that should not use proxy.
898
+ """
899
+ return pulumi.get(self, "no_proxy")
900
+
901
+ @no_proxy.setter
902
+ def no_proxy(self, value: Optional[pulumi.Input[_builtins.str]]):
903
+ pulumi.set(self, "no_proxy", value)
904
+
905
+
906
+ if not MYPY:
907
+ class InfrastructureV2TolerationArgsDict(TypedDict):
908
+ effect: pulumi.Input[_builtins.str]
909
+ """
910
+ Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
911
+ """
912
+ key: pulumi.Input[_builtins.str]
913
+ """
914
+ 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.
915
+ """
916
+ operator: pulumi.Input[_builtins.str]
917
+ """
918
+ Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.
919
+ """
920
+ toleration_seconds: NotRequired[pulumi.Input[_builtins.int]]
921
+ """
922
+ 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.
923
+ """
924
+ value: NotRequired[pulumi.Input[_builtins.str]]
925
+ """
926
+ Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
927
+ """
928
+ elif False:
929
+ InfrastructureV2TolerationArgsDict: TypeAlias = Mapping[str, Any]
930
+
931
+ @pulumi.input_type
932
+ class InfrastructureV2TolerationArgs:
933
+ def __init__(__self__, *,
934
+ effect: pulumi.Input[_builtins.str],
935
+ key: pulumi.Input[_builtins.str],
936
+ operator: pulumi.Input[_builtins.str],
937
+ toleration_seconds: Optional[pulumi.Input[_builtins.int]] = None,
938
+ value: Optional[pulumi.Input[_builtins.str]] = None):
939
+ """
940
+ :param pulumi.Input[_builtins.str] effect: Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
941
+ :param pulumi.Input[_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.
942
+ :param pulumi.Input[_builtins.str] operator: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.
943
+ :param pulumi.Input[_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.
944
+ :param pulumi.Input[_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.
945
+ """
946
+ pulumi.set(__self__, "effect", effect)
947
+ pulumi.set(__self__, "key", key)
948
+ pulumi.set(__self__, "operator", operator)
949
+ if toleration_seconds is not None:
950
+ pulumi.set(__self__, "toleration_seconds", toleration_seconds)
951
+ if value is not None:
952
+ pulumi.set(__self__, "value", value)
953
+
954
+ @_builtins.property
955
+ @pulumi.getter
956
+ def effect(self) -> pulumi.Input[_builtins.str]:
957
+ """
958
+ Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
959
+ """
960
+ return pulumi.get(self, "effect")
961
+
962
+ @effect.setter
963
+ def effect(self, value: pulumi.Input[_builtins.str]):
964
+ pulumi.set(self, "effect", value)
965
+
966
+ @_builtins.property
967
+ @pulumi.getter
968
+ def key(self) -> pulumi.Input[_builtins.str]:
969
+ """
970
+ 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.
971
+ """
972
+ return pulumi.get(self, "key")
973
+
974
+ @key.setter
975
+ def key(self, value: pulumi.Input[_builtins.str]):
976
+ pulumi.set(self, "key", value)
977
+
978
+ @_builtins.property
979
+ @pulumi.getter
980
+ def operator(self) -> pulumi.Input[_builtins.str]:
981
+ """
982
+ Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.
983
+ """
984
+ return pulumi.get(self, "operator")
985
+
986
+ @operator.setter
987
+ def operator(self, value: pulumi.Input[_builtins.str]):
988
+ pulumi.set(self, "operator", value)
989
+
990
+ @_builtins.property
991
+ @pulumi.getter(name="tolerationSeconds")
992
+ def toleration_seconds(self) -> Optional[pulumi.Input[_builtins.int]]:
993
+ """
994
+ 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.
995
+ """
996
+ return pulumi.get(self, "toleration_seconds")
997
+
998
+ @toleration_seconds.setter
999
+ def toleration_seconds(self, value: Optional[pulumi.Input[_builtins.int]]):
1000
+ pulumi.set(self, "toleration_seconds", value)
1001
+
1002
+ @_builtins.property
1003
+ @pulumi.getter
1004
+ def value(self) -> Optional[pulumi.Input[_builtins.str]]:
1005
+ """
1006
+ Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
1007
+ """
1008
+ return pulumi.get(self, "value")
1009
+
1010
+ @value.setter
1011
+ def value(self, value: Optional[pulumi.Input[_builtins.str]]):
1012
+ pulumi.set(self, "value", value)
1013
+
1014
+
1015
+ if not MYPY:
1016
+ class InfrastructureV2VolumeArgsDict(TypedDict):
1017
+ name: pulumi.Input[_builtins.str]
1018
+ """
1019
+ Name of the volume. Must be a DNS_LABEL and unique within the pod.
1020
+ """
1021
+ size_limit: NotRequired[pulumi.Input[_builtins.str]]
1022
+ """
1023
+ Size limit of the volume. Example: '10Gi', '100Mi'
1024
+ """
1025
+ elif False:
1026
+ InfrastructureV2VolumeArgsDict: TypeAlias = Mapping[str, Any]
1027
+
1028
+ @pulumi.input_type
1029
+ class InfrastructureV2VolumeArgs:
1030
+ def __init__(__self__, *,
1031
+ name: pulumi.Input[_builtins.str],
1032
+ size_limit: Optional[pulumi.Input[_builtins.str]] = None):
1033
+ """
1034
+ :param pulumi.Input[_builtins.str] name: Name of the volume. Must be a DNS_LABEL and unique within the pod.
1035
+ :param pulumi.Input[_builtins.str] size_limit: Size limit of the volume. Example: '10Gi', '100Mi'
1036
+ """
1037
+ pulumi.set(__self__, "name", name)
1038
+ if size_limit is not None:
1039
+ pulumi.set(__self__, "size_limit", size_limit)
1040
+
1041
+ @_builtins.property
1042
+ @pulumi.getter
1043
+ def name(self) -> pulumi.Input[_builtins.str]:
1044
+ """
1045
+ Name of the volume. Must be a DNS_LABEL and unique within the pod.
1046
+ """
1047
+ return pulumi.get(self, "name")
1048
+
1049
+ @name.setter
1050
+ def name(self, value: pulumi.Input[_builtins.str]):
1051
+ pulumi.set(self, "name", value)
1052
+
1053
+ @_builtins.property
1054
+ @pulumi.getter(name="sizeLimit")
1055
+ def size_limit(self) -> Optional[pulumi.Input[_builtins.str]]:
1056
+ """
1057
+ Size limit of the volume. Example: '10Gi', '100Mi'
1058
+ """
1059
+ return pulumi.get(self, "size_limit")
1060
+
1061
+ @size_limit.setter
1062
+ def size_limit(self, value: Optional[pulumi.Input[_builtins.str]]):
1063
+ pulumi.set(self, "size_limit", value)
1064
+
1065
+
1066
+ if not MYPY:
1067
+ class InfrastructureV2VolumeMountArgsDict(TypedDict):
1068
+ mount_path: pulumi.Input[_builtins.str]
1069
+ """
1070
+ Path within the container at which the volume should be mounted. Must not contain ':'.
1071
+ """
1072
+ name: pulumi.Input[_builtins.str]
1073
+ """
1074
+ This must match the Name of a Volume.
1075
+ """
1076
+ mount_propagation: NotRequired[pulumi.Input[_builtins.str]]
1077
+ """
1078
+ Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used.
1079
+ """
1080
+ read_only: NotRequired[pulumi.Input[_builtins.bool]]
1081
+ """
1082
+ Mounted read-only if true, read-write otherwise.
1083
+ """
1084
+ sub_path: NotRequired[pulumi.Input[_builtins.str]]
1085
+ """
1086
+ Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.
1087
+ """
1088
+ sub_path_expr: NotRequired[pulumi.Input[_builtins.str]]
1089
+ """
1090
+ 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.
1091
+ """
1092
+ elif False:
1093
+ InfrastructureV2VolumeMountArgsDict: TypeAlias = Mapping[str, Any]
1094
+
1095
+ @pulumi.input_type
1096
+ class InfrastructureV2VolumeMountArgs:
1097
+ def __init__(__self__, *,
1098
+ mount_path: pulumi.Input[_builtins.str],
1099
+ name: pulumi.Input[_builtins.str],
1100
+ mount_propagation: Optional[pulumi.Input[_builtins.str]] = None,
1101
+ read_only: Optional[pulumi.Input[_builtins.bool]] = None,
1102
+ sub_path: Optional[pulumi.Input[_builtins.str]] = None,
1103
+ sub_path_expr: Optional[pulumi.Input[_builtins.str]] = None):
1104
+ """
1105
+ :param pulumi.Input[_builtins.str] mount_path: Path within the container at which the volume should be mounted. Must not contain ':'.
1106
+ :param pulumi.Input[_builtins.str] name: This must match the Name of a Volume.
1107
+ :param pulumi.Input[_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.
1108
+ :param pulumi.Input[_builtins.bool] read_only: Mounted read-only if true, read-write otherwise.
1109
+ :param pulumi.Input[_builtins.str] sub_path: Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.
1110
+ :param pulumi.Input[_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.
1111
+ """
1112
+ pulumi.set(__self__, "mount_path", mount_path)
1113
+ pulumi.set(__self__, "name", name)
1114
+ if mount_propagation is not None:
1115
+ pulumi.set(__self__, "mount_propagation", mount_propagation)
1116
+ if read_only is not None:
1117
+ pulumi.set(__self__, "read_only", read_only)
1118
+ if sub_path is not None:
1119
+ pulumi.set(__self__, "sub_path", sub_path)
1120
+ if sub_path_expr is not None:
1121
+ pulumi.set(__self__, "sub_path_expr", sub_path_expr)
1122
+
1123
+ @_builtins.property
1124
+ @pulumi.getter(name="mountPath")
1125
+ def mount_path(self) -> pulumi.Input[_builtins.str]:
1126
+ """
1127
+ Path within the container at which the volume should be mounted. Must not contain ':'.
1128
+ """
1129
+ return pulumi.get(self, "mount_path")
1130
+
1131
+ @mount_path.setter
1132
+ def mount_path(self, value: pulumi.Input[_builtins.str]):
1133
+ pulumi.set(self, "mount_path", value)
1134
+
1135
+ @_builtins.property
1136
+ @pulumi.getter
1137
+ def name(self) -> pulumi.Input[_builtins.str]:
1138
+ """
1139
+ This must match the Name of a Volume.
1140
+ """
1141
+ return pulumi.get(self, "name")
1142
+
1143
+ @name.setter
1144
+ def name(self, value: pulumi.Input[_builtins.str]):
1145
+ pulumi.set(self, "name", value)
1146
+
1147
+ @_builtins.property
1148
+ @pulumi.getter(name="mountPropagation")
1149
+ def mount_propagation(self) -> Optional[pulumi.Input[_builtins.str]]:
1150
+ """
1151
+ Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used.
1152
+ """
1153
+ return pulumi.get(self, "mount_propagation")
1154
+
1155
+ @mount_propagation.setter
1156
+ def mount_propagation(self, value: Optional[pulumi.Input[_builtins.str]]):
1157
+ pulumi.set(self, "mount_propagation", value)
1158
+
1159
+ @_builtins.property
1160
+ @pulumi.getter(name="readOnly")
1161
+ def read_only(self) -> Optional[pulumi.Input[_builtins.bool]]:
1162
+ """
1163
+ Mounted read-only if true, read-write otherwise.
1164
+ """
1165
+ return pulumi.get(self, "read_only")
1166
+
1167
+ @read_only.setter
1168
+ def read_only(self, value: Optional[pulumi.Input[_builtins.bool]]):
1169
+ pulumi.set(self, "read_only", value)
1170
+
1171
+ @_builtins.property
1172
+ @pulumi.getter(name="subPath")
1173
+ def sub_path(self) -> Optional[pulumi.Input[_builtins.str]]:
1174
+ """
1175
+ Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.
1176
+ """
1177
+ return pulumi.get(self, "sub_path")
1178
+
1179
+ @sub_path.setter
1180
+ def sub_path(self, value: Optional[pulumi.Input[_builtins.str]]):
1181
+ pulumi.set(self, "sub_path", value)
1182
+
1183
+ @_builtins.property
1184
+ @pulumi.getter(name="subPathExpr")
1185
+ def sub_path_expr(self) -> Optional[pulumi.Input[_builtins.str]]:
1186
+ """
1187
+ 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.
1188
+ """
1189
+ return pulumi.get(self, "sub_path_expr")
1190
+
1191
+ @sub_path_expr.setter
1192
+ def sub_path_expr(self, value: Optional[pulumi.Input[_builtins.str]]):
1193
+ pulumi.set(self, "sub_path_expr", value)
1194
+
1195
+
1196
+ if not MYPY:
1197
+ class SecurityGovernanceConditionFaultSpecArgsDict(TypedDict):
1198
+ faults: pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceConditionFaultSpecFaultArgsDict']]]
1199
+ """
1200
+ List of fault specifications
1201
+ """
1202
+ operator: pulumi.Input[_builtins.str]
1203
+ """
1204
+ Operator for comparing faults (EQUAL*TO or NOT*EQUAL_TO)
1205
+ """
1206
+ elif False:
1207
+ SecurityGovernanceConditionFaultSpecArgsDict: TypeAlias = Mapping[str, Any]
1208
+
1209
+ @pulumi.input_type
1210
+ class SecurityGovernanceConditionFaultSpecArgs:
1211
+ def __init__(__self__, *,
1212
+ faults: pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceConditionFaultSpecFaultArgs']]],
1213
+ operator: pulumi.Input[_builtins.str]):
1214
+ """
1215
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceConditionFaultSpecFaultArgs']]] faults: List of fault specifications
1216
+ :param pulumi.Input[_builtins.str] operator: Operator for comparing faults (EQUAL*TO or NOT*EQUAL_TO)
1217
+ """
1218
+ pulumi.set(__self__, "faults", faults)
1219
+ pulumi.set(__self__, "operator", operator)
1220
+
1221
+ @_builtins.property
1222
+ @pulumi.getter
1223
+ def faults(self) -> pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceConditionFaultSpecFaultArgs']]]:
1224
+ """
1225
+ List of fault specifications
1226
+ """
1227
+ return pulumi.get(self, "faults")
1228
+
1229
+ @faults.setter
1230
+ def faults(self, value: pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceConditionFaultSpecFaultArgs']]]):
1231
+ pulumi.set(self, "faults", value)
1232
+
1233
+ @_builtins.property
1234
+ @pulumi.getter
1235
+ def operator(self) -> pulumi.Input[_builtins.str]:
1236
+ """
1237
+ Operator for comparing faults (EQUAL*TO or NOT*EQUAL_TO)
1238
+ """
1239
+ return pulumi.get(self, "operator")
1240
+
1241
+ @operator.setter
1242
+ def operator(self, value: pulumi.Input[_builtins.str]):
1243
+ pulumi.set(self, "operator", value)
1244
+
1245
+
1246
+ if not MYPY:
1247
+ class SecurityGovernanceConditionFaultSpecFaultArgsDict(TypedDict):
1248
+ fault_type: pulumi.Input[_builtins.str]
1249
+ """
1250
+ Type of the fault (FAULT or FAULT_GROUP)
1251
+ """
1252
+ name: pulumi.Input[_builtins.str]
1253
+ """
1254
+ Name of the fault
1255
+ """
1256
+ elif False:
1257
+ SecurityGovernanceConditionFaultSpecFaultArgsDict: TypeAlias = Mapping[str, Any]
1258
+
1259
+ @pulumi.input_type
1260
+ class SecurityGovernanceConditionFaultSpecFaultArgs:
1261
+ def __init__(__self__, *,
1262
+ fault_type: pulumi.Input[_builtins.str],
1263
+ name: pulumi.Input[_builtins.str]):
1264
+ """
1265
+ :param pulumi.Input[_builtins.str] fault_type: Type of the fault (FAULT or FAULT_GROUP)
1266
+ :param pulumi.Input[_builtins.str] name: Name of the fault
1267
+ """
1268
+ pulumi.set(__self__, "fault_type", fault_type)
1269
+ pulumi.set(__self__, "name", name)
1270
+
1271
+ @_builtins.property
1272
+ @pulumi.getter(name="faultType")
1273
+ def fault_type(self) -> pulumi.Input[_builtins.str]:
1274
+ """
1275
+ Type of the fault (FAULT or FAULT_GROUP)
1276
+ """
1277
+ return pulumi.get(self, "fault_type")
1278
+
1279
+ @fault_type.setter
1280
+ def fault_type(self, value: pulumi.Input[_builtins.str]):
1281
+ pulumi.set(self, "fault_type", value)
1282
+
1283
+ @_builtins.property
1284
+ @pulumi.getter
1285
+ def name(self) -> pulumi.Input[_builtins.str]:
1286
+ """
1287
+ Name of the fault
1288
+ """
1289
+ return pulumi.get(self, "name")
1290
+
1291
+ @name.setter
1292
+ def name(self, value: pulumi.Input[_builtins.str]):
1293
+ pulumi.set(self, "name", value)
1294
+
1295
+
1296
+ if not MYPY:
1297
+ class SecurityGovernanceConditionK8sSpecArgsDict(TypedDict):
1298
+ application_spec: NotRequired[pulumi.Input['SecurityGovernanceConditionK8sSpecApplicationSpecArgsDict']]
1299
+ """
1300
+ Application specification
1301
+ """
1302
+ chaos_service_account_spec: NotRequired[pulumi.Input['SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgsDict']]
1303
+ """
1304
+ Chaos service account specification
1305
+ """
1306
+ infra_spec: NotRequired[pulumi.Input['SecurityGovernanceConditionK8sSpecInfraSpecArgsDict']]
1307
+ """
1308
+ Infrastructure specification
1309
+ """
1310
+ elif False:
1311
+ SecurityGovernanceConditionK8sSpecArgsDict: TypeAlias = Mapping[str, Any]
1312
+
1313
+ @pulumi.input_type
1314
+ class SecurityGovernanceConditionK8sSpecArgs:
1315
+ def __init__(__self__, *,
1316
+ application_spec: Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecApplicationSpecArgs']] = None,
1317
+ chaos_service_account_spec: Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs']] = None,
1318
+ infra_spec: Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecInfraSpecArgs']] = None):
1319
+ """
1320
+ :param pulumi.Input['SecurityGovernanceConditionK8sSpecApplicationSpecArgs'] application_spec: Application specification
1321
+ :param pulumi.Input['SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs'] chaos_service_account_spec: Chaos service account specification
1322
+ :param pulumi.Input['SecurityGovernanceConditionK8sSpecInfraSpecArgs'] infra_spec: Infrastructure specification
1323
+ """
1324
+ if application_spec is not None:
1325
+ pulumi.set(__self__, "application_spec", application_spec)
1326
+ if chaos_service_account_spec is not None:
1327
+ pulumi.set(__self__, "chaos_service_account_spec", chaos_service_account_spec)
1328
+ if infra_spec is not None:
1329
+ pulumi.set(__self__, "infra_spec", infra_spec)
1330
+
1331
+ @_builtins.property
1332
+ @pulumi.getter(name="applicationSpec")
1333
+ def application_spec(self) -> Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecApplicationSpecArgs']]:
1334
+ """
1335
+ Application specification
1336
+ """
1337
+ return pulumi.get(self, "application_spec")
1338
+
1339
+ @application_spec.setter
1340
+ def application_spec(self, value: Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecApplicationSpecArgs']]):
1341
+ pulumi.set(self, "application_spec", value)
1342
+
1343
+ @_builtins.property
1344
+ @pulumi.getter(name="chaosServiceAccountSpec")
1345
+ def chaos_service_account_spec(self) -> Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs']]:
1346
+ """
1347
+ Chaos service account specification
1348
+ """
1349
+ return pulumi.get(self, "chaos_service_account_spec")
1350
+
1351
+ @chaos_service_account_spec.setter
1352
+ def chaos_service_account_spec(self, value: Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs']]):
1353
+ pulumi.set(self, "chaos_service_account_spec", value)
1354
+
1355
+ @_builtins.property
1356
+ @pulumi.getter(name="infraSpec")
1357
+ def infra_spec(self) -> Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecInfraSpecArgs']]:
1358
+ """
1359
+ Infrastructure specification
1360
+ """
1361
+ return pulumi.get(self, "infra_spec")
1362
+
1363
+ @infra_spec.setter
1364
+ def infra_spec(self, value: Optional[pulumi.Input['SecurityGovernanceConditionK8sSpecInfraSpecArgs']]):
1365
+ pulumi.set(self, "infra_spec", value)
1366
+
1367
+
1368
+ if not MYPY:
1369
+ class SecurityGovernanceConditionK8sSpecApplicationSpecArgsDict(TypedDict):
1370
+ operator: pulumi.Input[_builtins.str]
1371
+ """
1372
+ Operator for application matching (EQUAL*TO or NOT*EQUAL_TO)
1373
+ """
1374
+ workloads: NotRequired[pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgsDict']]]]
1375
+ """
1376
+ List of workloads to include/exclude
1377
+ """
1378
+ elif False:
1379
+ SecurityGovernanceConditionK8sSpecApplicationSpecArgsDict: TypeAlias = Mapping[str, Any]
1380
+
1381
+ @pulumi.input_type
1382
+ class SecurityGovernanceConditionK8sSpecApplicationSpecArgs:
1383
+ def __init__(__self__, *,
1384
+ operator: pulumi.Input[_builtins.str],
1385
+ workloads: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs']]]] = None):
1386
+ """
1387
+ :param pulumi.Input[_builtins.str] operator: Operator for application matching (EQUAL*TO or NOT*EQUAL_TO)
1388
+ :param pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs']]] workloads: List of workloads to include/exclude
1389
+ """
1390
+ pulumi.set(__self__, "operator", operator)
1391
+ if workloads is not None:
1392
+ pulumi.set(__self__, "workloads", workloads)
1393
+
1394
+ @_builtins.property
1395
+ @pulumi.getter
1396
+ def operator(self) -> pulumi.Input[_builtins.str]:
1397
+ """
1398
+ Operator for application matching (EQUAL*TO or NOT*EQUAL_TO)
1399
+ """
1400
+ return pulumi.get(self, "operator")
1401
+
1402
+ @operator.setter
1403
+ def operator(self, value: pulumi.Input[_builtins.str]):
1404
+ pulumi.set(self, "operator", value)
1405
+
1406
+ @_builtins.property
1407
+ @pulumi.getter
1408
+ def workloads(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs']]]]:
1409
+ """
1410
+ List of workloads to include/exclude
1411
+ """
1412
+ return pulumi.get(self, "workloads")
1413
+
1414
+ @workloads.setter
1415
+ def workloads(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs']]]]):
1416
+ pulumi.set(self, "workloads", value)
1417
+
1418
+
1419
+ if not MYPY:
1420
+ class SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgsDict(TypedDict):
1421
+ namespace: pulumi.Input[_builtins.str]
1422
+ """
1423
+ Namespace of the workload
1424
+ """
1425
+ application_map_id: NotRequired[pulumi.Input[_builtins.str]]
1426
+ """
1427
+ ID for the application map
1428
+ """
1429
+ kind: NotRequired[pulumi.Input[_builtins.str]]
1430
+ """
1431
+ Kind of the workload (e.g., deployment, statefulset)
1432
+ """
1433
+ label: NotRequired[pulumi.Input[_builtins.str]]
1434
+ """
1435
+ Label selector for the workload
1436
+ """
1437
+ services: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
1438
+ """
1439
+ List of services associated with the workload
1440
+ """
1441
+ elif False:
1442
+ SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgsDict: TypeAlias = Mapping[str, Any]
1443
+
1444
+ @pulumi.input_type
1445
+ class SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs:
1446
+ def __init__(__self__, *,
1447
+ namespace: pulumi.Input[_builtins.str],
1448
+ application_map_id: Optional[pulumi.Input[_builtins.str]] = None,
1449
+ kind: Optional[pulumi.Input[_builtins.str]] = None,
1450
+ label: Optional[pulumi.Input[_builtins.str]] = None,
1451
+ services: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
1452
+ """
1453
+ :param pulumi.Input[_builtins.str] namespace: Namespace of the workload
1454
+ :param pulumi.Input[_builtins.str] application_map_id: ID for the application map
1455
+ :param pulumi.Input[_builtins.str] kind: Kind of the workload (e.g., deployment, statefulset)
1456
+ :param pulumi.Input[_builtins.str] label: Label selector for the workload
1457
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] services: List of services associated with the workload
1458
+ """
1459
+ pulumi.set(__self__, "namespace", namespace)
1460
+ if application_map_id is not None:
1461
+ pulumi.set(__self__, "application_map_id", application_map_id)
1462
+ if kind is not None:
1463
+ pulumi.set(__self__, "kind", kind)
1464
+ if label is not None:
1465
+ pulumi.set(__self__, "label", label)
1466
+ if services is not None:
1467
+ pulumi.set(__self__, "services", services)
1468
+
1469
+ @_builtins.property
1470
+ @pulumi.getter
1471
+ def namespace(self) -> pulumi.Input[_builtins.str]:
1472
+ """
1473
+ Namespace of the workload
1474
+ """
1475
+ return pulumi.get(self, "namespace")
1476
+
1477
+ @namespace.setter
1478
+ def namespace(self, value: pulumi.Input[_builtins.str]):
1479
+ pulumi.set(self, "namespace", value)
1480
+
1481
+ @_builtins.property
1482
+ @pulumi.getter(name="applicationMapId")
1483
+ def application_map_id(self) -> Optional[pulumi.Input[_builtins.str]]:
1484
+ """
1485
+ ID for the application map
1486
+ """
1487
+ return pulumi.get(self, "application_map_id")
1488
+
1489
+ @application_map_id.setter
1490
+ def application_map_id(self, value: Optional[pulumi.Input[_builtins.str]]):
1491
+ pulumi.set(self, "application_map_id", value)
1492
+
1493
+ @_builtins.property
1494
+ @pulumi.getter
1495
+ def kind(self) -> Optional[pulumi.Input[_builtins.str]]:
1496
+ """
1497
+ Kind of the workload (e.g., deployment, statefulset)
1498
+ """
1499
+ return pulumi.get(self, "kind")
1500
+
1501
+ @kind.setter
1502
+ def kind(self, value: Optional[pulumi.Input[_builtins.str]]):
1503
+ pulumi.set(self, "kind", value)
1504
+
1505
+ @_builtins.property
1506
+ @pulumi.getter
1507
+ def label(self) -> Optional[pulumi.Input[_builtins.str]]:
1508
+ """
1509
+ Label selector for the workload
1510
+ """
1511
+ return pulumi.get(self, "label")
1512
+
1513
+ @label.setter
1514
+ def label(self, value: Optional[pulumi.Input[_builtins.str]]):
1515
+ pulumi.set(self, "label", value)
1516
+
1517
+ @_builtins.property
1518
+ @pulumi.getter
1519
+ def services(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1520
+ """
1521
+ List of services associated with the workload
1522
+ """
1523
+ return pulumi.get(self, "services")
1524
+
1525
+ @services.setter
1526
+ def services(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1527
+ pulumi.set(self, "services", value)
1528
+
1529
+
1530
+ if not MYPY:
1531
+ class SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgsDict(TypedDict):
1532
+ operator: pulumi.Input[_builtins.str]
1533
+ """
1534
+ Operator for service account matching (EQUAL*TO or NOT*EQUAL_TO)
1535
+ """
1536
+ service_accounts: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]
1537
+ """
1538
+ List of service accounts to include/exclude
1539
+ """
1540
+ elif False:
1541
+ SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgsDict: TypeAlias = Mapping[str, Any]
1542
+
1543
+ @pulumi.input_type
1544
+ class SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs:
1545
+ def __init__(__self__, *,
1546
+ operator: pulumi.Input[_builtins.str],
1547
+ service_accounts: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
1548
+ """
1549
+ :param pulumi.Input[_builtins.str] operator: Operator for service account matching (EQUAL*TO or NOT*EQUAL_TO)
1550
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] service_accounts: List of service accounts to include/exclude
1551
+ """
1552
+ pulumi.set(__self__, "operator", operator)
1553
+ pulumi.set(__self__, "service_accounts", service_accounts)
1554
+
1555
+ @_builtins.property
1556
+ @pulumi.getter
1557
+ def operator(self) -> pulumi.Input[_builtins.str]:
1558
+ """
1559
+ Operator for service account matching (EQUAL*TO or NOT*EQUAL_TO)
1560
+ """
1561
+ return pulumi.get(self, "operator")
1562
+
1563
+ @operator.setter
1564
+ def operator(self, value: pulumi.Input[_builtins.str]):
1565
+ pulumi.set(self, "operator", value)
1566
+
1567
+ @_builtins.property
1568
+ @pulumi.getter(name="serviceAccounts")
1569
+ def service_accounts(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
1570
+ """
1571
+ List of service accounts to include/exclude
1572
+ """
1573
+ return pulumi.get(self, "service_accounts")
1574
+
1575
+ @service_accounts.setter
1576
+ def service_accounts(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
1577
+ pulumi.set(self, "service_accounts", value)
1578
+
1579
+
1580
+ if not MYPY:
1581
+ class SecurityGovernanceConditionK8sSpecInfraSpecArgsDict(TypedDict):
1582
+ infra_ids: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]
1583
+ """
1584
+ List of infrastructure IDs to apply the condition to
1585
+ """
1586
+ operator: pulumi.Input[_builtins.str]
1587
+ """
1588
+ Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)
1589
+ """
1590
+ elif False:
1591
+ SecurityGovernanceConditionK8sSpecInfraSpecArgsDict: TypeAlias = Mapping[str, Any]
1592
+
1593
+ @pulumi.input_type
1594
+ class SecurityGovernanceConditionK8sSpecInfraSpecArgs:
1595
+ def __init__(__self__, *,
1596
+ infra_ids: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
1597
+ operator: pulumi.Input[_builtins.str]):
1598
+ """
1599
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] infra_ids: List of infrastructure IDs to apply the condition to
1600
+ :param pulumi.Input[_builtins.str] operator: Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)
1601
+ """
1602
+ pulumi.set(__self__, "infra_ids", infra_ids)
1603
+ pulumi.set(__self__, "operator", operator)
1604
+
1605
+ @_builtins.property
1606
+ @pulumi.getter(name="infraIds")
1607
+ def infra_ids(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
1608
+ """
1609
+ List of infrastructure IDs to apply the condition to
1610
+ """
1611
+ return pulumi.get(self, "infra_ids")
1612
+
1613
+ @infra_ids.setter
1614
+ def infra_ids(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
1615
+ pulumi.set(self, "infra_ids", value)
1616
+
1617
+ @_builtins.property
1618
+ @pulumi.getter
1619
+ def operator(self) -> pulumi.Input[_builtins.str]:
1620
+ """
1621
+ Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)
1622
+ """
1623
+ return pulumi.get(self, "operator")
1624
+
1625
+ @operator.setter
1626
+ def operator(self, value: pulumi.Input[_builtins.str]):
1627
+ pulumi.set(self, "operator", value)
1628
+
1629
+
1630
+ if not MYPY:
1631
+ class SecurityGovernanceConditionMachineSpecArgsDict(TypedDict):
1632
+ infra_spec: NotRequired[pulumi.Input['SecurityGovernanceConditionMachineSpecInfraSpecArgsDict']]
1633
+ """
1634
+ Infrastructure specification
1635
+ """
1636
+ elif False:
1637
+ SecurityGovernanceConditionMachineSpecArgsDict: TypeAlias = Mapping[str, Any]
1638
+
1639
+ @pulumi.input_type
1640
+ class SecurityGovernanceConditionMachineSpecArgs:
1641
+ def __init__(__self__, *,
1642
+ infra_spec: Optional[pulumi.Input['SecurityGovernanceConditionMachineSpecInfraSpecArgs']] = None):
1643
+ """
1644
+ :param pulumi.Input['SecurityGovernanceConditionMachineSpecInfraSpecArgs'] infra_spec: Infrastructure specification
1645
+ """
1646
+ if infra_spec is not None:
1647
+ pulumi.set(__self__, "infra_spec", infra_spec)
1648
+
1649
+ @_builtins.property
1650
+ @pulumi.getter(name="infraSpec")
1651
+ def infra_spec(self) -> Optional[pulumi.Input['SecurityGovernanceConditionMachineSpecInfraSpecArgs']]:
1652
+ """
1653
+ Infrastructure specification
1654
+ """
1655
+ return pulumi.get(self, "infra_spec")
1656
+
1657
+ @infra_spec.setter
1658
+ def infra_spec(self, value: Optional[pulumi.Input['SecurityGovernanceConditionMachineSpecInfraSpecArgs']]):
1659
+ pulumi.set(self, "infra_spec", value)
1660
+
1661
+
1662
+ if not MYPY:
1663
+ class SecurityGovernanceConditionMachineSpecInfraSpecArgsDict(TypedDict):
1664
+ infra_ids: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]
1665
+ """
1666
+ List of infrastructure IDs to apply the condition to
1667
+ """
1668
+ operator: pulumi.Input[_builtins.str]
1669
+ """
1670
+ Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)
1671
+ """
1672
+ elif False:
1673
+ SecurityGovernanceConditionMachineSpecInfraSpecArgsDict: TypeAlias = Mapping[str, Any]
1674
+
1675
+ @pulumi.input_type
1676
+ class SecurityGovernanceConditionMachineSpecInfraSpecArgs:
1677
+ def __init__(__self__, *,
1678
+ infra_ids: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
1679
+ operator: pulumi.Input[_builtins.str]):
1680
+ """
1681
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] infra_ids: List of infrastructure IDs to apply the condition to
1682
+ :param pulumi.Input[_builtins.str] operator: Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)
1683
+ """
1684
+ pulumi.set(__self__, "infra_ids", infra_ids)
1685
+ pulumi.set(__self__, "operator", operator)
1686
+
1687
+ @_builtins.property
1688
+ @pulumi.getter(name="infraIds")
1689
+ def infra_ids(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
1690
+ """
1691
+ List of infrastructure IDs to apply the condition to
1692
+ """
1693
+ return pulumi.get(self, "infra_ids")
1694
+
1695
+ @infra_ids.setter
1696
+ def infra_ids(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
1697
+ pulumi.set(self, "infra_ids", value)
1698
+
1699
+ @_builtins.property
1700
+ @pulumi.getter
1701
+ def operator(self) -> pulumi.Input[_builtins.str]:
1702
+ """
1703
+ Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)
1704
+ """
1705
+ return pulumi.get(self, "operator")
1706
+
1707
+ @operator.setter
1708
+ def operator(self, value: pulumi.Input[_builtins.str]):
1709
+ pulumi.set(self, "operator", value)
1710
+
1711
+
1712
+ if not MYPY:
1713
+ class SecurityGovernanceRuleTimeWindowArgsDict(TypedDict):
1714
+ start_time: pulumi.Input[_builtins.int]
1715
+ time_zone: pulumi.Input[_builtins.str]
1716
+ duration: NotRequired[pulumi.Input[_builtins.str]]
1717
+ end_time: NotRequired[pulumi.Input[_builtins.int]]
1718
+ recurrence: NotRequired[pulumi.Input['SecurityGovernanceRuleTimeWindowRecurrenceArgsDict']]
1719
+ elif False:
1720
+ SecurityGovernanceRuleTimeWindowArgsDict: TypeAlias = Mapping[str, Any]
1721
+
1722
+ @pulumi.input_type
1723
+ class SecurityGovernanceRuleTimeWindowArgs:
1724
+ def __init__(__self__, *,
1725
+ start_time: pulumi.Input[_builtins.int],
1726
+ time_zone: pulumi.Input[_builtins.str],
1727
+ duration: Optional[pulumi.Input[_builtins.str]] = None,
1728
+ end_time: Optional[pulumi.Input[_builtins.int]] = None,
1729
+ recurrence: Optional[pulumi.Input['SecurityGovernanceRuleTimeWindowRecurrenceArgs']] = None):
1730
+ pulumi.set(__self__, "start_time", start_time)
1731
+ pulumi.set(__self__, "time_zone", time_zone)
1732
+ if duration is not None:
1733
+ pulumi.set(__self__, "duration", duration)
1734
+ if end_time is not None:
1735
+ pulumi.set(__self__, "end_time", end_time)
1736
+ if recurrence is not None:
1737
+ pulumi.set(__self__, "recurrence", recurrence)
1738
+
1739
+ @_builtins.property
1740
+ @pulumi.getter(name="startTime")
1741
+ def start_time(self) -> pulumi.Input[_builtins.int]:
1742
+ return pulumi.get(self, "start_time")
1743
+
1744
+ @start_time.setter
1745
+ def start_time(self, value: pulumi.Input[_builtins.int]):
1746
+ pulumi.set(self, "start_time", value)
1747
+
1748
+ @_builtins.property
1749
+ @pulumi.getter(name="timeZone")
1750
+ def time_zone(self) -> pulumi.Input[_builtins.str]:
1751
+ return pulumi.get(self, "time_zone")
1752
+
1753
+ @time_zone.setter
1754
+ def time_zone(self, value: pulumi.Input[_builtins.str]):
1755
+ pulumi.set(self, "time_zone", value)
1756
+
1757
+ @_builtins.property
1758
+ @pulumi.getter
1759
+ def duration(self) -> Optional[pulumi.Input[_builtins.str]]:
1760
+ return pulumi.get(self, "duration")
1761
+
1762
+ @duration.setter
1763
+ def duration(self, value: Optional[pulumi.Input[_builtins.str]]):
1764
+ pulumi.set(self, "duration", value)
1765
+
1766
+ @_builtins.property
1767
+ @pulumi.getter(name="endTime")
1768
+ def end_time(self) -> Optional[pulumi.Input[_builtins.int]]:
1769
+ return pulumi.get(self, "end_time")
1770
+
1771
+ @end_time.setter
1772
+ def end_time(self, value: Optional[pulumi.Input[_builtins.int]]):
1773
+ pulumi.set(self, "end_time", value)
1774
+
1775
+ @_builtins.property
1776
+ @pulumi.getter
1777
+ def recurrence(self) -> Optional[pulumi.Input['SecurityGovernanceRuleTimeWindowRecurrenceArgs']]:
1778
+ return pulumi.get(self, "recurrence")
1779
+
1780
+ @recurrence.setter
1781
+ def recurrence(self, value: Optional[pulumi.Input['SecurityGovernanceRuleTimeWindowRecurrenceArgs']]):
1782
+ pulumi.set(self, "recurrence", value)
1783
+
1784
+
1785
+ if not MYPY:
1786
+ class SecurityGovernanceRuleTimeWindowRecurrenceArgsDict(TypedDict):
1787
+ type: pulumi.Input[_builtins.str]
1788
+ until: pulumi.Input[_builtins.int]
1789
+ value: NotRequired[pulumi.Input[_builtins.int]]
1790
+ elif False:
1791
+ SecurityGovernanceRuleTimeWindowRecurrenceArgsDict: TypeAlias = Mapping[str, Any]
1792
+
1793
+ @pulumi.input_type
1794
+ class SecurityGovernanceRuleTimeWindowRecurrenceArgs:
1795
+ def __init__(__self__, *,
1796
+ type: pulumi.Input[_builtins.str],
1797
+ until: pulumi.Input[_builtins.int],
1798
+ value: Optional[pulumi.Input[_builtins.int]] = None):
1799
+ pulumi.set(__self__, "type", type)
1800
+ pulumi.set(__self__, "until", until)
1801
+ if value is not None:
1802
+ pulumi.set(__self__, "value", value)
1803
+
1804
+ @_builtins.property
1805
+ @pulumi.getter
1806
+ def type(self) -> pulumi.Input[_builtins.str]:
1807
+ return pulumi.get(self, "type")
1808
+
1809
+ @type.setter
1810
+ def type(self, value: pulumi.Input[_builtins.str]):
1811
+ pulumi.set(self, "type", value)
1812
+
1813
+ @_builtins.property
1814
+ @pulumi.getter
1815
+ def until(self) -> pulumi.Input[_builtins.int]:
1816
+ return pulumi.get(self, "until")
1817
+
1818
+ @until.setter
1819
+ def until(self, value: pulumi.Input[_builtins.int]):
1820
+ pulumi.set(self, "until", value)
1821
+
1822
+ @_builtins.property
1823
+ @pulumi.getter
1824
+ def value(self) -> Optional[pulumi.Input[_builtins.int]]:
1825
+ return pulumi.get(self, "value")
1826
+
1827
+ @value.setter
1828
+ def value(self, value: Optional[pulumi.Input[_builtins.int]]):
1829
+ pulumi.set(self, "value", value)
1830
+
1831
+
1832
+ if not MYPY:
1833
+ class GetInfrastructureV2ImageRegistryArgsDict(TypedDict):
1834
+ created_at: _builtins.str
1835
+ """
1836
+ Timestamp when the registry was created.
1837
+ """
1838
+ custom_images: Sequence['GetInfrastructureV2ImageRegistryCustomImageArgsDict']
1839
+ """
1840
+ Custom image configurations. Required when use*custom*images is true.
1841
+ """
1842
+ identifiers: Sequence['GetInfrastructureV2ImageRegistryIdentifierArgsDict']
1843
+ """
1844
+ Scoped identifiers for the registry.
1845
+ """
1846
+ infra_id: _builtins.str
1847
+ """
1848
+ ID of the infrastructure.
1849
+ """
1850
+ is_default: _builtins.bool
1851
+ """
1852
+ Whether this is the default registry.
1853
+ """
1854
+ is_override_allowed: _builtins.bool
1855
+ """
1856
+ Whether override is allowed for this registry.
1857
+ """
1858
+ is_private: _builtins.bool
1859
+ """
1860
+ Whether the registry is private.
1861
+ """
1862
+ registry_account: _builtins.str
1863
+ """
1864
+ The account name for the container registry.
1865
+ """
1866
+ registry_server: _builtins.str
1867
+ """
1868
+ The container image registry server URL (e.g., docker.io, gcr.io).
1869
+ """
1870
+ updated_at: _builtins.str
1871
+ """
1872
+ Timestamp when the registry was last updated.
1873
+ """
1874
+ use_custom_images: _builtins.bool
1875
+ """
1876
+ Whether to use custom images instead of default ones.
1877
+ """
1878
+ secret_name: NotRequired[_builtins.str]
1879
+ """
1880
+ Name of the Kubernetes secret containing registry credentials.
1881
+ """
1882
+ elif False:
1883
+ GetInfrastructureV2ImageRegistryArgsDict: TypeAlias = Mapping[str, Any]
1884
+
1885
+ @pulumi.input_type
1886
+ class GetInfrastructureV2ImageRegistryArgs:
1887
+ def __init__(__self__, *,
1888
+ created_at: _builtins.str,
1889
+ custom_images: Sequence['GetInfrastructureV2ImageRegistryCustomImageArgs'],
1890
+ identifiers: Sequence['GetInfrastructureV2ImageRegistryIdentifierArgs'],
1891
+ infra_id: _builtins.str,
1892
+ is_default: _builtins.bool,
1893
+ is_override_allowed: _builtins.bool,
1894
+ is_private: _builtins.bool,
1895
+ registry_account: _builtins.str,
1896
+ registry_server: _builtins.str,
1897
+ updated_at: _builtins.str,
1898
+ use_custom_images: _builtins.bool,
1899
+ secret_name: Optional[_builtins.str] = None):
1900
+ """
1901
+ :param _builtins.str created_at: Timestamp when the registry was created.
1902
+ :param Sequence['GetInfrastructureV2ImageRegistryCustomImageArgs'] custom_images: Custom image configurations. Required when use*custom*images is true.
1903
+ :param Sequence['GetInfrastructureV2ImageRegistryIdentifierArgs'] identifiers: Scoped identifiers for the registry.
1904
+ :param _builtins.str infra_id: ID of the infrastructure.
1905
+ :param _builtins.bool is_default: Whether this is the default registry.
1906
+ :param _builtins.bool is_override_allowed: Whether override is allowed for this registry.
1907
+ :param _builtins.bool is_private: Whether the registry is private.
1908
+ :param _builtins.str registry_account: The account name for the container registry.
1909
+ :param _builtins.str registry_server: The container image registry server URL (e.g., docker.io, gcr.io).
1910
+ :param _builtins.str updated_at: Timestamp when the registry was last updated.
1911
+ :param _builtins.bool use_custom_images: Whether to use custom images instead of default ones.
1912
+ :param _builtins.str secret_name: Name of the Kubernetes secret containing registry credentials.
1913
+ """
1914
+ pulumi.set(__self__, "created_at", created_at)
1915
+ pulumi.set(__self__, "custom_images", custom_images)
1916
+ pulumi.set(__self__, "identifiers", identifiers)
1917
+ pulumi.set(__self__, "infra_id", infra_id)
1918
+ pulumi.set(__self__, "is_default", is_default)
1919
+ pulumi.set(__self__, "is_override_allowed", is_override_allowed)
1920
+ pulumi.set(__self__, "is_private", is_private)
1921
+ pulumi.set(__self__, "registry_account", registry_account)
1922
+ pulumi.set(__self__, "registry_server", registry_server)
1923
+ pulumi.set(__self__, "updated_at", updated_at)
1924
+ pulumi.set(__self__, "use_custom_images", use_custom_images)
1925
+ if secret_name is not None:
1926
+ pulumi.set(__self__, "secret_name", secret_name)
1927
+
1928
+ @_builtins.property
1929
+ @pulumi.getter(name="createdAt")
1930
+ def created_at(self) -> _builtins.str:
1931
+ """
1932
+ Timestamp when the registry was created.
1933
+ """
1934
+ return pulumi.get(self, "created_at")
1935
+
1936
+ @created_at.setter
1937
+ def created_at(self, value: _builtins.str):
1938
+ pulumi.set(self, "created_at", value)
1939
+
1940
+ @_builtins.property
1941
+ @pulumi.getter(name="customImages")
1942
+ def custom_images(self) -> Sequence['GetInfrastructureV2ImageRegistryCustomImageArgs']:
1943
+ """
1944
+ Custom image configurations. Required when use*custom*images is true.
1945
+ """
1946
+ return pulumi.get(self, "custom_images")
1947
+
1948
+ @custom_images.setter
1949
+ def custom_images(self, value: Sequence['GetInfrastructureV2ImageRegistryCustomImageArgs']):
1950
+ pulumi.set(self, "custom_images", value)
1951
+
1952
+ @_builtins.property
1953
+ @pulumi.getter
1954
+ def identifiers(self) -> Sequence['GetInfrastructureV2ImageRegistryIdentifierArgs']:
1955
+ """
1956
+ Scoped identifiers for the registry.
1957
+ """
1958
+ return pulumi.get(self, "identifiers")
1959
+
1960
+ @identifiers.setter
1961
+ def identifiers(self, value: Sequence['GetInfrastructureV2ImageRegistryIdentifierArgs']):
1962
+ pulumi.set(self, "identifiers", value)
1963
+
1964
+ @_builtins.property
1965
+ @pulumi.getter(name="infraId")
1966
+ def infra_id(self) -> _builtins.str:
1967
+ """
1968
+ ID of the infrastructure.
1969
+ """
1970
+ return pulumi.get(self, "infra_id")
1971
+
1972
+ @infra_id.setter
1973
+ def infra_id(self, value: _builtins.str):
1974
+ pulumi.set(self, "infra_id", value)
1975
+
1976
+ @_builtins.property
1977
+ @pulumi.getter(name="isDefault")
1978
+ def is_default(self) -> _builtins.bool:
1979
+ """
1980
+ Whether this is the default registry.
1981
+ """
1982
+ return pulumi.get(self, "is_default")
1983
+
1984
+ @is_default.setter
1985
+ def is_default(self, value: _builtins.bool):
1986
+ pulumi.set(self, "is_default", value)
1987
+
1988
+ @_builtins.property
1989
+ @pulumi.getter(name="isOverrideAllowed")
1990
+ def is_override_allowed(self) -> _builtins.bool:
1991
+ """
1992
+ Whether override is allowed for this registry.
1993
+ """
1994
+ return pulumi.get(self, "is_override_allowed")
1995
+
1996
+ @is_override_allowed.setter
1997
+ def is_override_allowed(self, value: _builtins.bool):
1998
+ pulumi.set(self, "is_override_allowed", value)
1999
+
2000
+ @_builtins.property
2001
+ @pulumi.getter(name="isPrivate")
2002
+ def is_private(self) -> _builtins.bool:
2003
+ """
2004
+ Whether the registry is private.
2005
+ """
2006
+ return pulumi.get(self, "is_private")
2007
+
2008
+ @is_private.setter
2009
+ def is_private(self, value: _builtins.bool):
2010
+ pulumi.set(self, "is_private", value)
2011
+
2012
+ @_builtins.property
2013
+ @pulumi.getter(name="registryAccount")
2014
+ def registry_account(self) -> _builtins.str:
2015
+ """
2016
+ The account name for the container registry.
2017
+ """
2018
+ return pulumi.get(self, "registry_account")
2019
+
2020
+ @registry_account.setter
2021
+ def registry_account(self, value: _builtins.str):
2022
+ pulumi.set(self, "registry_account", value)
2023
+
2024
+ @_builtins.property
2025
+ @pulumi.getter(name="registryServer")
2026
+ def registry_server(self) -> _builtins.str:
2027
+ """
2028
+ The container image registry server URL (e.g., docker.io, gcr.io).
2029
+ """
2030
+ return pulumi.get(self, "registry_server")
2031
+
2032
+ @registry_server.setter
2033
+ def registry_server(self, value: _builtins.str):
2034
+ pulumi.set(self, "registry_server", value)
2035
+
2036
+ @_builtins.property
2037
+ @pulumi.getter(name="updatedAt")
2038
+ def updated_at(self) -> _builtins.str:
2039
+ """
2040
+ Timestamp when the registry was last updated.
2041
+ """
2042
+ return pulumi.get(self, "updated_at")
2043
+
2044
+ @updated_at.setter
2045
+ def updated_at(self, value: _builtins.str):
2046
+ pulumi.set(self, "updated_at", value)
2047
+
2048
+ @_builtins.property
2049
+ @pulumi.getter(name="useCustomImages")
2050
+ def use_custom_images(self) -> _builtins.bool:
2051
+ """
2052
+ Whether to use custom images instead of default ones.
2053
+ """
2054
+ return pulumi.get(self, "use_custom_images")
2055
+
2056
+ @use_custom_images.setter
2057
+ def use_custom_images(self, value: _builtins.bool):
2058
+ pulumi.set(self, "use_custom_images", value)
2059
+
2060
+ @_builtins.property
2061
+ @pulumi.getter(name="secretName")
2062
+ def secret_name(self) -> Optional[_builtins.str]:
2063
+ """
2064
+ Name of the Kubernetes secret containing registry credentials.
2065
+ """
2066
+ return pulumi.get(self, "secret_name")
2067
+
2068
+ @secret_name.setter
2069
+ def secret_name(self, value: Optional[_builtins.str]):
2070
+ pulumi.set(self, "secret_name", value)
2071
+
2072
+
2073
+ if not MYPY:
2074
+ class GetInfrastructureV2ImageRegistryCustomImageArgsDict(TypedDict):
2075
+ ddcr: _builtins.str
2076
+ """
2077
+ Custom image for ddcr.
2078
+ """
2079
+ ddcr_fault: _builtins.str
2080
+ """
2081
+ Custom image for ddcr-fault.
2082
+ """
2083
+ ddcr_lib: _builtins.str
2084
+ """
2085
+ Custom image for ddcr-lib.
2086
+ """
2087
+ log_watcher: _builtins.str
2088
+ """
2089
+ Custom image for log-watcher.
2090
+ """
2091
+ elif False:
2092
+ GetInfrastructureV2ImageRegistryCustomImageArgsDict: TypeAlias = Mapping[str, Any]
2093
+
2094
+ @pulumi.input_type
2095
+ class GetInfrastructureV2ImageRegistryCustomImageArgs:
2096
+ def __init__(__self__, *,
2097
+ ddcr: _builtins.str,
2098
+ ddcr_fault: _builtins.str,
2099
+ ddcr_lib: _builtins.str,
2100
+ log_watcher: _builtins.str):
2101
+ """
2102
+ :param _builtins.str ddcr: Custom image for ddcr.
2103
+ :param _builtins.str ddcr_fault: Custom image for ddcr-fault.
2104
+ :param _builtins.str ddcr_lib: Custom image for ddcr-lib.
2105
+ :param _builtins.str log_watcher: Custom image for log-watcher.
2106
+ """
2107
+ pulumi.set(__self__, "ddcr", ddcr)
2108
+ pulumi.set(__self__, "ddcr_fault", ddcr_fault)
2109
+ pulumi.set(__self__, "ddcr_lib", ddcr_lib)
2110
+ pulumi.set(__self__, "log_watcher", log_watcher)
2111
+
2112
+ @_builtins.property
2113
+ @pulumi.getter
2114
+ def ddcr(self) -> _builtins.str:
2115
+ """
2116
+ Custom image for ddcr.
2117
+ """
2118
+ return pulumi.get(self, "ddcr")
2119
+
2120
+ @ddcr.setter
2121
+ def ddcr(self, value: _builtins.str):
2122
+ pulumi.set(self, "ddcr", value)
2123
+
2124
+ @_builtins.property
2125
+ @pulumi.getter(name="ddcrFault")
2126
+ def ddcr_fault(self) -> _builtins.str:
2127
+ """
2128
+ Custom image for ddcr-fault.
2129
+ """
2130
+ return pulumi.get(self, "ddcr_fault")
2131
+
2132
+ @ddcr_fault.setter
2133
+ def ddcr_fault(self, value: _builtins.str):
2134
+ pulumi.set(self, "ddcr_fault", value)
2135
+
2136
+ @_builtins.property
2137
+ @pulumi.getter(name="ddcrLib")
2138
+ def ddcr_lib(self) -> _builtins.str:
2139
+ """
2140
+ Custom image for ddcr-lib.
2141
+ """
2142
+ return pulumi.get(self, "ddcr_lib")
2143
+
2144
+ @ddcr_lib.setter
2145
+ def ddcr_lib(self, value: _builtins.str):
2146
+ pulumi.set(self, "ddcr_lib", value)
2147
+
2148
+ @_builtins.property
2149
+ @pulumi.getter(name="logWatcher")
2150
+ def log_watcher(self) -> _builtins.str:
2151
+ """
2152
+ Custom image for log-watcher.
2153
+ """
2154
+ return pulumi.get(self, "log_watcher")
2155
+
2156
+ @log_watcher.setter
2157
+ def log_watcher(self, value: _builtins.str):
2158
+ pulumi.set(self, "log_watcher", value)
2159
+
2160
+
2161
+ if not MYPY:
2162
+ class GetInfrastructureV2ImageRegistryIdentifierArgsDict(TypedDict):
2163
+ account_identifier: _builtins.str
2164
+ """
2165
+ Harness account identifier.
2166
+ """
2167
+ org_identifier: _builtins.str
2168
+ """
2169
+ Harness organization identifier.
2170
+ """
2171
+ project_identifier: _builtins.str
2172
+ """
2173
+ Harness project identifier.
2174
+ """
2175
+ elif False:
2176
+ GetInfrastructureV2ImageRegistryIdentifierArgsDict: TypeAlias = Mapping[str, Any]
2177
+
2178
+ @pulumi.input_type
2179
+ class GetInfrastructureV2ImageRegistryIdentifierArgs:
2180
+ def __init__(__self__, *,
2181
+ account_identifier: _builtins.str,
2182
+ org_identifier: _builtins.str,
2183
+ project_identifier: _builtins.str):
2184
+ """
2185
+ :param _builtins.str account_identifier: Harness account identifier.
2186
+ :param _builtins.str org_identifier: Harness organization identifier.
2187
+ :param _builtins.str project_identifier: Harness project identifier.
2188
+ """
2189
+ pulumi.set(__self__, "account_identifier", account_identifier)
2190
+ pulumi.set(__self__, "org_identifier", org_identifier)
2191
+ pulumi.set(__self__, "project_identifier", project_identifier)
2192
+
2193
+ @_builtins.property
2194
+ @pulumi.getter(name="accountIdentifier")
2195
+ def account_identifier(self) -> _builtins.str:
2196
+ """
2197
+ Harness account identifier.
2198
+ """
2199
+ return pulumi.get(self, "account_identifier")
2200
+
2201
+ @account_identifier.setter
2202
+ def account_identifier(self, value: _builtins.str):
2203
+ pulumi.set(self, "account_identifier", value)
2204
+
2205
+ @_builtins.property
2206
+ @pulumi.getter(name="orgIdentifier")
2207
+ def org_identifier(self) -> _builtins.str:
2208
+ """
2209
+ Harness organization identifier.
2210
+ """
2211
+ return pulumi.get(self, "org_identifier")
2212
+
2213
+ @org_identifier.setter
2214
+ def org_identifier(self, value: _builtins.str):
2215
+ pulumi.set(self, "org_identifier", value)
2216
+
2217
+ @_builtins.property
2218
+ @pulumi.getter(name="projectIdentifier")
2219
+ def project_identifier(self) -> _builtins.str:
2220
+ """
2221
+ Harness project identifier.
2222
+ """
2223
+ return pulumi.get(self, "project_identifier")
2224
+
2225
+ @project_identifier.setter
2226
+ def project_identifier(self, value: _builtins.str):
2227
+ pulumi.set(self, "project_identifier", value)
2228
+
2229
+
2230
+ if not MYPY:
2231
+ class GetInfrastructureV2MtlsArgsDict(TypedDict):
2232
+ cert_path: NotRequired[_builtins.str]
2233
+ """
2234
+ Path to the certificate file for mTLS
2235
+ """
2236
+ key_path: NotRequired[_builtins.str]
2237
+ """
2238
+ Path to the private key file for mTLS
2239
+ """
2240
+ secret_name: NotRequired[_builtins.str]
2241
+ """
2242
+ Name of the Kubernetes secret containing mTLS certificates
2243
+ """
2244
+ url: NotRequired[_builtins.str]
2245
+ """
2246
+ URL for the mTLS endpoint
2247
+ """
2248
+ elif False:
2249
+ GetInfrastructureV2MtlsArgsDict: TypeAlias = Mapping[str, Any]
2250
+
2251
+ @pulumi.input_type
2252
+ class GetInfrastructureV2MtlsArgs:
2253
+ def __init__(__self__, *,
2254
+ cert_path: Optional[_builtins.str] = None,
2255
+ key_path: Optional[_builtins.str] = None,
2256
+ secret_name: Optional[_builtins.str] = None,
2257
+ url: Optional[_builtins.str] = None):
2258
+ """
2259
+ :param _builtins.str cert_path: Path to the certificate file for mTLS
2260
+ :param _builtins.str key_path: Path to the private key file for mTLS
2261
+ :param _builtins.str secret_name: Name of the Kubernetes secret containing mTLS certificates
2262
+ :param _builtins.str url: URL for the mTLS endpoint
2263
+ """
2264
+ if cert_path is not None:
2265
+ pulumi.set(__self__, "cert_path", cert_path)
2266
+ if key_path is not None:
2267
+ pulumi.set(__self__, "key_path", key_path)
2268
+ if secret_name is not None:
2269
+ pulumi.set(__self__, "secret_name", secret_name)
2270
+ if url is not None:
2271
+ pulumi.set(__self__, "url", url)
2272
+
2273
+ @_builtins.property
2274
+ @pulumi.getter(name="certPath")
2275
+ def cert_path(self) -> Optional[_builtins.str]:
2276
+ """
2277
+ Path to the certificate file for mTLS
2278
+ """
2279
+ return pulumi.get(self, "cert_path")
2280
+
2281
+ @cert_path.setter
2282
+ def cert_path(self, value: Optional[_builtins.str]):
2283
+ pulumi.set(self, "cert_path", value)
2284
+
2285
+ @_builtins.property
2286
+ @pulumi.getter(name="keyPath")
2287
+ def key_path(self) -> Optional[_builtins.str]:
2288
+ """
2289
+ Path to the private key file for mTLS
2290
+ """
2291
+ return pulumi.get(self, "key_path")
2292
+
2293
+ @key_path.setter
2294
+ def key_path(self, value: Optional[_builtins.str]):
2295
+ pulumi.set(self, "key_path", value)
2296
+
2297
+ @_builtins.property
2298
+ @pulumi.getter(name="secretName")
2299
+ def secret_name(self) -> Optional[_builtins.str]:
2300
+ """
2301
+ Name of the Kubernetes secret containing mTLS certificates
2302
+ """
2303
+ return pulumi.get(self, "secret_name")
2304
+
2305
+ @secret_name.setter
2306
+ def secret_name(self, value: Optional[_builtins.str]):
2307
+ pulumi.set(self, "secret_name", value)
2308
+
2309
+ @_builtins.property
2310
+ @pulumi.getter
2311
+ def url(self) -> Optional[_builtins.str]:
2312
+ """
2313
+ URL for the mTLS endpoint
2314
+ """
2315
+ return pulumi.get(self, "url")
2316
+
2317
+ @url.setter
2318
+ def url(self, value: Optional[_builtins.str]):
2319
+ pulumi.set(self, "url", value)
2320
+
2321
+
2322
+ if not MYPY:
2323
+ class GetInfrastructureV2ProxyArgsDict(TypedDict):
2324
+ url: _builtins.str
2325
+ """
2326
+ Proxy URL.
2327
+ """
2328
+ http_proxy: NotRequired[_builtins.str]
2329
+ """
2330
+ HTTP proxy URL.
2331
+ """
2332
+ https_proxy: NotRequired[_builtins.str]
2333
+ """
2334
+ HTTPS proxy URL.
2335
+ """
2336
+ no_proxy: NotRequired[_builtins.str]
2337
+ """
2338
+ List of hosts that should not use proxy.
2339
+ """
2340
+ elif False:
2341
+ GetInfrastructureV2ProxyArgsDict: TypeAlias = Mapping[str, Any]
2342
+
2343
+ @pulumi.input_type
2344
+ class GetInfrastructureV2ProxyArgs:
2345
+ def __init__(__self__, *,
2346
+ url: _builtins.str,
2347
+ http_proxy: Optional[_builtins.str] = None,
2348
+ https_proxy: Optional[_builtins.str] = None,
2349
+ no_proxy: Optional[_builtins.str] = None):
2350
+ """
2351
+ :param _builtins.str url: Proxy URL.
2352
+ :param _builtins.str http_proxy: HTTP proxy URL.
2353
+ :param _builtins.str https_proxy: HTTPS proxy URL.
2354
+ :param _builtins.str no_proxy: List of hosts that should not use proxy.
2355
+ """
2356
+ pulumi.set(__self__, "url", url)
2357
+ if http_proxy is not None:
2358
+ pulumi.set(__self__, "http_proxy", http_proxy)
2359
+ if https_proxy is not None:
2360
+ pulumi.set(__self__, "https_proxy", https_proxy)
2361
+ if no_proxy is not None:
2362
+ pulumi.set(__self__, "no_proxy", no_proxy)
2363
+
2364
+ @_builtins.property
2365
+ @pulumi.getter
2366
+ def url(self) -> _builtins.str:
2367
+ """
2368
+ Proxy URL.
2369
+ """
2370
+ return pulumi.get(self, "url")
2371
+
2372
+ @url.setter
2373
+ def url(self, value: _builtins.str):
2374
+ pulumi.set(self, "url", value)
2375
+
2376
+ @_builtins.property
2377
+ @pulumi.getter(name="httpProxy")
2378
+ def http_proxy(self) -> Optional[_builtins.str]:
2379
+ """
2380
+ HTTP proxy URL.
2381
+ """
2382
+ return pulumi.get(self, "http_proxy")
2383
+
2384
+ @http_proxy.setter
2385
+ def http_proxy(self, value: Optional[_builtins.str]):
2386
+ pulumi.set(self, "http_proxy", value)
2387
+
2388
+ @_builtins.property
2389
+ @pulumi.getter(name="httpsProxy")
2390
+ def https_proxy(self) -> Optional[_builtins.str]:
2391
+ """
2392
+ HTTPS proxy URL.
2393
+ """
2394
+ return pulumi.get(self, "https_proxy")
2395
+
2396
+ @https_proxy.setter
2397
+ def https_proxy(self, value: Optional[_builtins.str]):
2398
+ pulumi.set(self, "https_proxy", value)
2399
+
2400
+ @_builtins.property
2401
+ @pulumi.getter(name="noProxy")
2402
+ def no_proxy(self) -> Optional[_builtins.str]:
2403
+ """
2404
+ List of hosts that should not use proxy.
2405
+ """
2406
+ return pulumi.get(self, "no_proxy")
2407
+
2408
+ @no_proxy.setter
2409
+ def no_proxy(self, value: Optional[_builtins.str]):
2410
+ pulumi.set(self, "no_proxy", value)
2411
+
2412
+
2413
+ if not MYPY:
2414
+ class GetInfrastructureV2TolerationArgsDict(TypedDict):
2415
+ effect: _builtins.str
2416
+ """
2417
+ Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
2418
+ """
2419
+ key: _builtins.str
2420
+ """
2421
+ 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.
2422
+ """
2423
+ operator: _builtins.str
2424
+ """
2425
+ Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.
2426
+ """
2427
+ toleration_seconds: NotRequired[_builtins.int]
2428
+ """
2429
+ 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.
2430
+ """
2431
+ value: NotRequired[_builtins.str]
2432
+ """
2433
+ Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
2434
+ """
2435
+ elif False:
2436
+ GetInfrastructureV2TolerationArgsDict: TypeAlias = Mapping[str, Any]
2437
+
2438
+ @pulumi.input_type
2439
+ class GetInfrastructureV2TolerationArgs:
2440
+ def __init__(__self__, *,
2441
+ effect: _builtins.str,
2442
+ key: _builtins.str,
2443
+ operator: _builtins.str,
2444
+ toleration_seconds: Optional[_builtins.int] = None,
2445
+ value: Optional[_builtins.str] = None):
2446
+ """
2447
+ :param _builtins.str effect: Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
2448
+ :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.
2449
+ :param _builtins.str operator: Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.
2450
+ :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.
2451
+ :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.
2452
+ """
2453
+ pulumi.set(__self__, "effect", effect)
2454
+ pulumi.set(__self__, "key", key)
2455
+ pulumi.set(__self__, "operator", operator)
2456
+ if toleration_seconds is not None:
2457
+ pulumi.set(__self__, "toleration_seconds", toleration_seconds)
2458
+ if value is not None:
2459
+ pulumi.set(__self__, "value", value)
2460
+
2461
+ @_builtins.property
2462
+ @pulumi.getter
2463
+ def effect(self) -> _builtins.str:
2464
+ """
2465
+ Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
2466
+ """
2467
+ return pulumi.get(self, "effect")
2468
+
2469
+ @effect.setter
2470
+ def effect(self, value: _builtins.str):
2471
+ pulumi.set(self, "effect", value)
2472
+
2473
+ @_builtins.property
2474
+ @pulumi.getter
2475
+ def key(self) -> _builtins.str:
2476
+ """
2477
+ 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.
2478
+ """
2479
+ return pulumi.get(self, "key")
2480
+
2481
+ @key.setter
2482
+ def key(self, value: _builtins.str):
2483
+ pulumi.set(self, "key", value)
2484
+
2485
+ @_builtins.property
2486
+ @pulumi.getter
2487
+ def operator(self) -> _builtins.str:
2488
+ """
2489
+ Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.
2490
+ """
2491
+ return pulumi.get(self, "operator")
2492
+
2493
+ @operator.setter
2494
+ def operator(self, value: _builtins.str):
2495
+ pulumi.set(self, "operator", value)
2496
+
2497
+ @_builtins.property
2498
+ @pulumi.getter(name="tolerationSeconds")
2499
+ def toleration_seconds(self) -> Optional[_builtins.int]:
2500
+ """
2501
+ 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.
2502
+ """
2503
+ return pulumi.get(self, "toleration_seconds")
2504
+
2505
+ @toleration_seconds.setter
2506
+ def toleration_seconds(self, value: Optional[_builtins.int]):
2507
+ pulumi.set(self, "toleration_seconds", value)
2508
+
2509
+ @_builtins.property
2510
+ @pulumi.getter
2511
+ def value(self) -> Optional[_builtins.str]:
2512
+ """
2513
+ Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.
2514
+ """
2515
+ return pulumi.get(self, "value")
2516
+
2517
+ @value.setter
2518
+ def value(self, value: Optional[_builtins.str]):
2519
+ pulumi.set(self, "value", value)
2520
+
2521
+
2522
+ if not MYPY:
2523
+ class GetInfrastructureV2VolumeArgsDict(TypedDict):
2524
+ name: _builtins.str
2525
+ """
2526
+ Name of the volume. Must be a DNS_LABEL and unique within the pod.
2527
+ """
2528
+ size_limit: NotRequired[_builtins.str]
2529
+ """
2530
+ Size limit of the volume. Example: '10Gi', '100Mi'
2531
+ """
2532
+ elif False:
2533
+ GetInfrastructureV2VolumeArgsDict: TypeAlias = Mapping[str, Any]
2534
+
2535
+ @pulumi.input_type
2536
+ class GetInfrastructureV2VolumeArgs:
2537
+ def __init__(__self__, *,
2538
+ name: _builtins.str,
2539
+ size_limit: Optional[_builtins.str] = None):
2540
+ """
2541
+ :param _builtins.str name: Name of the volume. Must be a DNS_LABEL and unique within the pod.
2542
+ :param _builtins.str size_limit: Size limit of the volume. Example: '10Gi', '100Mi'
2543
+ """
2544
+ pulumi.set(__self__, "name", name)
2545
+ if size_limit is not None:
2546
+ pulumi.set(__self__, "size_limit", size_limit)
2547
+
2548
+ @_builtins.property
2549
+ @pulumi.getter
2550
+ def name(self) -> _builtins.str:
2551
+ """
2552
+ Name of the volume. Must be a DNS_LABEL and unique within the pod.
2553
+ """
2554
+ return pulumi.get(self, "name")
2555
+
2556
+ @name.setter
2557
+ def name(self, value: _builtins.str):
2558
+ pulumi.set(self, "name", value)
2559
+
2560
+ @_builtins.property
2561
+ @pulumi.getter(name="sizeLimit")
2562
+ def size_limit(self) -> Optional[_builtins.str]:
2563
+ """
2564
+ Size limit of the volume. Example: '10Gi', '100Mi'
2565
+ """
2566
+ return pulumi.get(self, "size_limit")
2567
+
2568
+ @size_limit.setter
2569
+ def size_limit(self, value: Optional[_builtins.str]):
2570
+ pulumi.set(self, "size_limit", value)
2571
+
2572
+
2573
+ if not MYPY:
2574
+ class GetInfrastructureV2VolumeMountArgsDict(TypedDict):
2575
+ mount_path: _builtins.str
2576
+ """
2577
+ Path within the container at which the volume should be mounted. Must not contain ':'.
2578
+ """
2579
+ name: _builtins.str
2580
+ """
2581
+ This must match the Name of a Volume.
2582
+ """
2583
+ mount_propagation: NotRequired[_builtins.str]
2584
+ """
2585
+ Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used.
2586
+ """
2587
+ read_only: NotRequired[_builtins.bool]
2588
+ """
2589
+ Mounted read-only if true, read-write otherwise.
2590
+ """
2591
+ sub_path: NotRequired[_builtins.str]
2592
+ """
2593
+ Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.
2594
+ """
2595
+ sub_path_expr: NotRequired[_builtins.str]
2596
+ """
2597
+ 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.
2598
+ """
2599
+ elif False:
2600
+ GetInfrastructureV2VolumeMountArgsDict: TypeAlias = Mapping[str, Any]
2601
+
2602
+ @pulumi.input_type
2603
+ class GetInfrastructureV2VolumeMountArgs:
2604
+ def __init__(__self__, *,
2605
+ mount_path: _builtins.str,
2606
+ name: _builtins.str,
2607
+ mount_propagation: Optional[_builtins.str] = None,
2608
+ read_only: Optional[_builtins.bool] = None,
2609
+ sub_path: Optional[_builtins.str] = None,
2610
+ sub_path_expr: Optional[_builtins.str] = None):
2611
+ """
2612
+ :param _builtins.str mount_path: Path within the container at which the volume should be mounted. Must not contain ':'.
2613
+ :param _builtins.str name: This must match the Name of a Volume.
2614
+ :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.
2615
+ :param _builtins.bool read_only: Mounted read-only if true, read-write otherwise.
2616
+ :param _builtins.str sub_path: Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.
2617
+ :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.
2618
+ """
2619
+ pulumi.set(__self__, "mount_path", mount_path)
2620
+ pulumi.set(__self__, "name", name)
2621
+ if mount_propagation is not None:
2622
+ pulumi.set(__self__, "mount_propagation", mount_propagation)
2623
+ if read_only is not None:
2624
+ pulumi.set(__self__, "read_only", read_only)
2625
+ if sub_path is not None:
2626
+ pulumi.set(__self__, "sub_path", sub_path)
2627
+ if sub_path_expr is not None:
2628
+ pulumi.set(__self__, "sub_path_expr", sub_path_expr)
2629
+
2630
+ @_builtins.property
2631
+ @pulumi.getter(name="mountPath")
2632
+ def mount_path(self) -> _builtins.str:
2633
+ """
2634
+ Path within the container at which the volume should be mounted. Must not contain ':'.
2635
+ """
2636
+ return pulumi.get(self, "mount_path")
2637
+
2638
+ @mount_path.setter
2639
+ def mount_path(self, value: _builtins.str):
2640
+ pulumi.set(self, "mount_path", value)
2641
+
2642
+ @_builtins.property
2643
+ @pulumi.getter
2644
+ def name(self) -> _builtins.str:
2645
+ """
2646
+ This must match the Name of a Volume.
2647
+ """
2648
+ return pulumi.get(self, "name")
2649
+
2650
+ @name.setter
2651
+ def name(self, value: _builtins.str):
2652
+ pulumi.set(self, "name", value)
2653
+
2654
+ @_builtins.property
2655
+ @pulumi.getter(name="mountPropagation")
2656
+ def mount_propagation(self) -> Optional[_builtins.str]:
2657
+ """
2658
+ Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used.
2659
+ """
2660
+ return pulumi.get(self, "mount_propagation")
2661
+
2662
+ @mount_propagation.setter
2663
+ def mount_propagation(self, value: Optional[_builtins.str]):
2664
+ pulumi.set(self, "mount_propagation", value)
2665
+
2666
+ @_builtins.property
2667
+ @pulumi.getter(name="readOnly")
2668
+ def read_only(self) -> Optional[_builtins.bool]:
2669
+ """
2670
+ Mounted read-only if true, read-write otherwise.
2671
+ """
2672
+ return pulumi.get(self, "read_only")
2673
+
2674
+ @read_only.setter
2675
+ def read_only(self, value: Optional[_builtins.bool]):
2676
+ pulumi.set(self, "read_only", value)
2677
+
2678
+ @_builtins.property
2679
+ @pulumi.getter(name="subPath")
2680
+ def sub_path(self) -> Optional[_builtins.str]:
2681
+ """
2682
+ Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.
2683
+ """
2684
+ return pulumi.get(self, "sub_path")
2685
+
2686
+ @sub_path.setter
2687
+ def sub_path(self, value: Optional[_builtins.str]):
2688
+ pulumi.set(self, "sub_path", value)
2689
+
2690
+ @_builtins.property
2691
+ @pulumi.getter(name="subPathExpr")
2692
+ def sub_path_expr(self) -> Optional[_builtins.str]:
2693
+ """
2694
+ 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.
2695
+ """
2696
+ return pulumi.get(self, "sub_path_expr")
2697
+
2698
+ @sub_path_expr.setter
2699
+ def sub_path_expr(self, value: Optional[_builtins.str]):
2700
+ pulumi.set(self, "sub_path_expr", value)
2701
+
2702
+