pulumi-harness 0.8.0a1744436953__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.

@@ -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
+