pulumi-gitlab 9.6.0a1766429294__py3-none-any.whl → 9.8.0__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.
@@ -0,0 +1,547 @@
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__ = ['ProjectPushMirrorArgs', 'ProjectPushMirror']
18
+
19
+ @pulumi.input_type
20
+ class ProjectPushMirrorArgs:
21
+ def __init__(__self__, *,
22
+ project: pulumi.Input[_builtins.str],
23
+ url: pulumi.Input[_builtins.str],
24
+ auth_method: Optional[pulumi.Input[_builtins.str]] = None,
25
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
26
+ keep_divergent_refs: Optional[pulumi.Input[_builtins.bool]] = None,
27
+ mirror_branch_regex: Optional[pulumi.Input[_builtins.str]] = None,
28
+ only_protected_branches: Optional[pulumi.Input[_builtins.bool]] = None):
29
+ """
30
+ The set of arguments for constructing a ProjectPushMirror resource.
31
+ :param pulumi.Input[_builtins.str] project: The id of the project.
32
+ :param pulumi.Input[_builtins.str] url: The URL of the remote repository to be mirrored.
33
+ :param pulumi.Input[_builtins.str] auth_method: Determines the mirror authentication method. Valid values are: `ssh_public_key`, `password`.
34
+ :param pulumi.Input[_builtins.bool] enabled: Determines if the mirror is enabled.
35
+ :param pulumi.Input[_builtins.bool] keep_divergent_refs: Determines if divergent refs are skipped.
36
+ :param pulumi.Input[_builtins.str] mirror_branch_regex: Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only.
37
+ :param pulumi.Input[_builtins.bool] only_protected_branches: Determines if only protected branches are mirrored.
38
+ """
39
+ pulumi.set(__self__, "project", project)
40
+ pulumi.set(__self__, "url", url)
41
+ if auth_method is not None:
42
+ pulumi.set(__self__, "auth_method", auth_method)
43
+ if enabled is not None:
44
+ pulumi.set(__self__, "enabled", enabled)
45
+ if keep_divergent_refs is not None:
46
+ pulumi.set(__self__, "keep_divergent_refs", keep_divergent_refs)
47
+ if mirror_branch_regex is not None:
48
+ pulumi.set(__self__, "mirror_branch_regex", mirror_branch_regex)
49
+ if only_protected_branches is not None:
50
+ pulumi.set(__self__, "only_protected_branches", only_protected_branches)
51
+
52
+ @_builtins.property
53
+ @pulumi.getter
54
+ def project(self) -> pulumi.Input[_builtins.str]:
55
+ """
56
+ The id of the project.
57
+ """
58
+ return pulumi.get(self, "project")
59
+
60
+ @project.setter
61
+ def project(self, value: pulumi.Input[_builtins.str]):
62
+ pulumi.set(self, "project", value)
63
+
64
+ @_builtins.property
65
+ @pulumi.getter
66
+ def url(self) -> pulumi.Input[_builtins.str]:
67
+ """
68
+ The URL of the remote repository to be mirrored.
69
+ """
70
+ return pulumi.get(self, "url")
71
+
72
+ @url.setter
73
+ def url(self, value: pulumi.Input[_builtins.str]):
74
+ pulumi.set(self, "url", value)
75
+
76
+ @_builtins.property
77
+ @pulumi.getter(name="authMethod")
78
+ def auth_method(self) -> Optional[pulumi.Input[_builtins.str]]:
79
+ """
80
+ Determines the mirror authentication method. Valid values are: `ssh_public_key`, `password`.
81
+ """
82
+ return pulumi.get(self, "auth_method")
83
+
84
+ @auth_method.setter
85
+ def auth_method(self, value: Optional[pulumi.Input[_builtins.str]]):
86
+ pulumi.set(self, "auth_method", value)
87
+
88
+ @_builtins.property
89
+ @pulumi.getter
90
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
91
+ """
92
+ Determines if the mirror is enabled.
93
+ """
94
+ return pulumi.get(self, "enabled")
95
+
96
+ @enabled.setter
97
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
98
+ pulumi.set(self, "enabled", value)
99
+
100
+ @_builtins.property
101
+ @pulumi.getter(name="keepDivergentRefs")
102
+ def keep_divergent_refs(self) -> Optional[pulumi.Input[_builtins.bool]]:
103
+ """
104
+ Determines if divergent refs are skipped.
105
+ """
106
+ return pulumi.get(self, "keep_divergent_refs")
107
+
108
+ @keep_divergent_refs.setter
109
+ def keep_divergent_refs(self, value: Optional[pulumi.Input[_builtins.bool]]):
110
+ pulumi.set(self, "keep_divergent_refs", value)
111
+
112
+ @_builtins.property
113
+ @pulumi.getter(name="mirrorBranchRegex")
114
+ def mirror_branch_regex(self) -> Optional[pulumi.Input[_builtins.str]]:
115
+ """
116
+ Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only.
117
+ """
118
+ return pulumi.get(self, "mirror_branch_regex")
119
+
120
+ @mirror_branch_regex.setter
121
+ def mirror_branch_regex(self, value: Optional[pulumi.Input[_builtins.str]]):
122
+ pulumi.set(self, "mirror_branch_regex", value)
123
+
124
+ @_builtins.property
125
+ @pulumi.getter(name="onlyProtectedBranches")
126
+ def only_protected_branches(self) -> Optional[pulumi.Input[_builtins.bool]]:
127
+ """
128
+ Determines if only protected branches are mirrored.
129
+ """
130
+ return pulumi.get(self, "only_protected_branches")
131
+
132
+ @only_protected_branches.setter
133
+ def only_protected_branches(self, value: Optional[pulumi.Input[_builtins.bool]]):
134
+ pulumi.set(self, "only_protected_branches", value)
135
+
136
+
137
+ @pulumi.input_type
138
+ class _ProjectPushMirrorState:
139
+ def __init__(__self__, *,
140
+ auth_method: Optional[pulumi.Input[_builtins.str]] = None,
141
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
142
+ keep_divergent_refs: Optional[pulumi.Input[_builtins.bool]] = None,
143
+ mirror_branch_regex: Optional[pulumi.Input[_builtins.str]] = None,
144
+ mirror_id: Optional[pulumi.Input[_builtins.int]] = None,
145
+ only_protected_branches: Optional[pulumi.Input[_builtins.bool]] = None,
146
+ project: Optional[pulumi.Input[_builtins.str]] = None,
147
+ url: Optional[pulumi.Input[_builtins.str]] = None):
148
+ """
149
+ Input properties used for looking up and filtering ProjectPushMirror resources.
150
+ :param pulumi.Input[_builtins.str] auth_method: Determines the mirror authentication method. Valid values are: `ssh_public_key`, `password`.
151
+ :param pulumi.Input[_builtins.bool] enabled: Determines if the mirror is enabled.
152
+ :param pulumi.Input[_builtins.bool] keep_divergent_refs: Determines if divergent refs are skipped.
153
+ :param pulumi.Input[_builtins.str] mirror_branch_regex: Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only.
154
+ :param pulumi.Input[_builtins.int] mirror_id: Mirror ID.
155
+ :param pulumi.Input[_builtins.bool] only_protected_branches: Determines if only protected branches are mirrored.
156
+ :param pulumi.Input[_builtins.str] project: The id of the project.
157
+ :param pulumi.Input[_builtins.str] url: The URL of the remote repository to be mirrored.
158
+ """
159
+ if auth_method is not None:
160
+ pulumi.set(__self__, "auth_method", auth_method)
161
+ if enabled is not None:
162
+ pulumi.set(__self__, "enabled", enabled)
163
+ if keep_divergent_refs is not None:
164
+ pulumi.set(__self__, "keep_divergent_refs", keep_divergent_refs)
165
+ if mirror_branch_regex is not None:
166
+ pulumi.set(__self__, "mirror_branch_regex", mirror_branch_regex)
167
+ if mirror_id is not None:
168
+ pulumi.set(__self__, "mirror_id", mirror_id)
169
+ if only_protected_branches is not None:
170
+ pulumi.set(__self__, "only_protected_branches", only_protected_branches)
171
+ if project is not None:
172
+ pulumi.set(__self__, "project", project)
173
+ if url is not None:
174
+ pulumi.set(__self__, "url", url)
175
+
176
+ @_builtins.property
177
+ @pulumi.getter(name="authMethod")
178
+ def auth_method(self) -> Optional[pulumi.Input[_builtins.str]]:
179
+ """
180
+ Determines the mirror authentication method. Valid values are: `ssh_public_key`, `password`.
181
+ """
182
+ return pulumi.get(self, "auth_method")
183
+
184
+ @auth_method.setter
185
+ def auth_method(self, value: Optional[pulumi.Input[_builtins.str]]):
186
+ pulumi.set(self, "auth_method", value)
187
+
188
+ @_builtins.property
189
+ @pulumi.getter
190
+ def enabled(self) -> Optional[pulumi.Input[_builtins.bool]]:
191
+ """
192
+ Determines if the mirror is enabled.
193
+ """
194
+ return pulumi.get(self, "enabled")
195
+
196
+ @enabled.setter
197
+ def enabled(self, value: Optional[pulumi.Input[_builtins.bool]]):
198
+ pulumi.set(self, "enabled", value)
199
+
200
+ @_builtins.property
201
+ @pulumi.getter(name="keepDivergentRefs")
202
+ def keep_divergent_refs(self) -> Optional[pulumi.Input[_builtins.bool]]:
203
+ """
204
+ Determines if divergent refs are skipped.
205
+ """
206
+ return pulumi.get(self, "keep_divergent_refs")
207
+
208
+ @keep_divergent_refs.setter
209
+ def keep_divergent_refs(self, value: Optional[pulumi.Input[_builtins.bool]]):
210
+ pulumi.set(self, "keep_divergent_refs", value)
211
+
212
+ @_builtins.property
213
+ @pulumi.getter(name="mirrorBranchRegex")
214
+ def mirror_branch_regex(self) -> Optional[pulumi.Input[_builtins.str]]:
215
+ """
216
+ Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only.
217
+ """
218
+ return pulumi.get(self, "mirror_branch_regex")
219
+
220
+ @mirror_branch_regex.setter
221
+ def mirror_branch_regex(self, value: Optional[pulumi.Input[_builtins.str]]):
222
+ pulumi.set(self, "mirror_branch_regex", value)
223
+
224
+ @_builtins.property
225
+ @pulumi.getter(name="mirrorId")
226
+ def mirror_id(self) -> Optional[pulumi.Input[_builtins.int]]:
227
+ """
228
+ Mirror ID.
229
+ """
230
+ return pulumi.get(self, "mirror_id")
231
+
232
+ @mirror_id.setter
233
+ def mirror_id(self, value: Optional[pulumi.Input[_builtins.int]]):
234
+ pulumi.set(self, "mirror_id", value)
235
+
236
+ @_builtins.property
237
+ @pulumi.getter(name="onlyProtectedBranches")
238
+ def only_protected_branches(self) -> Optional[pulumi.Input[_builtins.bool]]:
239
+ """
240
+ Determines if only protected branches are mirrored.
241
+ """
242
+ return pulumi.get(self, "only_protected_branches")
243
+
244
+ @only_protected_branches.setter
245
+ def only_protected_branches(self, value: Optional[pulumi.Input[_builtins.bool]]):
246
+ pulumi.set(self, "only_protected_branches", value)
247
+
248
+ @_builtins.property
249
+ @pulumi.getter
250
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
251
+ """
252
+ The id of the project.
253
+ """
254
+ return pulumi.get(self, "project")
255
+
256
+ @project.setter
257
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
258
+ pulumi.set(self, "project", value)
259
+
260
+ @_builtins.property
261
+ @pulumi.getter
262
+ def url(self) -> Optional[pulumi.Input[_builtins.str]]:
263
+ """
264
+ The URL of the remote repository to be mirrored.
265
+ """
266
+ return pulumi.get(self, "url")
267
+
268
+ @url.setter
269
+ def url(self, value: Optional[pulumi.Input[_builtins.str]]):
270
+ pulumi.set(self, "url", value)
271
+
272
+
273
+ @pulumi.type_token("gitlab:index/projectPushMirror:ProjectPushMirror")
274
+ class ProjectPushMirror(pulumi.CustomResource):
275
+ @overload
276
+ def __init__(__self__,
277
+ resource_name: str,
278
+ opts: Optional[pulumi.ResourceOptions] = None,
279
+ auth_method: Optional[pulumi.Input[_builtins.str]] = None,
280
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
281
+ keep_divergent_refs: Optional[pulumi.Input[_builtins.bool]] = None,
282
+ mirror_branch_regex: Optional[pulumi.Input[_builtins.str]] = None,
283
+ only_protected_branches: Optional[pulumi.Input[_builtins.bool]] = None,
284
+ project: Optional[pulumi.Input[_builtins.str]] = None,
285
+ url: Optional[pulumi.Input[_builtins.str]] = None,
286
+ __props__=None):
287
+ """
288
+ The `ProjectPushMirror` resource manages the lifecycle of a project mirror.
289
+
290
+ This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured with the ProjectPullMirror resource.
291
+
292
+ > **Warning** By default, the provider sets the `keep_divergent_refs` argument to `True`.
293
+ If you manually set `keep_divergent_refs` to `False`, GitLab mirroring removes branches in the target that aren't in the source.
294
+ This action can result in unexpected branch deletions.
295
+
296
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/)
297
+
298
+ ## Example Usage
299
+
300
+ ```python
301
+ import pulumi
302
+ import pulumi_gitlab as gitlab
303
+
304
+ foo = gitlab.ProjectPushMirror("foo",
305
+ project="1",
306
+ url="https://username:password@github.com/org/repository.git")
307
+ ```
308
+
309
+ ## Import
310
+
311
+ Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_push_mirror`. For example:
312
+
313
+ terraform
314
+
315
+ import {
316
+
317
+ to = gitlab_project_push_mirror.example
318
+
319
+ id = "see CLI command below for ID"
320
+
321
+ }
322
+
323
+ Importing using the CLI is supported with the following syntax:
324
+
325
+ GitLab project mirror can be imported using an id made up of `project_id:mirror_id`, e.g.
326
+
327
+ ```sh
328
+ $ pulumi import gitlab:index/projectPushMirror:ProjectPushMirror foo "12345:1337"
329
+ ```
330
+
331
+ :param str resource_name: The name of the resource.
332
+ :param pulumi.ResourceOptions opts: Options for the resource.
333
+ :param pulumi.Input[_builtins.str] auth_method: Determines the mirror authentication method. Valid values are: `ssh_public_key`, `password`.
334
+ :param pulumi.Input[_builtins.bool] enabled: Determines if the mirror is enabled.
335
+ :param pulumi.Input[_builtins.bool] keep_divergent_refs: Determines if divergent refs are skipped.
336
+ :param pulumi.Input[_builtins.str] mirror_branch_regex: Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only.
337
+ :param pulumi.Input[_builtins.bool] only_protected_branches: Determines if only protected branches are mirrored.
338
+ :param pulumi.Input[_builtins.str] project: The id of the project.
339
+ :param pulumi.Input[_builtins.str] url: The URL of the remote repository to be mirrored.
340
+ """
341
+ ...
342
+ @overload
343
+ def __init__(__self__,
344
+ resource_name: str,
345
+ args: ProjectPushMirrorArgs,
346
+ opts: Optional[pulumi.ResourceOptions] = None):
347
+ """
348
+ The `ProjectPushMirror` resource manages the lifecycle of a project mirror.
349
+
350
+ This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured with the ProjectPullMirror resource.
351
+
352
+ > **Warning** By default, the provider sets the `keep_divergent_refs` argument to `True`.
353
+ If you manually set `keep_divergent_refs` to `False`, GitLab mirroring removes branches in the target that aren't in the source.
354
+ This action can result in unexpected branch deletions.
355
+
356
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/)
357
+
358
+ ## Example Usage
359
+
360
+ ```python
361
+ import pulumi
362
+ import pulumi_gitlab as gitlab
363
+
364
+ foo = gitlab.ProjectPushMirror("foo",
365
+ project="1",
366
+ url="https://username:password@github.com/org/repository.git")
367
+ ```
368
+
369
+ ## Import
370
+
371
+ Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_push_mirror`. For example:
372
+
373
+ terraform
374
+
375
+ import {
376
+
377
+ to = gitlab_project_push_mirror.example
378
+
379
+ id = "see CLI command below for ID"
380
+
381
+ }
382
+
383
+ Importing using the CLI is supported with the following syntax:
384
+
385
+ GitLab project mirror can be imported using an id made up of `project_id:mirror_id`, e.g.
386
+
387
+ ```sh
388
+ $ pulumi import gitlab:index/projectPushMirror:ProjectPushMirror foo "12345:1337"
389
+ ```
390
+
391
+ :param str resource_name: The name of the resource.
392
+ :param ProjectPushMirrorArgs args: The arguments to use to populate this resource's properties.
393
+ :param pulumi.ResourceOptions opts: Options for the resource.
394
+ """
395
+ ...
396
+ def __init__(__self__, resource_name: str, *args, **kwargs):
397
+ resource_args, opts = _utilities.get_resource_args_opts(ProjectPushMirrorArgs, pulumi.ResourceOptions, *args, **kwargs)
398
+ if resource_args is not None:
399
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
400
+ else:
401
+ __self__._internal_init(resource_name, *args, **kwargs)
402
+
403
+ def _internal_init(__self__,
404
+ resource_name: str,
405
+ opts: Optional[pulumi.ResourceOptions] = None,
406
+ auth_method: Optional[pulumi.Input[_builtins.str]] = None,
407
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
408
+ keep_divergent_refs: Optional[pulumi.Input[_builtins.bool]] = None,
409
+ mirror_branch_regex: Optional[pulumi.Input[_builtins.str]] = None,
410
+ only_protected_branches: Optional[pulumi.Input[_builtins.bool]] = None,
411
+ project: Optional[pulumi.Input[_builtins.str]] = None,
412
+ url: Optional[pulumi.Input[_builtins.str]] = None,
413
+ __props__=None):
414
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
415
+ if not isinstance(opts, pulumi.ResourceOptions):
416
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
417
+ if opts.id is None:
418
+ if __props__ is not None:
419
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
420
+ __props__ = ProjectPushMirrorArgs.__new__(ProjectPushMirrorArgs)
421
+
422
+ __props__.__dict__["auth_method"] = auth_method
423
+ __props__.__dict__["enabled"] = enabled
424
+ __props__.__dict__["keep_divergent_refs"] = keep_divergent_refs
425
+ __props__.__dict__["mirror_branch_regex"] = mirror_branch_regex
426
+ __props__.__dict__["only_protected_branches"] = only_protected_branches
427
+ if project is None and not opts.urn:
428
+ raise TypeError("Missing required property 'project'")
429
+ __props__.__dict__["project"] = project
430
+ if url is None and not opts.urn:
431
+ raise TypeError("Missing required property 'url'")
432
+ __props__.__dict__["url"] = None if url is None else pulumi.Output.secret(url)
433
+ __props__.__dict__["mirror_id"] = None
434
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["url"])
435
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
436
+ super(ProjectPushMirror, __self__).__init__(
437
+ 'gitlab:index/projectPushMirror:ProjectPushMirror',
438
+ resource_name,
439
+ __props__,
440
+ opts)
441
+
442
+ @staticmethod
443
+ def get(resource_name: str,
444
+ id: pulumi.Input[str],
445
+ opts: Optional[pulumi.ResourceOptions] = None,
446
+ auth_method: Optional[pulumi.Input[_builtins.str]] = None,
447
+ enabled: Optional[pulumi.Input[_builtins.bool]] = None,
448
+ keep_divergent_refs: Optional[pulumi.Input[_builtins.bool]] = None,
449
+ mirror_branch_regex: Optional[pulumi.Input[_builtins.str]] = None,
450
+ mirror_id: Optional[pulumi.Input[_builtins.int]] = None,
451
+ only_protected_branches: Optional[pulumi.Input[_builtins.bool]] = None,
452
+ project: Optional[pulumi.Input[_builtins.str]] = None,
453
+ url: Optional[pulumi.Input[_builtins.str]] = None) -> 'ProjectPushMirror':
454
+ """
455
+ Get an existing ProjectPushMirror resource's state with the given name, id, and optional extra
456
+ properties used to qualify the lookup.
457
+
458
+ :param str resource_name: The unique name of the resulting resource.
459
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
460
+ :param pulumi.ResourceOptions opts: Options for the resource.
461
+ :param pulumi.Input[_builtins.str] auth_method: Determines the mirror authentication method. Valid values are: `ssh_public_key`, `password`.
462
+ :param pulumi.Input[_builtins.bool] enabled: Determines if the mirror is enabled.
463
+ :param pulumi.Input[_builtins.bool] keep_divergent_refs: Determines if divergent refs are skipped.
464
+ :param pulumi.Input[_builtins.str] mirror_branch_regex: Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only.
465
+ :param pulumi.Input[_builtins.int] mirror_id: Mirror ID.
466
+ :param pulumi.Input[_builtins.bool] only_protected_branches: Determines if only protected branches are mirrored.
467
+ :param pulumi.Input[_builtins.str] project: The id of the project.
468
+ :param pulumi.Input[_builtins.str] url: The URL of the remote repository to be mirrored.
469
+ """
470
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
471
+
472
+ __props__ = _ProjectPushMirrorState.__new__(_ProjectPushMirrorState)
473
+
474
+ __props__.__dict__["auth_method"] = auth_method
475
+ __props__.__dict__["enabled"] = enabled
476
+ __props__.__dict__["keep_divergent_refs"] = keep_divergent_refs
477
+ __props__.__dict__["mirror_branch_regex"] = mirror_branch_regex
478
+ __props__.__dict__["mirror_id"] = mirror_id
479
+ __props__.__dict__["only_protected_branches"] = only_protected_branches
480
+ __props__.__dict__["project"] = project
481
+ __props__.__dict__["url"] = url
482
+ return ProjectPushMirror(resource_name, opts=opts, __props__=__props__)
483
+
484
+ @_builtins.property
485
+ @pulumi.getter(name="authMethod")
486
+ def auth_method(self) -> pulumi.Output[_builtins.str]:
487
+ """
488
+ Determines the mirror authentication method. Valid values are: `ssh_public_key`, `password`.
489
+ """
490
+ return pulumi.get(self, "auth_method")
491
+
492
+ @_builtins.property
493
+ @pulumi.getter
494
+ def enabled(self) -> pulumi.Output[_builtins.bool]:
495
+ """
496
+ Determines if the mirror is enabled.
497
+ """
498
+ return pulumi.get(self, "enabled")
499
+
500
+ @_builtins.property
501
+ @pulumi.getter(name="keepDivergentRefs")
502
+ def keep_divergent_refs(self) -> pulumi.Output[_builtins.bool]:
503
+ """
504
+ Determines if divergent refs are skipped.
505
+ """
506
+ return pulumi.get(self, "keep_divergent_refs")
507
+
508
+ @_builtins.property
509
+ @pulumi.getter(name="mirrorBranchRegex")
510
+ def mirror_branch_regex(self) -> pulumi.Output[_builtins.str]:
511
+ """
512
+ Contains a regular expression. Only branches with names matching the regex are mirrored. Requires only*protected*branches to be disabled. Premium and Ultimate only.
513
+ """
514
+ return pulumi.get(self, "mirror_branch_regex")
515
+
516
+ @_builtins.property
517
+ @pulumi.getter(name="mirrorId")
518
+ def mirror_id(self) -> pulumi.Output[_builtins.int]:
519
+ """
520
+ Mirror ID.
521
+ """
522
+ return pulumi.get(self, "mirror_id")
523
+
524
+ @_builtins.property
525
+ @pulumi.getter(name="onlyProtectedBranches")
526
+ def only_protected_branches(self) -> pulumi.Output[_builtins.bool]:
527
+ """
528
+ Determines if only protected branches are mirrored.
529
+ """
530
+ return pulumi.get(self, "only_protected_branches")
531
+
532
+ @_builtins.property
533
+ @pulumi.getter
534
+ def project(self) -> pulumi.Output[_builtins.str]:
535
+ """
536
+ The id of the project.
537
+ """
538
+ return pulumi.get(self, "project")
539
+
540
+ @_builtins.property
541
+ @pulumi.getter
542
+ def url(self) -> pulumi.Output[_builtins.str]:
543
+ """
544
+ The URL of the remote repository to be mirrored.
545
+ """
546
+ return pulumi.get(self, "url")
547
+