pulumi-harness 0.8.0a1744264283__py3-none-any.whl → 0.8.0a1744696354__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.
- pulumi_harness/__init__.py +8 -0
- pulumi_harness/platform/__init__.py +2 -0
- pulumi_harness/platform/_inputs.py +314 -6
- pulumi_harness/platform/db_schema.py +116 -69
- pulumi_harness/platform/get_db_schema.py +44 -7
- pulumi_harness/platform/get_gitops_agent_deploy_yaml.py +21 -1
- pulumi_harness/platform/get_gitops_filters.py +182 -0
- pulumi_harness/platform/get_workspace.py +9 -6
- pulumi_harness/platform/github_connector.py +7 -7
- pulumi_harness/platform/gitops_filters.py +566 -0
- pulumi_harness/platform/outputs.py +132 -4
- pulumi_harness/platform/workspace.py +30 -18
- pulumi_harness/pulumi-plugin.json +1 -1
- {pulumi_harness-0.8.0a1744264283.dist-info → pulumi_harness-0.8.0a1744696354.dist-info}/METADATA +1 -1
- {pulumi_harness-0.8.0a1744264283.dist-info → pulumi_harness-0.8.0a1744696354.dist-info}/RECORD +17 -15
- {pulumi_harness-0.8.0a1744264283.dist-info → pulumi_harness-0.8.0a1744696354.dist-info}/WHEEL +0 -0
- {pulumi_harness-0.8.0a1744264283.dist-info → pulumi_harness-0.8.0a1744696354.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,566 @@
|
|
|
1
|
+
# coding=utf-8
|
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
|
|
5
|
+
import builtins
|
|
6
|
+
import copy
|
|
7
|
+
import warnings
|
|
8
|
+
import sys
|
|
9
|
+
import pulumi
|
|
10
|
+
import pulumi.runtime
|
|
11
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
|
12
|
+
if sys.version_info >= (3, 11):
|
|
13
|
+
from typing import NotRequired, TypedDict, TypeAlias
|
|
14
|
+
else:
|
|
15
|
+
from typing_extensions import NotRequired, TypedDict, TypeAlias
|
|
16
|
+
from .. import _utilities
|
|
17
|
+
|
|
18
|
+
__all__ = ['GitopsFiltersArgs', 'GitopsFilters']
|
|
19
|
+
|
|
20
|
+
@pulumi.input_type
|
|
21
|
+
class GitopsFiltersArgs:
|
|
22
|
+
def __init__(__self__, *,
|
|
23
|
+
filter_properties: pulumi.Input[builtins.str],
|
|
24
|
+
identifier: pulumi.Input[builtins.str],
|
|
25
|
+
org_id: pulumi.Input[builtins.str],
|
|
26
|
+
project_id: pulumi.Input[builtins.str],
|
|
27
|
+
type: pulumi.Input[builtins.str],
|
|
28
|
+
filter_visibility: Optional[pulumi.Input[builtins.str]] = None,
|
|
29
|
+
name: Optional[pulumi.Input[builtins.str]] = None):
|
|
30
|
+
"""
|
|
31
|
+
The set of arguments for constructing a GitopsFilters resource.
|
|
32
|
+
:param pulumi.Input[builtins.str] filter_properties: Properties of the filter entity defined in Harness as a JSON string. All values should be arrays of strings. Example: `jsonencode({"healthStatus": ["Healthy", "Degraded"], "syncStatus": ["Synced"]})`.
|
|
33
|
+
:param pulumi.Input[builtins.str] identifier: Unique identifier of the GitOps filter.
|
|
34
|
+
:param pulumi.Input[builtins.str] org_id: Organization identifier for the GitOps filter.
|
|
35
|
+
:param pulumi.Input[builtins.str] project_id: Project identifier for the GitOps filter.
|
|
36
|
+
:param pulumi.Input[builtins.str] type: Type of GitOps filter. Currently, only "APPLICATION" is supported.
|
|
37
|
+
:param pulumi.Input[builtins.str] filter_visibility: Visibility of the filter. Valid values are "EveryOne" and "OnlyCreator". Default is "EveryOne".
|
|
38
|
+
:param pulumi.Input[builtins.str] name: Name of the GitOps filter.
|
|
39
|
+
"""
|
|
40
|
+
pulumi.set(__self__, "filter_properties", filter_properties)
|
|
41
|
+
pulumi.set(__self__, "identifier", identifier)
|
|
42
|
+
pulumi.set(__self__, "org_id", org_id)
|
|
43
|
+
pulumi.set(__self__, "project_id", project_id)
|
|
44
|
+
pulumi.set(__self__, "type", type)
|
|
45
|
+
if filter_visibility is not None:
|
|
46
|
+
pulumi.set(__self__, "filter_visibility", filter_visibility)
|
|
47
|
+
if name is not None:
|
|
48
|
+
pulumi.set(__self__, "name", name)
|
|
49
|
+
|
|
50
|
+
@property
|
|
51
|
+
@pulumi.getter(name="filterProperties")
|
|
52
|
+
def filter_properties(self) -> pulumi.Input[builtins.str]:
|
|
53
|
+
"""
|
|
54
|
+
Properties of the filter entity defined in Harness as a JSON string. All values should be arrays of strings. Example: `jsonencode({"healthStatus": ["Healthy", "Degraded"], "syncStatus": ["Synced"]})`.
|
|
55
|
+
"""
|
|
56
|
+
return pulumi.get(self, "filter_properties")
|
|
57
|
+
|
|
58
|
+
@filter_properties.setter
|
|
59
|
+
def filter_properties(self, value: pulumi.Input[builtins.str]):
|
|
60
|
+
pulumi.set(self, "filter_properties", value)
|
|
61
|
+
|
|
62
|
+
@property
|
|
63
|
+
@pulumi.getter
|
|
64
|
+
def identifier(self) -> pulumi.Input[builtins.str]:
|
|
65
|
+
"""
|
|
66
|
+
Unique identifier of the GitOps filter.
|
|
67
|
+
"""
|
|
68
|
+
return pulumi.get(self, "identifier")
|
|
69
|
+
|
|
70
|
+
@identifier.setter
|
|
71
|
+
def identifier(self, value: pulumi.Input[builtins.str]):
|
|
72
|
+
pulumi.set(self, "identifier", value)
|
|
73
|
+
|
|
74
|
+
@property
|
|
75
|
+
@pulumi.getter(name="orgId")
|
|
76
|
+
def org_id(self) -> pulumi.Input[builtins.str]:
|
|
77
|
+
"""
|
|
78
|
+
Organization identifier for the GitOps filter.
|
|
79
|
+
"""
|
|
80
|
+
return pulumi.get(self, "org_id")
|
|
81
|
+
|
|
82
|
+
@org_id.setter
|
|
83
|
+
def org_id(self, value: pulumi.Input[builtins.str]):
|
|
84
|
+
pulumi.set(self, "org_id", value)
|
|
85
|
+
|
|
86
|
+
@property
|
|
87
|
+
@pulumi.getter(name="projectId")
|
|
88
|
+
def project_id(self) -> pulumi.Input[builtins.str]:
|
|
89
|
+
"""
|
|
90
|
+
Project identifier for the GitOps filter.
|
|
91
|
+
"""
|
|
92
|
+
return pulumi.get(self, "project_id")
|
|
93
|
+
|
|
94
|
+
@project_id.setter
|
|
95
|
+
def project_id(self, value: pulumi.Input[builtins.str]):
|
|
96
|
+
pulumi.set(self, "project_id", value)
|
|
97
|
+
|
|
98
|
+
@property
|
|
99
|
+
@pulumi.getter
|
|
100
|
+
def type(self) -> pulumi.Input[builtins.str]:
|
|
101
|
+
"""
|
|
102
|
+
Type of GitOps filter. Currently, only "APPLICATION" is supported.
|
|
103
|
+
"""
|
|
104
|
+
return pulumi.get(self, "type")
|
|
105
|
+
|
|
106
|
+
@type.setter
|
|
107
|
+
def type(self, value: pulumi.Input[builtins.str]):
|
|
108
|
+
pulumi.set(self, "type", value)
|
|
109
|
+
|
|
110
|
+
@property
|
|
111
|
+
@pulumi.getter(name="filterVisibility")
|
|
112
|
+
def filter_visibility(self) -> Optional[pulumi.Input[builtins.str]]:
|
|
113
|
+
"""
|
|
114
|
+
Visibility of the filter. Valid values are "EveryOne" and "OnlyCreator". Default is "EveryOne".
|
|
115
|
+
"""
|
|
116
|
+
return pulumi.get(self, "filter_visibility")
|
|
117
|
+
|
|
118
|
+
@filter_visibility.setter
|
|
119
|
+
def filter_visibility(self, value: Optional[pulumi.Input[builtins.str]]):
|
|
120
|
+
pulumi.set(self, "filter_visibility", value)
|
|
121
|
+
|
|
122
|
+
@property
|
|
123
|
+
@pulumi.getter
|
|
124
|
+
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
|
125
|
+
"""
|
|
126
|
+
Name of the GitOps filter.
|
|
127
|
+
"""
|
|
128
|
+
return pulumi.get(self, "name")
|
|
129
|
+
|
|
130
|
+
@name.setter
|
|
131
|
+
def name(self, value: Optional[pulumi.Input[builtins.str]]):
|
|
132
|
+
pulumi.set(self, "name", value)
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
@pulumi.input_type
|
|
136
|
+
class _GitopsFiltersState:
|
|
137
|
+
def __init__(__self__, *,
|
|
138
|
+
filter_properties: Optional[pulumi.Input[builtins.str]] = None,
|
|
139
|
+
filter_visibility: Optional[pulumi.Input[builtins.str]] = None,
|
|
140
|
+
identifier: Optional[pulumi.Input[builtins.str]] = None,
|
|
141
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
|
142
|
+
org_id: Optional[pulumi.Input[builtins.str]] = None,
|
|
143
|
+
project_id: Optional[pulumi.Input[builtins.str]] = None,
|
|
144
|
+
type: Optional[pulumi.Input[builtins.str]] = None):
|
|
145
|
+
"""
|
|
146
|
+
Input properties used for looking up and filtering GitopsFilters resources.
|
|
147
|
+
:param pulumi.Input[builtins.str] filter_properties: Properties of the filter entity defined in Harness as a JSON string. All values should be arrays of strings. Example: `jsonencode({"healthStatus": ["Healthy", "Degraded"], "syncStatus": ["Synced"]})`.
|
|
148
|
+
:param pulumi.Input[builtins.str] filter_visibility: Visibility of the filter. Valid values are "EveryOne" and "OnlyCreator". Default is "EveryOne".
|
|
149
|
+
:param pulumi.Input[builtins.str] identifier: Unique identifier of the GitOps filter.
|
|
150
|
+
:param pulumi.Input[builtins.str] name: Name of the GitOps filter.
|
|
151
|
+
:param pulumi.Input[builtins.str] org_id: Organization identifier for the GitOps filter.
|
|
152
|
+
:param pulumi.Input[builtins.str] project_id: Project identifier for the GitOps filter.
|
|
153
|
+
:param pulumi.Input[builtins.str] type: Type of GitOps filter. Currently, only "APPLICATION" is supported.
|
|
154
|
+
"""
|
|
155
|
+
if filter_properties is not None:
|
|
156
|
+
pulumi.set(__self__, "filter_properties", filter_properties)
|
|
157
|
+
if filter_visibility is not None:
|
|
158
|
+
pulumi.set(__self__, "filter_visibility", filter_visibility)
|
|
159
|
+
if identifier is not None:
|
|
160
|
+
pulumi.set(__self__, "identifier", identifier)
|
|
161
|
+
if name is not None:
|
|
162
|
+
pulumi.set(__self__, "name", name)
|
|
163
|
+
if org_id is not None:
|
|
164
|
+
pulumi.set(__self__, "org_id", org_id)
|
|
165
|
+
if project_id is not None:
|
|
166
|
+
pulumi.set(__self__, "project_id", project_id)
|
|
167
|
+
if type is not None:
|
|
168
|
+
pulumi.set(__self__, "type", type)
|
|
169
|
+
|
|
170
|
+
@property
|
|
171
|
+
@pulumi.getter(name="filterProperties")
|
|
172
|
+
def filter_properties(self) -> Optional[pulumi.Input[builtins.str]]:
|
|
173
|
+
"""
|
|
174
|
+
Properties of the filter entity defined in Harness as a JSON string. All values should be arrays of strings. Example: `jsonencode({"healthStatus": ["Healthy", "Degraded"], "syncStatus": ["Synced"]})`.
|
|
175
|
+
"""
|
|
176
|
+
return pulumi.get(self, "filter_properties")
|
|
177
|
+
|
|
178
|
+
@filter_properties.setter
|
|
179
|
+
def filter_properties(self, value: Optional[pulumi.Input[builtins.str]]):
|
|
180
|
+
pulumi.set(self, "filter_properties", value)
|
|
181
|
+
|
|
182
|
+
@property
|
|
183
|
+
@pulumi.getter(name="filterVisibility")
|
|
184
|
+
def filter_visibility(self) -> Optional[pulumi.Input[builtins.str]]:
|
|
185
|
+
"""
|
|
186
|
+
Visibility of the filter. Valid values are "EveryOne" and "OnlyCreator". Default is "EveryOne".
|
|
187
|
+
"""
|
|
188
|
+
return pulumi.get(self, "filter_visibility")
|
|
189
|
+
|
|
190
|
+
@filter_visibility.setter
|
|
191
|
+
def filter_visibility(self, value: Optional[pulumi.Input[builtins.str]]):
|
|
192
|
+
pulumi.set(self, "filter_visibility", value)
|
|
193
|
+
|
|
194
|
+
@property
|
|
195
|
+
@pulumi.getter
|
|
196
|
+
def identifier(self) -> Optional[pulumi.Input[builtins.str]]:
|
|
197
|
+
"""
|
|
198
|
+
Unique identifier of the GitOps filter.
|
|
199
|
+
"""
|
|
200
|
+
return pulumi.get(self, "identifier")
|
|
201
|
+
|
|
202
|
+
@identifier.setter
|
|
203
|
+
def identifier(self, value: Optional[pulumi.Input[builtins.str]]):
|
|
204
|
+
pulumi.set(self, "identifier", value)
|
|
205
|
+
|
|
206
|
+
@property
|
|
207
|
+
@pulumi.getter
|
|
208
|
+
def name(self) -> Optional[pulumi.Input[builtins.str]]:
|
|
209
|
+
"""
|
|
210
|
+
Name of the GitOps filter.
|
|
211
|
+
"""
|
|
212
|
+
return pulumi.get(self, "name")
|
|
213
|
+
|
|
214
|
+
@name.setter
|
|
215
|
+
def name(self, value: Optional[pulumi.Input[builtins.str]]):
|
|
216
|
+
pulumi.set(self, "name", value)
|
|
217
|
+
|
|
218
|
+
@property
|
|
219
|
+
@pulumi.getter(name="orgId")
|
|
220
|
+
def org_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
|
221
|
+
"""
|
|
222
|
+
Organization identifier for the GitOps filter.
|
|
223
|
+
"""
|
|
224
|
+
return pulumi.get(self, "org_id")
|
|
225
|
+
|
|
226
|
+
@org_id.setter
|
|
227
|
+
def org_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
|
228
|
+
pulumi.set(self, "org_id", value)
|
|
229
|
+
|
|
230
|
+
@property
|
|
231
|
+
@pulumi.getter(name="projectId")
|
|
232
|
+
def project_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
|
233
|
+
"""
|
|
234
|
+
Project identifier for the GitOps filter.
|
|
235
|
+
"""
|
|
236
|
+
return pulumi.get(self, "project_id")
|
|
237
|
+
|
|
238
|
+
@project_id.setter
|
|
239
|
+
def project_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
|
240
|
+
pulumi.set(self, "project_id", value)
|
|
241
|
+
|
|
242
|
+
@property
|
|
243
|
+
@pulumi.getter
|
|
244
|
+
def type(self) -> Optional[pulumi.Input[builtins.str]]:
|
|
245
|
+
"""
|
|
246
|
+
Type of GitOps filter. Currently, only "APPLICATION" is supported.
|
|
247
|
+
"""
|
|
248
|
+
return pulumi.get(self, "type")
|
|
249
|
+
|
|
250
|
+
@type.setter
|
|
251
|
+
def type(self, value: Optional[pulumi.Input[builtins.str]]):
|
|
252
|
+
pulumi.set(self, "type", value)
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
class GitopsFilters(pulumi.CustomResource):
|
|
256
|
+
@overload
|
|
257
|
+
def __init__(__self__,
|
|
258
|
+
resource_name: str,
|
|
259
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
260
|
+
filter_properties: Optional[pulumi.Input[builtins.str]] = None,
|
|
261
|
+
filter_visibility: Optional[pulumi.Input[builtins.str]] = None,
|
|
262
|
+
identifier: Optional[pulumi.Input[builtins.str]] = None,
|
|
263
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
|
264
|
+
org_id: Optional[pulumi.Input[builtins.str]] = None,
|
|
265
|
+
project_id: Optional[pulumi.Input[builtins.str]] = None,
|
|
266
|
+
type: Optional[pulumi.Input[builtins.str]] = None,
|
|
267
|
+
__props__=None):
|
|
268
|
+
"""
|
|
269
|
+
Resource for creating and managing Harness GitOps Filters.
|
|
270
|
+
|
|
271
|
+
## Example Usage
|
|
272
|
+
|
|
273
|
+
```python
|
|
274
|
+
import pulumi
|
|
275
|
+
import json
|
|
276
|
+
import pulumi_harness as harness
|
|
277
|
+
|
|
278
|
+
example = harness.platform.GitopsFilters("example",
|
|
279
|
+
name="example_filter",
|
|
280
|
+
org_id="your_org_id",
|
|
281
|
+
project_id="your_project_id",
|
|
282
|
+
identifier="example_filter",
|
|
283
|
+
type="APPLICATION",
|
|
284
|
+
filter_properties=json.dumps({
|
|
285
|
+
"agentIdentifiers": ["your_agent_identifier"],
|
|
286
|
+
"clusters": ["https://your-cluster-url"],
|
|
287
|
+
"healthStatus": [
|
|
288
|
+
"Unknown",
|
|
289
|
+
"Progressing",
|
|
290
|
+
"Suspended",
|
|
291
|
+
"Healthy",
|
|
292
|
+
"Degraded",
|
|
293
|
+
"Missing",
|
|
294
|
+
],
|
|
295
|
+
"namespaces": ["your-namespace"],
|
|
296
|
+
"repositories": ["your-repo"],
|
|
297
|
+
"syncStatus": [
|
|
298
|
+
"OutOfSync",
|
|
299
|
+
"Synced",
|
|
300
|
+
"Unknown",
|
|
301
|
+
],
|
|
302
|
+
}),
|
|
303
|
+
filter_visibility="OnlyCreator")
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
## Filter Properties Reference
|
|
307
|
+
|
|
308
|
+
The `filter_properties` field supports the following filter types:
|
|
309
|
+
|
|
310
|
+
> **Note:** The following filter properties are only valid for filter type "APPLICATION". Different filter types may support different properties.
|
|
311
|
+
|
|
312
|
+
* `agentIdentifiers` - Array of GitOps agent identifiers to filter by.
|
|
313
|
+
* `clusters` - Array of cluster URLs to filter by.
|
|
314
|
+
* `healthStatus` - Array of health status values to filter by. Valid values include: "Unknown", "Progressing", "Suspended", "Healthy", "Degraded", "Missing".
|
|
315
|
+
* `namespaces` - Array of Kubernetes namespaces to filter by.
|
|
316
|
+
* `repositories` - Array of Git repository URLs to filter by.
|
|
317
|
+
* `syncStatus` - Array of sync status values to filter by. Valid values include: "OutOfSync", "Synced", "Unknown".
|
|
318
|
+
|
|
319
|
+
## Schema Attributes Reference
|
|
320
|
+
|
|
321
|
+
* `id` - Identifier of the GitOps filter.
|
|
322
|
+
|
|
323
|
+
## Import
|
|
324
|
+
|
|
325
|
+
GitOps filters can be imported using a composite ID formed of organization ID, project ID, filter ID, and filter type.
|
|
326
|
+
|
|
327
|
+
bash
|
|
328
|
+
|
|
329
|
+
Format: <org_id>/<project_id>/<filter_id>/<filter_type>
|
|
330
|
+
|
|
331
|
+
```sh
|
|
332
|
+
$ pulumi import harness:platform/gitopsFilters:GitopsFilters example org_id/project_id/filter_id/APPLICATION
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
:param str resource_name: The name of the resource.
|
|
336
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
337
|
+
:param pulumi.Input[builtins.str] filter_properties: Properties of the filter entity defined in Harness as a JSON string. All values should be arrays of strings. Example: `jsonencode({"healthStatus": ["Healthy", "Degraded"], "syncStatus": ["Synced"]})`.
|
|
338
|
+
:param pulumi.Input[builtins.str] filter_visibility: Visibility of the filter. Valid values are "EveryOne" and "OnlyCreator". Default is "EveryOne".
|
|
339
|
+
:param pulumi.Input[builtins.str] identifier: Unique identifier of the GitOps filter.
|
|
340
|
+
:param pulumi.Input[builtins.str] name: Name of the GitOps filter.
|
|
341
|
+
:param pulumi.Input[builtins.str] org_id: Organization identifier for the GitOps filter.
|
|
342
|
+
:param pulumi.Input[builtins.str] project_id: Project identifier for the GitOps filter.
|
|
343
|
+
:param pulumi.Input[builtins.str] type: Type of GitOps filter. Currently, only "APPLICATION" is supported.
|
|
344
|
+
"""
|
|
345
|
+
...
|
|
346
|
+
@overload
|
|
347
|
+
def __init__(__self__,
|
|
348
|
+
resource_name: str,
|
|
349
|
+
args: GitopsFiltersArgs,
|
|
350
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
351
|
+
"""
|
|
352
|
+
Resource for creating and managing Harness GitOps Filters.
|
|
353
|
+
|
|
354
|
+
## Example Usage
|
|
355
|
+
|
|
356
|
+
```python
|
|
357
|
+
import pulumi
|
|
358
|
+
import json
|
|
359
|
+
import pulumi_harness as harness
|
|
360
|
+
|
|
361
|
+
example = harness.platform.GitopsFilters("example",
|
|
362
|
+
name="example_filter",
|
|
363
|
+
org_id="your_org_id",
|
|
364
|
+
project_id="your_project_id",
|
|
365
|
+
identifier="example_filter",
|
|
366
|
+
type="APPLICATION",
|
|
367
|
+
filter_properties=json.dumps({
|
|
368
|
+
"agentIdentifiers": ["your_agent_identifier"],
|
|
369
|
+
"clusters": ["https://your-cluster-url"],
|
|
370
|
+
"healthStatus": [
|
|
371
|
+
"Unknown",
|
|
372
|
+
"Progressing",
|
|
373
|
+
"Suspended",
|
|
374
|
+
"Healthy",
|
|
375
|
+
"Degraded",
|
|
376
|
+
"Missing",
|
|
377
|
+
],
|
|
378
|
+
"namespaces": ["your-namespace"],
|
|
379
|
+
"repositories": ["your-repo"],
|
|
380
|
+
"syncStatus": [
|
|
381
|
+
"OutOfSync",
|
|
382
|
+
"Synced",
|
|
383
|
+
"Unknown",
|
|
384
|
+
],
|
|
385
|
+
}),
|
|
386
|
+
filter_visibility="OnlyCreator")
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
## Filter Properties Reference
|
|
390
|
+
|
|
391
|
+
The `filter_properties` field supports the following filter types:
|
|
392
|
+
|
|
393
|
+
> **Note:** The following filter properties are only valid for filter type "APPLICATION". Different filter types may support different properties.
|
|
394
|
+
|
|
395
|
+
* `agentIdentifiers` - Array of GitOps agent identifiers to filter by.
|
|
396
|
+
* `clusters` - Array of cluster URLs to filter by.
|
|
397
|
+
* `healthStatus` - Array of health status values to filter by. Valid values include: "Unknown", "Progressing", "Suspended", "Healthy", "Degraded", "Missing".
|
|
398
|
+
* `namespaces` - Array of Kubernetes namespaces to filter by.
|
|
399
|
+
* `repositories` - Array of Git repository URLs to filter by.
|
|
400
|
+
* `syncStatus` - Array of sync status values to filter by. Valid values include: "OutOfSync", "Synced", "Unknown".
|
|
401
|
+
|
|
402
|
+
## Schema Attributes Reference
|
|
403
|
+
|
|
404
|
+
* `id` - Identifier of the GitOps filter.
|
|
405
|
+
|
|
406
|
+
## Import
|
|
407
|
+
|
|
408
|
+
GitOps filters can be imported using a composite ID formed of organization ID, project ID, filter ID, and filter type.
|
|
409
|
+
|
|
410
|
+
bash
|
|
411
|
+
|
|
412
|
+
Format: <org_id>/<project_id>/<filter_id>/<filter_type>
|
|
413
|
+
|
|
414
|
+
```sh
|
|
415
|
+
$ pulumi import harness:platform/gitopsFilters:GitopsFilters example org_id/project_id/filter_id/APPLICATION
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
:param str resource_name: The name of the resource.
|
|
419
|
+
:param GitopsFiltersArgs args: The arguments to use to populate this resource's properties.
|
|
420
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
421
|
+
"""
|
|
422
|
+
...
|
|
423
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
424
|
+
resource_args, opts = _utilities.get_resource_args_opts(GitopsFiltersArgs, pulumi.ResourceOptions, *args, **kwargs)
|
|
425
|
+
if resource_args is not None:
|
|
426
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
427
|
+
else:
|
|
428
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
429
|
+
|
|
430
|
+
def _internal_init(__self__,
|
|
431
|
+
resource_name: str,
|
|
432
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
433
|
+
filter_properties: Optional[pulumi.Input[builtins.str]] = None,
|
|
434
|
+
filter_visibility: Optional[pulumi.Input[builtins.str]] = None,
|
|
435
|
+
identifier: Optional[pulumi.Input[builtins.str]] = None,
|
|
436
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
|
437
|
+
org_id: Optional[pulumi.Input[builtins.str]] = None,
|
|
438
|
+
project_id: Optional[pulumi.Input[builtins.str]] = None,
|
|
439
|
+
type: Optional[pulumi.Input[builtins.str]] = None,
|
|
440
|
+
__props__=None):
|
|
441
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
442
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
443
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
444
|
+
if opts.id is None:
|
|
445
|
+
if __props__ is not None:
|
|
446
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
447
|
+
__props__ = GitopsFiltersArgs.__new__(GitopsFiltersArgs)
|
|
448
|
+
|
|
449
|
+
if filter_properties is None and not opts.urn:
|
|
450
|
+
raise TypeError("Missing required property 'filter_properties'")
|
|
451
|
+
__props__.__dict__["filter_properties"] = filter_properties
|
|
452
|
+
__props__.__dict__["filter_visibility"] = filter_visibility
|
|
453
|
+
if identifier is None and not opts.urn:
|
|
454
|
+
raise TypeError("Missing required property 'identifier'")
|
|
455
|
+
__props__.__dict__["identifier"] = identifier
|
|
456
|
+
__props__.__dict__["name"] = name
|
|
457
|
+
if org_id is None and not opts.urn:
|
|
458
|
+
raise TypeError("Missing required property 'org_id'")
|
|
459
|
+
__props__.__dict__["org_id"] = org_id
|
|
460
|
+
if project_id is None and not opts.urn:
|
|
461
|
+
raise TypeError("Missing required property 'project_id'")
|
|
462
|
+
__props__.__dict__["project_id"] = project_id
|
|
463
|
+
if type is None and not opts.urn:
|
|
464
|
+
raise TypeError("Missing required property 'type'")
|
|
465
|
+
__props__.__dict__["type"] = type
|
|
466
|
+
super(GitopsFilters, __self__).__init__(
|
|
467
|
+
'harness:platform/gitopsFilters:GitopsFilters',
|
|
468
|
+
resource_name,
|
|
469
|
+
__props__,
|
|
470
|
+
opts)
|
|
471
|
+
|
|
472
|
+
@staticmethod
|
|
473
|
+
def get(resource_name: str,
|
|
474
|
+
id: pulumi.Input[str],
|
|
475
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
476
|
+
filter_properties: Optional[pulumi.Input[builtins.str]] = None,
|
|
477
|
+
filter_visibility: Optional[pulumi.Input[builtins.str]] = None,
|
|
478
|
+
identifier: Optional[pulumi.Input[builtins.str]] = None,
|
|
479
|
+
name: Optional[pulumi.Input[builtins.str]] = None,
|
|
480
|
+
org_id: Optional[pulumi.Input[builtins.str]] = None,
|
|
481
|
+
project_id: Optional[pulumi.Input[builtins.str]] = None,
|
|
482
|
+
type: Optional[pulumi.Input[builtins.str]] = None) -> 'GitopsFilters':
|
|
483
|
+
"""
|
|
484
|
+
Get an existing GitopsFilters resource's state with the given name, id, and optional extra
|
|
485
|
+
properties used to qualify the lookup.
|
|
486
|
+
|
|
487
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
488
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
489
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
490
|
+
:param pulumi.Input[builtins.str] filter_properties: Properties of the filter entity defined in Harness as a JSON string. All values should be arrays of strings. Example: `jsonencode({"healthStatus": ["Healthy", "Degraded"], "syncStatus": ["Synced"]})`.
|
|
491
|
+
:param pulumi.Input[builtins.str] filter_visibility: Visibility of the filter. Valid values are "EveryOne" and "OnlyCreator". Default is "EveryOne".
|
|
492
|
+
:param pulumi.Input[builtins.str] identifier: Unique identifier of the GitOps filter.
|
|
493
|
+
:param pulumi.Input[builtins.str] name: Name of the GitOps filter.
|
|
494
|
+
:param pulumi.Input[builtins.str] org_id: Organization identifier for the GitOps filter.
|
|
495
|
+
:param pulumi.Input[builtins.str] project_id: Project identifier for the GitOps filter.
|
|
496
|
+
:param pulumi.Input[builtins.str] type: Type of GitOps filter. Currently, only "APPLICATION" is supported.
|
|
497
|
+
"""
|
|
498
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
499
|
+
|
|
500
|
+
__props__ = _GitopsFiltersState.__new__(_GitopsFiltersState)
|
|
501
|
+
|
|
502
|
+
__props__.__dict__["filter_properties"] = filter_properties
|
|
503
|
+
__props__.__dict__["filter_visibility"] = filter_visibility
|
|
504
|
+
__props__.__dict__["identifier"] = identifier
|
|
505
|
+
__props__.__dict__["name"] = name
|
|
506
|
+
__props__.__dict__["org_id"] = org_id
|
|
507
|
+
__props__.__dict__["project_id"] = project_id
|
|
508
|
+
__props__.__dict__["type"] = type
|
|
509
|
+
return GitopsFilters(resource_name, opts=opts, __props__=__props__)
|
|
510
|
+
|
|
511
|
+
@property
|
|
512
|
+
@pulumi.getter(name="filterProperties")
|
|
513
|
+
def filter_properties(self) -> pulumi.Output[builtins.str]:
|
|
514
|
+
"""
|
|
515
|
+
Properties of the filter entity defined in Harness as a JSON string. All values should be arrays of strings. Example: `jsonencode({"healthStatus": ["Healthy", "Degraded"], "syncStatus": ["Synced"]})`.
|
|
516
|
+
"""
|
|
517
|
+
return pulumi.get(self, "filter_properties")
|
|
518
|
+
|
|
519
|
+
@property
|
|
520
|
+
@pulumi.getter(name="filterVisibility")
|
|
521
|
+
def filter_visibility(self) -> pulumi.Output[Optional[builtins.str]]:
|
|
522
|
+
"""
|
|
523
|
+
Visibility of the filter. Valid values are "EveryOne" and "OnlyCreator". Default is "EveryOne".
|
|
524
|
+
"""
|
|
525
|
+
return pulumi.get(self, "filter_visibility")
|
|
526
|
+
|
|
527
|
+
@property
|
|
528
|
+
@pulumi.getter
|
|
529
|
+
def identifier(self) -> pulumi.Output[builtins.str]:
|
|
530
|
+
"""
|
|
531
|
+
Unique identifier of the GitOps filter.
|
|
532
|
+
"""
|
|
533
|
+
return pulumi.get(self, "identifier")
|
|
534
|
+
|
|
535
|
+
@property
|
|
536
|
+
@pulumi.getter
|
|
537
|
+
def name(self) -> pulumi.Output[builtins.str]:
|
|
538
|
+
"""
|
|
539
|
+
Name of the GitOps filter.
|
|
540
|
+
"""
|
|
541
|
+
return pulumi.get(self, "name")
|
|
542
|
+
|
|
543
|
+
@property
|
|
544
|
+
@pulumi.getter(name="orgId")
|
|
545
|
+
def org_id(self) -> pulumi.Output[builtins.str]:
|
|
546
|
+
"""
|
|
547
|
+
Organization identifier for the GitOps filter.
|
|
548
|
+
"""
|
|
549
|
+
return pulumi.get(self, "org_id")
|
|
550
|
+
|
|
551
|
+
@property
|
|
552
|
+
@pulumi.getter(name="projectId")
|
|
553
|
+
def project_id(self) -> pulumi.Output[builtins.str]:
|
|
554
|
+
"""
|
|
555
|
+
Project identifier for the GitOps filter.
|
|
556
|
+
"""
|
|
557
|
+
return pulumi.get(self, "project_id")
|
|
558
|
+
|
|
559
|
+
@property
|
|
560
|
+
@pulumi.getter
|
|
561
|
+
def type(self) -> pulumi.Output[builtins.str]:
|
|
562
|
+
"""
|
|
563
|
+
Type of GitOps filter. Currently, only "APPLICATION" is supported.
|
|
564
|
+
"""
|
|
565
|
+
return pulumi.get(self, "type")
|
|
566
|
+
|