pulumi-gitlab 9.7.0__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,502 @@
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__ = ['ProjectIssueLinkArgs', 'ProjectIssueLink']
18
+
19
+ @pulumi.input_type
20
+ class ProjectIssueLinkArgs:
21
+ def __init__(__self__, *,
22
+ issue_iid: pulumi.Input[_builtins.int],
23
+ link_type: pulumi.Input[_builtins.str],
24
+ project: pulumi.Input[_builtins.str],
25
+ target_issue_iid: pulumi.Input[_builtins.int],
26
+ target_project_id: pulumi.Input[_builtins.str]):
27
+ """
28
+ The set of arguments for constructing a ProjectIssueLink resource.
29
+ :param pulumi.Input[_builtins.int] issue_iid: The internal ID of a project's issue.
30
+ :param pulumi.Input[_builtins.str] link_type: Type of the relationship. Valid values are `relates_to`, `blocks`, `is_blocked_by`.
31
+ :param pulumi.Input[_builtins.str] project: The ID or URL-encoded path of the project.
32
+ :param pulumi.Input[_builtins.int] target_issue_iid: The internal ID of the target issue.
33
+ :param pulumi.Input[_builtins.str] target_project_id: The ID or URL-encoded path of the target project.
34
+ """
35
+ pulumi.set(__self__, "issue_iid", issue_iid)
36
+ pulumi.set(__self__, "link_type", link_type)
37
+ pulumi.set(__self__, "project", project)
38
+ pulumi.set(__self__, "target_issue_iid", target_issue_iid)
39
+ pulumi.set(__self__, "target_project_id", target_project_id)
40
+
41
+ @_builtins.property
42
+ @pulumi.getter(name="issueIid")
43
+ def issue_iid(self) -> pulumi.Input[_builtins.int]:
44
+ """
45
+ The internal ID of a project's issue.
46
+ """
47
+ return pulumi.get(self, "issue_iid")
48
+
49
+ @issue_iid.setter
50
+ def issue_iid(self, value: pulumi.Input[_builtins.int]):
51
+ pulumi.set(self, "issue_iid", value)
52
+
53
+ @_builtins.property
54
+ @pulumi.getter(name="linkType")
55
+ def link_type(self) -> pulumi.Input[_builtins.str]:
56
+ """
57
+ Type of the relationship. Valid values are `relates_to`, `blocks`, `is_blocked_by`.
58
+ """
59
+ return pulumi.get(self, "link_type")
60
+
61
+ @link_type.setter
62
+ def link_type(self, value: pulumi.Input[_builtins.str]):
63
+ pulumi.set(self, "link_type", value)
64
+
65
+ @_builtins.property
66
+ @pulumi.getter
67
+ def project(self) -> pulumi.Input[_builtins.str]:
68
+ """
69
+ The ID or URL-encoded path of the project.
70
+ """
71
+ return pulumi.get(self, "project")
72
+
73
+ @project.setter
74
+ def project(self, value: pulumi.Input[_builtins.str]):
75
+ pulumi.set(self, "project", value)
76
+
77
+ @_builtins.property
78
+ @pulumi.getter(name="targetIssueIid")
79
+ def target_issue_iid(self) -> pulumi.Input[_builtins.int]:
80
+ """
81
+ The internal ID of the target issue.
82
+ """
83
+ return pulumi.get(self, "target_issue_iid")
84
+
85
+ @target_issue_iid.setter
86
+ def target_issue_iid(self, value: pulumi.Input[_builtins.int]):
87
+ pulumi.set(self, "target_issue_iid", value)
88
+
89
+ @_builtins.property
90
+ @pulumi.getter(name="targetProjectId")
91
+ def target_project_id(self) -> pulumi.Input[_builtins.str]:
92
+ """
93
+ The ID or URL-encoded path of the target project.
94
+ """
95
+ return pulumi.get(self, "target_project_id")
96
+
97
+ @target_project_id.setter
98
+ def target_project_id(self, value: pulumi.Input[_builtins.str]):
99
+ pulumi.set(self, "target_project_id", value)
100
+
101
+
102
+ @pulumi.input_type
103
+ class _ProjectIssueLinkState:
104
+ def __init__(__self__, *,
105
+ issue_iid: Optional[pulumi.Input[_builtins.int]] = None,
106
+ issue_link_id: Optional[pulumi.Input[_builtins.int]] = None,
107
+ link_type: Optional[pulumi.Input[_builtins.str]] = None,
108
+ project: Optional[pulumi.Input[_builtins.str]] = None,
109
+ target_issue_iid: Optional[pulumi.Input[_builtins.int]] = None,
110
+ target_project_id: Optional[pulumi.Input[_builtins.str]] = None):
111
+ """
112
+ Input properties used for looking up and filtering ProjectIssueLink resources.
113
+ :param pulumi.Input[_builtins.int] issue_iid: The internal ID of a project's issue.
114
+ :param pulumi.Input[_builtins.int] issue_link_id: ID of an issue relationship.
115
+ :param pulumi.Input[_builtins.str] link_type: Type of the relationship. Valid values are `relates_to`, `blocks`, `is_blocked_by`.
116
+ :param pulumi.Input[_builtins.str] project: The ID or URL-encoded path of the project.
117
+ :param pulumi.Input[_builtins.int] target_issue_iid: The internal ID of the target issue.
118
+ :param pulumi.Input[_builtins.str] target_project_id: The ID or URL-encoded path of the target project.
119
+ """
120
+ if issue_iid is not None:
121
+ pulumi.set(__self__, "issue_iid", issue_iid)
122
+ if issue_link_id is not None:
123
+ pulumi.set(__self__, "issue_link_id", issue_link_id)
124
+ if link_type is not None:
125
+ pulumi.set(__self__, "link_type", link_type)
126
+ if project is not None:
127
+ pulumi.set(__self__, "project", project)
128
+ if target_issue_iid is not None:
129
+ pulumi.set(__self__, "target_issue_iid", target_issue_iid)
130
+ if target_project_id is not None:
131
+ pulumi.set(__self__, "target_project_id", target_project_id)
132
+
133
+ @_builtins.property
134
+ @pulumi.getter(name="issueIid")
135
+ def issue_iid(self) -> Optional[pulumi.Input[_builtins.int]]:
136
+ """
137
+ The internal ID of a project's issue.
138
+ """
139
+ return pulumi.get(self, "issue_iid")
140
+
141
+ @issue_iid.setter
142
+ def issue_iid(self, value: Optional[pulumi.Input[_builtins.int]]):
143
+ pulumi.set(self, "issue_iid", value)
144
+
145
+ @_builtins.property
146
+ @pulumi.getter(name="issueLinkId")
147
+ def issue_link_id(self) -> Optional[pulumi.Input[_builtins.int]]:
148
+ """
149
+ ID of an issue relationship.
150
+ """
151
+ return pulumi.get(self, "issue_link_id")
152
+
153
+ @issue_link_id.setter
154
+ def issue_link_id(self, value: Optional[pulumi.Input[_builtins.int]]):
155
+ pulumi.set(self, "issue_link_id", value)
156
+
157
+ @_builtins.property
158
+ @pulumi.getter(name="linkType")
159
+ def link_type(self) -> Optional[pulumi.Input[_builtins.str]]:
160
+ """
161
+ Type of the relationship. Valid values are `relates_to`, `blocks`, `is_blocked_by`.
162
+ """
163
+ return pulumi.get(self, "link_type")
164
+
165
+ @link_type.setter
166
+ def link_type(self, value: Optional[pulumi.Input[_builtins.str]]):
167
+ pulumi.set(self, "link_type", value)
168
+
169
+ @_builtins.property
170
+ @pulumi.getter
171
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
172
+ """
173
+ The ID or URL-encoded path of the project.
174
+ """
175
+ return pulumi.get(self, "project")
176
+
177
+ @project.setter
178
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
179
+ pulumi.set(self, "project", value)
180
+
181
+ @_builtins.property
182
+ @pulumi.getter(name="targetIssueIid")
183
+ def target_issue_iid(self) -> Optional[pulumi.Input[_builtins.int]]:
184
+ """
185
+ The internal ID of the target issue.
186
+ """
187
+ return pulumi.get(self, "target_issue_iid")
188
+
189
+ @target_issue_iid.setter
190
+ def target_issue_iid(self, value: Optional[pulumi.Input[_builtins.int]]):
191
+ pulumi.set(self, "target_issue_iid", value)
192
+
193
+ @_builtins.property
194
+ @pulumi.getter(name="targetProjectId")
195
+ def target_project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
196
+ """
197
+ The ID or URL-encoded path of the target project.
198
+ """
199
+ return pulumi.get(self, "target_project_id")
200
+
201
+ @target_project_id.setter
202
+ def target_project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
203
+ pulumi.set(self, "target_project_id", value)
204
+
205
+
206
+ @pulumi.type_token("gitlab:index/projectIssueLink:ProjectIssueLink")
207
+ class ProjectIssueLink(pulumi.CustomResource):
208
+ @overload
209
+ def __init__(__self__,
210
+ resource_name: str,
211
+ opts: Optional[pulumi.ResourceOptions] = None,
212
+ issue_iid: Optional[pulumi.Input[_builtins.int]] = None,
213
+ link_type: Optional[pulumi.Input[_builtins.str]] = None,
214
+ project: Optional[pulumi.Input[_builtins.str]] = None,
215
+ target_issue_iid: Optional[pulumi.Input[_builtins.int]] = None,
216
+ target_project_id: Optional[pulumi.Input[_builtins.str]] = None,
217
+ __props__=None):
218
+ """
219
+ The `ProjectIssueLink` resource allows to manage the lifecycle of project issue links.
220
+
221
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/issue_links/)
222
+
223
+ ## Example Usage
224
+
225
+ ```python
226
+ import pulumi
227
+ import pulumi_gitlab as gitlab
228
+
229
+ # Create a project
230
+ example = gitlab.Project("example",
231
+ name="example",
232
+ description="An example project",
233
+ visibility_level="public")
234
+ # Create source issue
235
+ source = gitlab.ProjectIssue("source",
236
+ project=example.id,
237
+ title="Source Issue")
238
+ # Create target issue
239
+ target = gitlab.ProjectIssue("target",
240
+ project=example.id,
241
+ title="Target Issue")
242
+ # Link issues with "relates_to" link type (default)
243
+ relates_to = gitlab.ProjectIssueLink("relates_to",
244
+ project=example.id,
245
+ issue_iid=source.iid,
246
+ target_project_id=example.id,
247
+ target_issue_iid=target.iid,
248
+ link_type="relates_to")
249
+ # Cross-project linking example
250
+ other_project = gitlab.Project("other_project",
251
+ name="other_project",
252
+ description="Another project for cross-project linking")
253
+ cross_target = gitlab.ProjectIssue("cross_target",
254
+ project=other_project.id,
255
+ title="Cross-Project Target Issue")
256
+ cross_project_relates_to = gitlab.ProjectIssueLink("cross_project_relates_to",
257
+ project=example.id,
258
+ issue_iid=source.iid,
259
+ target_project_id=other_project.id,
260
+ target_issue_iid=cross_target.iid,
261
+ link_type="relates_to")
262
+ ```
263
+
264
+ ## Import
265
+
266
+ Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_issue_link`. For example:
267
+
268
+ terraform
269
+
270
+ import {
271
+
272
+ to = gitlab_project_issue_link.example
273
+
274
+ id = "see CLI command below for ID"
275
+
276
+ }
277
+
278
+ Importing using the CLI is supported with the following syntax:
279
+
280
+ You can import this resource with an id made up of `{project-id}:{source-issue-iid}:{target-issue-iid}`, e.g.
281
+
282
+ ```sh
283
+ $ pulumi import gitlab:index/projectIssueLink:ProjectIssueLink example 42:1001:1002
284
+ ```
285
+
286
+ :param str resource_name: The name of the resource.
287
+ :param pulumi.ResourceOptions opts: Options for the resource.
288
+ :param pulumi.Input[_builtins.int] issue_iid: The internal ID of a project's issue.
289
+ :param pulumi.Input[_builtins.str] link_type: Type of the relationship. Valid values are `relates_to`, `blocks`, `is_blocked_by`.
290
+ :param pulumi.Input[_builtins.str] project: The ID or URL-encoded path of the project.
291
+ :param pulumi.Input[_builtins.int] target_issue_iid: The internal ID of the target issue.
292
+ :param pulumi.Input[_builtins.str] target_project_id: The ID or URL-encoded path of the target project.
293
+ """
294
+ ...
295
+ @overload
296
+ def __init__(__self__,
297
+ resource_name: str,
298
+ args: ProjectIssueLinkArgs,
299
+ opts: Optional[pulumi.ResourceOptions] = None):
300
+ """
301
+ The `ProjectIssueLink` resource allows to manage the lifecycle of project issue links.
302
+
303
+ **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/issue_links/)
304
+
305
+ ## Example Usage
306
+
307
+ ```python
308
+ import pulumi
309
+ import pulumi_gitlab as gitlab
310
+
311
+ # Create a project
312
+ example = gitlab.Project("example",
313
+ name="example",
314
+ description="An example project",
315
+ visibility_level="public")
316
+ # Create source issue
317
+ source = gitlab.ProjectIssue("source",
318
+ project=example.id,
319
+ title="Source Issue")
320
+ # Create target issue
321
+ target = gitlab.ProjectIssue("target",
322
+ project=example.id,
323
+ title="Target Issue")
324
+ # Link issues with "relates_to" link type (default)
325
+ relates_to = gitlab.ProjectIssueLink("relates_to",
326
+ project=example.id,
327
+ issue_iid=source.iid,
328
+ target_project_id=example.id,
329
+ target_issue_iid=target.iid,
330
+ link_type="relates_to")
331
+ # Cross-project linking example
332
+ other_project = gitlab.Project("other_project",
333
+ name="other_project",
334
+ description="Another project for cross-project linking")
335
+ cross_target = gitlab.ProjectIssue("cross_target",
336
+ project=other_project.id,
337
+ title="Cross-Project Target Issue")
338
+ cross_project_relates_to = gitlab.ProjectIssueLink("cross_project_relates_to",
339
+ project=example.id,
340
+ issue_iid=source.iid,
341
+ target_project_id=other_project.id,
342
+ target_issue_iid=cross_target.iid,
343
+ link_type="relates_to")
344
+ ```
345
+
346
+ ## Import
347
+
348
+ Starting in Terraform v1.5.0, you can use an import block to import `gitlab_project_issue_link`. For example:
349
+
350
+ terraform
351
+
352
+ import {
353
+
354
+ to = gitlab_project_issue_link.example
355
+
356
+ id = "see CLI command below for ID"
357
+
358
+ }
359
+
360
+ Importing using the CLI is supported with the following syntax:
361
+
362
+ You can import this resource with an id made up of `{project-id}:{source-issue-iid}:{target-issue-iid}`, e.g.
363
+
364
+ ```sh
365
+ $ pulumi import gitlab:index/projectIssueLink:ProjectIssueLink example 42:1001:1002
366
+ ```
367
+
368
+ :param str resource_name: The name of the resource.
369
+ :param ProjectIssueLinkArgs args: The arguments to use to populate this resource's properties.
370
+ :param pulumi.ResourceOptions opts: Options for the resource.
371
+ """
372
+ ...
373
+ def __init__(__self__, resource_name: str, *args, **kwargs):
374
+ resource_args, opts = _utilities.get_resource_args_opts(ProjectIssueLinkArgs, pulumi.ResourceOptions, *args, **kwargs)
375
+ if resource_args is not None:
376
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
377
+ else:
378
+ __self__._internal_init(resource_name, *args, **kwargs)
379
+
380
+ def _internal_init(__self__,
381
+ resource_name: str,
382
+ opts: Optional[pulumi.ResourceOptions] = None,
383
+ issue_iid: Optional[pulumi.Input[_builtins.int]] = None,
384
+ link_type: Optional[pulumi.Input[_builtins.str]] = None,
385
+ project: Optional[pulumi.Input[_builtins.str]] = None,
386
+ target_issue_iid: Optional[pulumi.Input[_builtins.int]] = None,
387
+ target_project_id: Optional[pulumi.Input[_builtins.str]] = None,
388
+ __props__=None):
389
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
390
+ if not isinstance(opts, pulumi.ResourceOptions):
391
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
392
+ if opts.id is None:
393
+ if __props__ is not None:
394
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
395
+ __props__ = ProjectIssueLinkArgs.__new__(ProjectIssueLinkArgs)
396
+
397
+ if issue_iid is None and not opts.urn:
398
+ raise TypeError("Missing required property 'issue_iid'")
399
+ __props__.__dict__["issue_iid"] = issue_iid
400
+ if link_type is None and not opts.urn:
401
+ raise TypeError("Missing required property 'link_type'")
402
+ __props__.__dict__["link_type"] = link_type
403
+ if project is None and not opts.urn:
404
+ raise TypeError("Missing required property 'project'")
405
+ __props__.__dict__["project"] = project
406
+ if target_issue_iid is None and not opts.urn:
407
+ raise TypeError("Missing required property 'target_issue_iid'")
408
+ __props__.__dict__["target_issue_iid"] = target_issue_iid
409
+ if target_project_id is None and not opts.urn:
410
+ raise TypeError("Missing required property 'target_project_id'")
411
+ __props__.__dict__["target_project_id"] = target_project_id
412
+ __props__.__dict__["issue_link_id"] = None
413
+ super(ProjectIssueLink, __self__).__init__(
414
+ 'gitlab:index/projectIssueLink:ProjectIssueLink',
415
+ resource_name,
416
+ __props__,
417
+ opts)
418
+
419
+ @staticmethod
420
+ def get(resource_name: str,
421
+ id: pulumi.Input[str],
422
+ opts: Optional[pulumi.ResourceOptions] = None,
423
+ issue_iid: Optional[pulumi.Input[_builtins.int]] = None,
424
+ issue_link_id: Optional[pulumi.Input[_builtins.int]] = None,
425
+ link_type: Optional[pulumi.Input[_builtins.str]] = None,
426
+ project: Optional[pulumi.Input[_builtins.str]] = None,
427
+ target_issue_iid: Optional[pulumi.Input[_builtins.int]] = None,
428
+ target_project_id: Optional[pulumi.Input[_builtins.str]] = None) -> 'ProjectIssueLink':
429
+ """
430
+ Get an existing ProjectIssueLink resource's state with the given name, id, and optional extra
431
+ properties used to qualify the lookup.
432
+
433
+ :param str resource_name: The unique name of the resulting resource.
434
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
435
+ :param pulumi.ResourceOptions opts: Options for the resource.
436
+ :param pulumi.Input[_builtins.int] issue_iid: The internal ID of a project's issue.
437
+ :param pulumi.Input[_builtins.int] issue_link_id: ID of an issue relationship.
438
+ :param pulumi.Input[_builtins.str] link_type: Type of the relationship. Valid values are `relates_to`, `blocks`, `is_blocked_by`.
439
+ :param pulumi.Input[_builtins.str] project: The ID or URL-encoded path of the project.
440
+ :param pulumi.Input[_builtins.int] target_issue_iid: The internal ID of the target issue.
441
+ :param pulumi.Input[_builtins.str] target_project_id: The ID or URL-encoded path of the target project.
442
+ """
443
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
444
+
445
+ __props__ = _ProjectIssueLinkState.__new__(_ProjectIssueLinkState)
446
+
447
+ __props__.__dict__["issue_iid"] = issue_iid
448
+ __props__.__dict__["issue_link_id"] = issue_link_id
449
+ __props__.__dict__["link_type"] = link_type
450
+ __props__.__dict__["project"] = project
451
+ __props__.__dict__["target_issue_iid"] = target_issue_iid
452
+ __props__.__dict__["target_project_id"] = target_project_id
453
+ return ProjectIssueLink(resource_name, opts=opts, __props__=__props__)
454
+
455
+ @_builtins.property
456
+ @pulumi.getter(name="issueIid")
457
+ def issue_iid(self) -> pulumi.Output[_builtins.int]:
458
+ """
459
+ The internal ID of a project's issue.
460
+ """
461
+ return pulumi.get(self, "issue_iid")
462
+
463
+ @_builtins.property
464
+ @pulumi.getter(name="issueLinkId")
465
+ def issue_link_id(self) -> pulumi.Output[_builtins.int]:
466
+ """
467
+ ID of an issue relationship.
468
+ """
469
+ return pulumi.get(self, "issue_link_id")
470
+
471
+ @_builtins.property
472
+ @pulumi.getter(name="linkType")
473
+ def link_type(self) -> pulumi.Output[_builtins.str]:
474
+ """
475
+ Type of the relationship. Valid values are `relates_to`, `blocks`, `is_blocked_by`.
476
+ """
477
+ return pulumi.get(self, "link_type")
478
+
479
+ @_builtins.property
480
+ @pulumi.getter
481
+ def project(self) -> pulumi.Output[_builtins.str]:
482
+ """
483
+ The ID or URL-encoded path of the project.
484
+ """
485
+ return pulumi.get(self, "project")
486
+
487
+ @_builtins.property
488
+ @pulumi.getter(name="targetIssueIid")
489
+ def target_issue_iid(self) -> pulumi.Output[_builtins.int]:
490
+ """
491
+ The internal ID of the target issue.
492
+ """
493
+ return pulumi.get(self, "target_issue_iid")
494
+
495
+ @_builtins.property
496
+ @pulumi.getter(name="targetProjectId")
497
+ def target_project_id(self) -> pulumi.Output[_builtins.str]:
498
+ """
499
+ The ID or URL-encoded path of the target project.
500
+ """
501
+ return pulumi.get(self, "target_project_id")
502
+
@@ -163,10 +163,18 @@ class ProjectJobTokenScope(pulumi.CustomResource):
163
163
 
164
164
  Importing using the CLI is supported with the following syntax:
165
165
 
166
- GitLab project job token scopes can be imported using an id made up of `projectId:targetProjectId`, e.g.
166
+ GitLab project job token scopes can be imported using an id made up of `projectId:type:targetId`, e.g.
167
+
168
+ For target_project_id:
169
+
170
+ ```sh
171
+ $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:project:321
172
+ ```
173
+
174
+ For target_group_id:
167
175
 
168
176
  ```sh
169
- $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321
177
+ $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:group:321
170
178
  ```
171
179
 
172
180
  :param str resource_name: The name of the resource.
@@ -207,10 +215,18 @@ class ProjectJobTokenScope(pulumi.CustomResource):
207
215
 
208
216
  Importing using the CLI is supported with the following syntax:
209
217
 
210
- GitLab project job token scopes can be imported using an id made up of `projectId:targetProjectId`, e.g.
218
+ GitLab project job token scopes can be imported using an id made up of `projectId:type:targetId`, e.g.
219
+
220
+ For target_project_id:
221
+
222
+ ```sh
223
+ $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:project:321
224
+ ```
225
+
226
+ For target_group_id:
211
227
 
212
228
  ```sh
213
- $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:321
229
+ $ pulumi import gitlab:index/projectJobTokenScope:ProjectJobTokenScope bar 123:group:321
214
230
  ```
215
231
 
216
232
  :param str resource_name: The name of the resource.
@@ -285,10 +285,9 @@ class ProjectMirror(pulumi.CustomResource):
285
285
  url: Optional[pulumi.Input[_builtins.str]] = None,
286
286
  __props__=None):
287
287
  """
288
- The `ProjectMirror` resource allows to manage the lifecycle of a project mirror.
288
+ The `ProjectMirror` resource manages the lifecycle of a project mirror.
289
289
 
290
- This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured using a combination of the
291
- import_url, mirror, and mirror_trigger_builds properties on the Project resource.
290
+ This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured with the ProjectPullMirror resource.
292
291
 
293
292
  > **Warning** By default, the provider sets the `keep_divergent_refs` argument to `True`.
294
293
  If you manually set `keep_divergent_refs` to `False`, GitLab mirroring removes branches in the target that aren't in the source.
@@ -296,6 +295,8 @@ class ProjectMirror(pulumi.CustomResource):
296
295
 
297
296
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/)
298
297
 
298
+ This resource is deprecated in favor of `ProjectPushMirror` which is a rename. The alias will be removed in version 19.0.
299
+
299
300
  ## Example Usage
300
301
 
301
302
  ```python
@@ -346,10 +347,9 @@ class ProjectMirror(pulumi.CustomResource):
346
347
  args: ProjectMirrorArgs,
347
348
  opts: Optional[pulumi.ResourceOptions] = None):
348
349
  """
349
- The `ProjectMirror` resource allows to manage the lifecycle of a project mirror.
350
+ The `ProjectMirror` resource manages the lifecycle of a project mirror.
350
351
 
351
- This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured using a combination of the
352
- import_url, mirror, and mirror_trigger_builds properties on the Project resource.
352
+ This is for *pushing* changes to a remote repository. *Pull Mirroring* can be configured with the ProjectPullMirror resource.
353
353
 
354
354
  > **Warning** By default, the provider sets the `keep_divergent_refs` argument to `True`.
355
355
  If you manually set `keep_divergent_refs` to `False`, GitLab mirroring removes branches in the target that aren't in the source.
@@ -357,6 +357,8 @@ class ProjectMirror(pulumi.CustomResource):
357
357
 
358
358
  **Upstream API**: [GitLab REST API docs](https://docs.gitlab.com/api/remote_mirrors/)
359
359
 
360
+ This resource is deprecated in favor of `ProjectPushMirror` which is a rename. The alias will be removed in version 19.0.
361
+
360
362
  ## Example Usage
361
363
 
362
364
  ```python