pulumi-azuredevops 3.9.0a1745040263__py3-none-any.whl → 3.10.0a1745299494__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,426 @@
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__ = ['ExtensionArgs', 'Extension']
19
+
20
+ @pulumi.input_type
21
+ class ExtensionArgs:
22
+ def __init__(__self__, *,
23
+ extension_id: pulumi.Input[builtins.str],
24
+ publisher_id: pulumi.Input[builtins.str],
25
+ disabled: Optional[pulumi.Input[builtins.bool]] = None,
26
+ version: Optional[pulumi.Input[builtins.str]] = None):
27
+ """
28
+ The set of arguments for constructing a Extension resource.
29
+ :param pulumi.Input[builtins.str] extension_id: The publisher ID of the extension.
30
+ :param pulumi.Input[builtins.str] publisher_id: The extension ID of the extension.
31
+ :param pulumi.Input[builtins.bool] disabled: Whether to disable the extension.
32
+ :param pulumi.Input[builtins.str] version: The version of the extension.
33
+ """
34
+ pulumi.set(__self__, "extension_id", extension_id)
35
+ pulumi.set(__self__, "publisher_id", publisher_id)
36
+ if disabled is not None:
37
+ pulumi.set(__self__, "disabled", disabled)
38
+ if version is not None:
39
+ pulumi.set(__self__, "version", version)
40
+
41
+ @property
42
+ @pulumi.getter(name="extensionId")
43
+ def extension_id(self) -> pulumi.Input[builtins.str]:
44
+ """
45
+ The publisher ID of the extension.
46
+ """
47
+ return pulumi.get(self, "extension_id")
48
+
49
+ @extension_id.setter
50
+ def extension_id(self, value: pulumi.Input[builtins.str]):
51
+ pulumi.set(self, "extension_id", value)
52
+
53
+ @property
54
+ @pulumi.getter(name="publisherId")
55
+ def publisher_id(self) -> pulumi.Input[builtins.str]:
56
+ """
57
+ The extension ID of the extension.
58
+ """
59
+ return pulumi.get(self, "publisher_id")
60
+
61
+ @publisher_id.setter
62
+ def publisher_id(self, value: pulumi.Input[builtins.str]):
63
+ pulumi.set(self, "publisher_id", value)
64
+
65
+ @property
66
+ @pulumi.getter
67
+ def disabled(self) -> Optional[pulumi.Input[builtins.bool]]:
68
+ """
69
+ Whether to disable the extension.
70
+ """
71
+ return pulumi.get(self, "disabled")
72
+
73
+ @disabled.setter
74
+ def disabled(self, value: Optional[pulumi.Input[builtins.bool]]):
75
+ pulumi.set(self, "disabled", value)
76
+
77
+ @property
78
+ @pulumi.getter
79
+ def version(self) -> Optional[pulumi.Input[builtins.str]]:
80
+ """
81
+ The version of the extension.
82
+ """
83
+ return pulumi.get(self, "version")
84
+
85
+ @version.setter
86
+ def version(self, value: Optional[pulumi.Input[builtins.str]]):
87
+ pulumi.set(self, "version", value)
88
+
89
+
90
+ @pulumi.input_type
91
+ class _ExtensionState:
92
+ def __init__(__self__, *,
93
+ disabled: Optional[pulumi.Input[builtins.bool]] = None,
94
+ extension_id: Optional[pulumi.Input[builtins.str]] = None,
95
+ extension_name: Optional[pulumi.Input[builtins.str]] = None,
96
+ publisher_id: Optional[pulumi.Input[builtins.str]] = None,
97
+ publisher_name: Optional[pulumi.Input[builtins.str]] = None,
98
+ scopes: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
99
+ version: Optional[pulumi.Input[builtins.str]] = None):
100
+ """
101
+ Input properties used for looking up and filtering Extension resources.
102
+ :param pulumi.Input[builtins.bool] disabled: Whether to disable the extension.
103
+ :param pulumi.Input[builtins.str] extension_id: The publisher ID of the extension.
104
+ :param pulumi.Input[builtins.str] extension_name: The name of the extension.
105
+ :param pulumi.Input[builtins.str] publisher_id: The extension ID of the extension.
106
+ :param pulumi.Input[builtins.str] publisher_name: The name of the publisher.
107
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] scopes: List of all oauth scopes required by this extension.
108
+ :param pulumi.Input[builtins.str] version: The version of the extension.
109
+ """
110
+ if disabled is not None:
111
+ pulumi.set(__self__, "disabled", disabled)
112
+ if extension_id is not None:
113
+ pulumi.set(__self__, "extension_id", extension_id)
114
+ if extension_name is not None:
115
+ pulumi.set(__self__, "extension_name", extension_name)
116
+ if publisher_id is not None:
117
+ pulumi.set(__self__, "publisher_id", publisher_id)
118
+ if publisher_name is not None:
119
+ pulumi.set(__self__, "publisher_name", publisher_name)
120
+ if scopes is not None:
121
+ pulumi.set(__self__, "scopes", scopes)
122
+ if version is not None:
123
+ pulumi.set(__self__, "version", version)
124
+
125
+ @property
126
+ @pulumi.getter
127
+ def disabled(self) -> Optional[pulumi.Input[builtins.bool]]:
128
+ """
129
+ Whether to disable the extension.
130
+ """
131
+ return pulumi.get(self, "disabled")
132
+
133
+ @disabled.setter
134
+ def disabled(self, value: Optional[pulumi.Input[builtins.bool]]):
135
+ pulumi.set(self, "disabled", value)
136
+
137
+ @property
138
+ @pulumi.getter(name="extensionId")
139
+ def extension_id(self) -> Optional[pulumi.Input[builtins.str]]:
140
+ """
141
+ The publisher ID of the extension.
142
+ """
143
+ return pulumi.get(self, "extension_id")
144
+
145
+ @extension_id.setter
146
+ def extension_id(self, value: Optional[pulumi.Input[builtins.str]]):
147
+ pulumi.set(self, "extension_id", value)
148
+
149
+ @property
150
+ @pulumi.getter(name="extensionName")
151
+ def extension_name(self) -> Optional[pulumi.Input[builtins.str]]:
152
+ """
153
+ The name of the extension.
154
+ """
155
+ return pulumi.get(self, "extension_name")
156
+
157
+ @extension_name.setter
158
+ def extension_name(self, value: Optional[pulumi.Input[builtins.str]]):
159
+ pulumi.set(self, "extension_name", value)
160
+
161
+ @property
162
+ @pulumi.getter(name="publisherId")
163
+ def publisher_id(self) -> Optional[pulumi.Input[builtins.str]]:
164
+ """
165
+ The extension ID of the extension.
166
+ """
167
+ return pulumi.get(self, "publisher_id")
168
+
169
+ @publisher_id.setter
170
+ def publisher_id(self, value: Optional[pulumi.Input[builtins.str]]):
171
+ pulumi.set(self, "publisher_id", value)
172
+
173
+ @property
174
+ @pulumi.getter(name="publisherName")
175
+ def publisher_name(self) -> Optional[pulumi.Input[builtins.str]]:
176
+ """
177
+ The name of the publisher.
178
+ """
179
+ return pulumi.get(self, "publisher_name")
180
+
181
+ @publisher_name.setter
182
+ def publisher_name(self, value: Optional[pulumi.Input[builtins.str]]):
183
+ pulumi.set(self, "publisher_name", value)
184
+
185
+ @property
186
+ @pulumi.getter
187
+ def scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
188
+ """
189
+ List of all oauth scopes required by this extension.
190
+ """
191
+ return pulumi.get(self, "scopes")
192
+
193
+ @scopes.setter
194
+ def scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
195
+ pulumi.set(self, "scopes", value)
196
+
197
+ @property
198
+ @pulumi.getter
199
+ def version(self) -> Optional[pulumi.Input[builtins.str]]:
200
+ """
201
+ The version of the extension.
202
+ """
203
+ return pulumi.get(self, "version")
204
+
205
+ @version.setter
206
+ def version(self, value: Optional[pulumi.Input[builtins.str]]):
207
+ pulumi.set(self, "version", value)
208
+
209
+
210
+ class Extension(pulumi.CustomResource):
211
+ @overload
212
+ def __init__(__self__,
213
+ resource_name: str,
214
+ opts: Optional[pulumi.ResourceOptions] = None,
215
+ disabled: Optional[pulumi.Input[builtins.bool]] = None,
216
+ extension_id: Optional[pulumi.Input[builtins.str]] = None,
217
+ publisher_id: Optional[pulumi.Input[builtins.str]] = None,
218
+ version: Optional[pulumi.Input[builtins.str]] = None,
219
+ __props__=None):
220
+ """
221
+ Manages extension within Azure DevOps organization.
222
+
223
+ ## Example Usage
224
+
225
+ ### Install Extension
226
+ ```python
227
+ import pulumi
228
+ import pulumi_azuredevops as azuredevops
229
+
230
+ example = azuredevops.Extension("example",
231
+ extension_id="extension ID",
232
+ publisher_id="publisher ID")
233
+ ```
234
+
235
+ ## Relevant Links
236
+
237
+ - [Azure DevOps Service REST API 7.1 - Extension Management](https://learn.microsoft.com/en-us/rest/api/azure/devops/extensionmanagement/installed-extensions?view=azure-devops-rest-7.1)
238
+
239
+ ## Import
240
+
241
+ Azure DevOps Extension can be imported using the publisher ID and extension ID:
242
+
243
+ ```sh
244
+ $ pulumi import azuredevops:index/extension:Extension example publisherId/extensionId
245
+ ```
246
+
247
+ :param str resource_name: The name of the resource.
248
+ :param pulumi.ResourceOptions opts: Options for the resource.
249
+ :param pulumi.Input[builtins.bool] disabled: Whether to disable the extension.
250
+ :param pulumi.Input[builtins.str] extension_id: The publisher ID of the extension.
251
+ :param pulumi.Input[builtins.str] publisher_id: The extension ID of the extension.
252
+ :param pulumi.Input[builtins.str] version: The version of the extension.
253
+ """
254
+ ...
255
+ @overload
256
+ def __init__(__self__,
257
+ resource_name: str,
258
+ args: ExtensionArgs,
259
+ opts: Optional[pulumi.ResourceOptions] = None):
260
+ """
261
+ Manages extension within Azure DevOps organization.
262
+
263
+ ## Example Usage
264
+
265
+ ### Install Extension
266
+ ```python
267
+ import pulumi
268
+ import pulumi_azuredevops as azuredevops
269
+
270
+ example = azuredevops.Extension("example",
271
+ extension_id="extension ID",
272
+ publisher_id="publisher ID")
273
+ ```
274
+
275
+ ## Relevant Links
276
+
277
+ - [Azure DevOps Service REST API 7.1 - Extension Management](https://learn.microsoft.com/en-us/rest/api/azure/devops/extensionmanagement/installed-extensions?view=azure-devops-rest-7.1)
278
+
279
+ ## Import
280
+
281
+ Azure DevOps Extension can be imported using the publisher ID and extension ID:
282
+
283
+ ```sh
284
+ $ pulumi import azuredevops:index/extension:Extension example publisherId/extensionId
285
+ ```
286
+
287
+ :param str resource_name: The name of the resource.
288
+ :param ExtensionArgs args: The arguments to use to populate this resource's properties.
289
+ :param pulumi.ResourceOptions opts: Options for the resource.
290
+ """
291
+ ...
292
+ def __init__(__self__, resource_name: str, *args, **kwargs):
293
+ resource_args, opts = _utilities.get_resource_args_opts(ExtensionArgs, pulumi.ResourceOptions, *args, **kwargs)
294
+ if resource_args is not None:
295
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
296
+ else:
297
+ __self__._internal_init(resource_name, *args, **kwargs)
298
+
299
+ def _internal_init(__self__,
300
+ resource_name: str,
301
+ opts: Optional[pulumi.ResourceOptions] = None,
302
+ disabled: Optional[pulumi.Input[builtins.bool]] = None,
303
+ extension_id: Optional[pulumi.Input[builtins.str]] = None,
304
+ publisher_id: Optional[pulumi.Input[builtins.str]] = None,
305
+ version: Optional[pulumi.Input[builtins.str]] = None,
306
+ __props__=None):
307
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
308
+ if not isinstance(opts, pulumi.ResourceOptions):
309
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
310
+ if opts.id is None:
311
+ if __props__ is not None:
312
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
313
+ __props__ = ExtensionArgs.__new__(ExtensionArgs)
314
+
315
+ __props__.__dict__["disabled"] = disabled
316
+ if extension_id is None and not opts.urn:
317
+ raise TypeError("Missing required property 'extension_id'")
318
+ __props__.__dict__["extension_id"] = extension_id
319
+ if publisher_id is None and not opts.urn:
320
+ raise TypeError("Missing required property 'publisher_id'")
321
+ __props__.__dict__["publisher_id"] = publisher_id
322
+ __props__.__dict__["version"] = version
323
+ __props__.__dict__["extension_name"] = None
324
+ __props__.__dict__["publisher_name"] = None
325
+ __props__.__dict__["scopes"] = None
326
+ super(Extension, __self__).__init__(
327
+ 'azuredevops:index/extension:Extension',
328
+ resource_name,
329
+ __props__,
330
+ opts)
331
+
332
+ @staticmethod
333
+ def get(resource_name: str,
334
+ id: pulumi.Input[str],
335
+ opts: Optional[pulumi.ResourceOptions] = None,
336
+ disabled: Optional[pulumi.Input[builtins.bool]] = None,
337
+ extension_id: Optional[pulumi.Input[builtins.str]] = None,
338
+ extension_name: Optional[pulumi.Input[builtins.str]] = None,
339
+ publisher_id: Optional[pulumi.Input[builtins.str]] = None,
340
+ publisher_name: Optional[pulumi.Input[builtins.str]] = None,
341
+ scopes: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
342
+ version: Optional[pulumi.Input[builtins.str]] = None) -> 'Extension':
343
+ """
344
+ Get an existing Extension resource's state with the given name, id, and optional extra
345
+ properties used to qualify the lookup.
346
+
347
+ :param str resource_name: The unique name of the resulting resource.
348
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
349
+ :param pulumi.ResourceOptions opts: Options for the resource.
350
+ :param pulumi.Input[builtins.bool] disabled: Whether to disable the extension.
351
+ :param pulumi.Input[builtins.str] extension_id: The publisher ID of the extension.
352
+ :param pulumi.Input[builtins.str] extension_name: The name of the extension.
353
+ :param pulumi.Input[builtins.str] publisher_id: The extension ID of the extension.
354
+ :param pulumi.Input[builtins.str] publisher_name: The name of the publisher.
355
+ :param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] scopes: List of all oauth scopes required by this extension.
356
+ :param pulumi.Input[builtins.str] version: The version of the extension.
357
+ """
358
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
359
+
360
+ __props__ = _ExtensionState.__new__(_ExtensionState)
361
+
362
+ __props__.__dict__["disabled"] = disabled
363
+ __props__.__dict__["extension_id"] = extension_id
364
+ __props__.__dict__["extension_name"] = extension_name
365
+ __props__.__dict__["publisher_id"] = publisher_id
366
+ __props__.__dict__["publisher_name"] = publisher_name
367
+ __props__.__dict__["scopes"] = scopes
368
+ __props__.__dict__["version"] = version
369
+ return Extension(resource_name, opts=opts, __props__=__props__)
370
+
371
+ @property
372
+ @pulumi.getter
373
+ def disabled(self) -> pulumi.Output[builtins.bool]:
374
+ """
375
+ Whether to disable the extension.
376
+ """
377
+ return pulumi.get(self, "disabled")
378
+
379
+ @property
380
+ @pulumi.getter(name="extensionId")
381
+ def extension_id(self) -> pulumi.Output[builtins.str]:
382
+ """
383
+ The publisher ID of the extension.
384
+ """
385
+ return pulumi.get(self, "extension_id")
386
+
387
+ @property
388
+ @pulumi.getter(name="extensionName")
389
+ def extension_name(self) -> pulumi.Output[builtins.str]:
390
+ """
391
+ The name of the extension.
392
+ """
393
+ return pulumi.get(self, "extension_name")
394
+
395
+ @property
396
+ @pulumi.getter(name="publisherId")
397
+ def publisher_id(self) -> pulumi.Output[builtins.str]:
398
+ """
399
+ The extension ID of the extension.
400
+ """
401
+ return pulumi.get(self, "publisher_id")
402
+
403
+ @property
404
+ @pulumi.getter(name="publisherName")
405
+ def publisher_name(self) -> pulumi.Output[builtins.str]:
406
+ """
407
+ The name of the publisher.
408
+ """
409
+ return pulumi.get(self, "publisher_name")
410
+
411
+ @property
412
+ @pulumi.getter
413
+ def scopes(self) -> pulumi.Output[Sequence[builtins.str]]:
414
+ """
415
+ List of all oauth scopes required by this extension.
416
+ """
417
+ return pulumi.get(self, "scopes")
418
+
419
+ @property
420
+ @pulumi.getter
421
+ def version(self) -> pulumi.Output[builtins.str]:
422
+ """
423
+ The version of the extension.
424
+ """
425
+ return pulumi.get(self, "version")
426
+
@@ -243,6 +243,20 @@ class FeedPermission(pulumi.CustomResource):
243
243
 
244
244
  - [Azure DevOps Service REST API 7.0 - Feed Management](https://learn.microsoft.com/en-us/rest/api/azure/devops/artifacts/feed-management?view=azure-devops-rest-7.0)
245
245
 
246
+ ## Import
247
+
248
+ Azure DevOps Feed Permission can be imported using the `Project ID/Feed ID/Identity Descriptor` or `Feed ID/Identity Descriptor` e.g.:
249
+
250
+ ```sh
251
+ $ pulumi import azuredevops:index/feedPermission:FeedPermission permission 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/vssgp.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
252
+ ```
253
+
254
+ or
255
+
256
+ ```sh
257
+ $ pulumi import azuredevops:index/feedPermission:FeedPermission permission 00000000-0000-0000-0000-000000000000/vssgp.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
258
+ ```
259
+
246
260
  :param str resource_name: The name of the resource.
247
261
  :param pulumi.ResourceOptions opts: Options for the resource.
248
262
  :param pulumi.Input[builtins.str] display_name: The display name of the assignment
@@ -283,6 +297,20 @@ class FeedPermission(pulumi.CustomResource):
283
297
 
284
298
  - [Azure DevOps Service REST API 7.0 - Feed Management](https://learn.microsoft.com/en-us/rest/api/azure/devops/artifacts/feed-management?view=azure-devops-rest-7.0)
285
299
 
300
+ ## Import
301
+
302
+ Azure DevOps Feed Permission can be imported using the `Project ID/Feed ID/Identity Descriptor` or `Feed ID/Identity Descriptor` e.g.:
303
+
304
+ ```sh
305
+ $ pulumi import azuredevops:index/feedPermission:FeedPermission permission 00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000/vssgp.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
306
+ ```
307
+
308
+ or
309
+
310
+ ```sh
311
+ $ pulumi import azuredevops:index/feedPermission:FeedPermission permission 00000000-0000-0000-0000-000000000000/vssgp.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
312
+ ```
313
+
286
314
  :param str resource_name: The name of the resource.
287
315
  :param FeedPermissionArgs args: The arguments to use to populate this resource's properties.
288
316
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -0,0 +1,201 @@
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__ = [
19
+ 'GetGitRepositoryFileResult',
20
+ 'AwaitableGetGitRepositoryFileResult',
21
+ 'get_git_repository_file',
22
+ 'get_git_repository_file_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetGitRepositoryFileResult:
27
+ """
28
+ A collection of values returned by getGitRepositoryFile.
29
+ """
30
+ def __init__(__self__, branch=None, content=None, file=None, id=None, last_commit_message=None, repository_id=None, tag=None):
31
+ if branch and not isinstance(branch, str):
32
+ raise TypeError("Expected argument 'branch' to be a str")
33
+ pulumi.set(__self__, "branch", branch)
34
+ if content and not isinstance(content, str):
35
+ raise TypeError("Expected argument 'content' to be a str")
36
+ pulumi.set(__self__, "content", content)
37
+ if file and not isinstance(file, str):
38
+ raise TypeError("Expected argument 'file' to be a str")
39
+ pulumi.set(__self__, "file", file)
40
+ if id and not isinstance(id, str):
41
+ raise TypeError("Expected argument 'id' to be a str")
42
+ pulumi.set(__self__, "id", id)
43
+ if last_commit_message and not isinstance(last_commit_message, str):
44
+ raise TypeError("Expected argument 'last_commit_message' to be a str")
45
+ pulumi.set(__self__, "last_commit_message", last_commit_message)
46
+ if repository_id and not isinstance(repository_id, str):
47
+ raise TypeError("Expected argument 'repository_id' to be a str")
48
+ pulumi.set(__self__, "repository_id", repository_id)
49
+ if tag and not isinstance(tag, str):
50
+ raise TypeError("Expected argument 'tag' to be a str")
51
+ pulumi.set(__self__, "tag", tag)
52
+
53
+ @property
54
+ @pulumi.getter
55
+ def branch(self) -> Optional[builtins.str]:
56
+ return pulumi.get(self, "branch")
57
+
58
+ @property
59
+ @pulumi.getter
60
+ def content(self) -> builtins.str:
61
+ """
62
+ The file content.
63
+ """
64
+ return pulumi.get(self, "content")
65
+
66
+ @property
67
+ @pulumi.getter
68
+ def file(self) -> builtins.str:
69
+ return pulumi.get(self, "file")
70
+
71
+ @property
72
+ @pulumi.getter
73
+ def id(self) -> builtins.str:
74
+ """
75
+ The provider-assigned unique ID for this managed resource.
76
+ """
77
+ return pulumi.get(self, "id")
78
+
79
+ @property
80
+ @pulumi.getter(name="lastCommitMessage")
81
+ def last_commit_message(self) -> builtins.str:
82
+ """
83
+ The commit message for the file.
84
+ """
85
+ return pulumi.get(self, "last_commit_message")
86
+
87
+ @property
88
+ @pulumi.getter(name="repositoryId")
89
+ def repository_id(self) -> builtins.str:
90
+ return pulumi.get(self, "repository_id")
91
+
92
+ @property
93
+ @pulumi.getter
94
+ def tag(self) -> Optional[builtins.str]:
95
+ return pulumi.get(self, "tag")
96
+
97
+
98
+ class AwaitableGetGitRepositoryFileResult(GetGitRepositoryFileResult):
99
+ # pylint: disable=using-constant-test
100
+ def __await__(self):
101
+ if False:
102
+ yield self
103
+ return GetGitRepositoryFileResult(
104
+ branch=self.branch,
105
+ content=self.content,
106
+ file=self.file,
107
+ id=self.id,
108
+ last_commit_message=self.last_commit_message,
109
+ repository_id=self.repository_id,
110
+ tag=self.tag)
111
+
112
+
113
+ def get_git_repository_file(branch: Optional[builtins.str] = None,
114
+ file: Optional[builtins.str] = None,
115
+ repository_id: Optional[builtins.str] = None,
116
+ tag: Optional[builtins.str] = None,
117
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetGitRepositoryFileResult:
118
+ """
119
+ Use this data source to get an existing Git Repository File.
120
+
121
+ ## Example Usage
122
+
123
+ ```python
124
+ import pulumi
125
+ import pulumi_azuredevops as azuredevops
126
+
127
+ example = azuredevops.get_project(name="Example Project")
128
+ # Load a specific Git repository by name
129
+ example_get_git_repository = azuredevops.get_git_repository(project_id=example.id,
130
+ name="Example Repository")
131
+ example_get_git_repository_file = azuredevops.get_git_repository_file(repository_id=example_get_git_repository.id,
132
+ branch="refs/heads/main",
133
+ file="MyFile.txt")
134
+ ```
135
+
136
+
137
+ :param builtins.str branch: The git branch to use. Conflicts with `tag`; one or the other must be specified.
138
+ :param builtins.str file: The path of the file to get.
139
+ :param builtins.str repository_id: The ID of the Git repository.
140
+ :param builtins.str tag: The tag to use.Conflicts with `branch`; one or the other must be specified.
141
+ """
142
+ __args__ = dict()
143
+ __args__['branch'] = branch
144
+ __args__['file'] = file
145
+ __args__['repositoryId'] = repository_id
146
+ __args__['tag'] = tag
147
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
148
+ __ret__ = pulumi.runtime.invoke('azuredevops:index/getGitRepositoryFile:getGitRepositoryFile', __args__, opts=opts, typ=GetGitRepositoryFileResult).value
149
+
150
+ return AwaitableGetGitRepositoryFileResult(
151
+ branch=pulumi.get(__ret__, 'branch'),
152
+ content=pulumi.get(__ret__, 'content'),
153
+ file=pulumi.get(__ret__, 'file'),
154
+ id=pulumi.get(__ret__, 'id'),
155
+ last_commit_message=pulumi.get(__ret__, 'last_commit_message'),
156
+ repository_id=pulumi.get(__ret__, 'repository_id'),
157
+ tag=pulumi.get(__ret__, 'tag'))
158
+ def get_git_repository_file_output(branch: Optional[pulumi.Input[Optional[builtins.str]]] = None,
159
+ file: Optional[pulumi.Input[builtins.str]] = None,
160
+ repository_id: Optional[pulumi.Input[builtins.str]] = None,
161
+ tag: Optional[pulumi.Input[Optional[builtins.str]]] = None,
162
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetGitRepositoryFileResult]:
163
+ """
164
+ Use this data source to get an existing Git Repository File.
165
+
166
+ ## Example Usage
167
+
168
+ ```python
169
+ import pulumi
170
+ import pulumi_azuredevops as azuredevops
171
+
172
+ example = azuredevops.get_project(name="Example Project")
173
+ # Load a specific Git repository by name
174
+ example_get_git_repository = azuredevops.get_git_repository(project_id=example.id,
175
+ name="Example Repository")
176
+ example_get_git_repository_file = azuredevops.get_git_repository_file(repository_id=example_get_git_repository.id,
177
+ branch="refs/heads/main",
178
+ file="MyFile.txt")
179
+ ```
180
+
181
+
182
+ :param builtins.str branch: The git branch to use. Conflicts with `tag`; one or the other must be specified.
183
+ :param builtins.str file: The path of the file to get.
184
+ :param builtins.str repository_id: The ID of the Git repository.
185
+ :param builtins.str tag: The tag to use.Conflicts with `branch`; one or the other must be specified.
186
+ """
187
+ __args__ = dict()
188
+ __args__['branch'] = branch
189
+ __args__['file'] = file
190
+ __args__['repositoryId'] = repository_id
191
+ __args__['tag'] = tag
192
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
193
+ __ret__ = pulumi.runtime.invoke_output('azuredevops:index/getGitRepositoryFile:getGitRepositoryFile', __args__, opts=opts, typ=GetGitRepositoryFileResult)
194
+ return __ret__.apply(lambda __response__: GetGitRepositoryFileResult(
195
+ branch=pulumi.get(__response__, 'branch'),
196
+ content=pulumi.get(__response__, 'content'),
197
+ file=pulumi.get(__response__, 'file'),
198
+ id=pulumi.get(__response__, 'id'),
199
+ last_commit_message=pulumi.get(__response__, 'last_commit_message'),
200
+ repository_id=pulumi.get(__response__, 'repository_id'),
201
+ tag=pulumi.get(__response__, 'tag')))