pulumi-azure-native 2.68.0a1729519840__py3-none-any.whl → 2.68.0a1729615467__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-azure-native might be problematic. Click here for more details.

Files changed (167) hide show
  1. pulumi_azure_native/__init__.py +29 -0
  2. pulumi_azure_native/awsconnector/_inputs.py +132 -96
  3. pulumi_azure_native/awsconnector/outputs.py +120 -66
  4. pulumi_azure_native/awsconnector/v20241201/_inputs.py +132 -96
  5. pulumi_azure_native/awsconnector/v20241201/outputs.py +120 -66
  6. pulumi_azure_native/cache/__init__.py +3 -0
  7. pulumi_azure_native/cache/access_policy.py +3 -3
  8. pulumi_azure_native/cache/access_policy_assignment.py +3 -3
  9. pulumi_azure_native/cache/firewall_rule.py +3 -3
  10. pulumi_azure_native/cache/get_access_policy.py +2 -2
  11. pulumi_azure_native/cache/get_access_policy_assignment.py +2 -2
  12. pulumi_azure_native/cache/get_firewall_rule.py +2 -2
  13. pulumi_azure_native/cache/get_linked_server.py +2 -2
  14. pulumi_azure_native/cache/get_patch_schedule.py +2 -2
  15. pulumi_azure_native/cache/get_private_endpoint_connection.py +2 -2
  16. pulumi_azure_native/cache/get_redis.py +2 -2
  17. pulumi_azure_native/cache/linked_server.py +3 -3
  18. pulumi_azure_native/cache/list_redis_keys.py +2 -2
  19. pulumi_azure_native/cache/patch_schedule.py +3 -3
  20. pulumi_azure_native/cache/private_endpoint_connection.py +3 -3
  21. pulumi_azure_native/cache/redis.py +3 -3
  22. pulumi_azure_native/cache/v20200601/redis.py +1 -1
  23. pulumi_azure_native/cache/v20230401/firewall_rule.py +1 -1
  24. pulumi_azure_native/cache/v20230401/linked_server.py +1 -1
  25. pulumi_azure_native/cache/v20230401/patch_schedule.py +1 -1
  26. pulumi_azure_native/cache/v20230401/private_endpoint_connection.py +1 -1
  27. pulumi_azure_native/cache/v20230401/redis.py +1 -1
  28. pulumi_azure_native/cache/v20230501preview/access_policy.py +1 -1
  29. pulumi_azure_native/cache/v20230501preview/access_policy_assignment.py +1 -1
  30. pulumi_azure_native/cache/v20230501preview/firewall_rule.py +1 -1
  31. pulumi_azure_native/cache/v20230501preview/linked_server.py +1 -1
  32. pulumi_azure_native/cache/v20230501preview/patch_schedule.py +1 -1
  33. pulumi_azure_native/cache/v20230501preview/private_endpoint_connection.py +1 -1
  34. pulumi_azure_native/cache/v20230501preview/redis.py +1 -1
  35. pulumi_azure_native/cache/v20230801/access_policy.py +1 -1
  36. pulumi_azure_native/cache/v20230801/access_policy_assignment.py +1 -1
  37. pulumi_azure_native/cache/v20230801/firewall_rule.py +1 -1
  38. pulumi_azure_native/cache/v20230801/linked_server.py +1 -1
  39. pulumi_azure_native/cache/v20230801/patch_schedule.py +1 -1
  40. pulumi_azure_native/cache/v20230801/private_endpoint_connection.py +1 -1
  41. pulumi_azure_native/cache/v20230801/redis.py +1 -1
  42. pulumi_azure_native/cache/v20240301/access_policy.py +1 -1
  43. pulumi_azure_native/cache/v20240301/access_policy_assignment.py +1 -1
  44. pulumi_azure_native/cache/v20240301/firewall_rule.py +1 -1
  45. pulumi_azure_native/cache/v20240301/linked_server.py +1 -1
  46. pulumi_azure_native/cache/v20240301/patch_schedule.py +1 -1
  47. pulumi_azure_native/cache/v20240301/private_endpoint_connection.py +1 -1
  48. pulumi_azure_native/cache/v20240301/redis.py +1 -1
  49. pulumi_azure_native/cache/v20240401preview/access_policy.py +1 -1
  50. pulumi_azure_native/cache/v20240401preview/access_policy_assignment.py +1 -1
  51. pulumi_azure_native/cache/v20240401preview/firewall_rule.py +1 -1
  52. pulumi_azure_native/cache/v20240401preview/linked_server.py +1 -1
  53. pulumi_azure_native/cache/v20240401preview/patch_schedule.py +1 -1
  54. pulumi_azure_native/cache/v20240401preview/private_endpoint_connection.py +1 -1
  55. pulumi_azure_native/cache/v20240401preview/redis.py +1 -1
  56. pulumi_azure_native/cache/v20241101/__init__.py +25 -0
  57. pulumi_azure_native/cache/v20241101/_enums.py +111 -0
  58. pulumi_azure_native/cache/v20241101/_inputs.py +646 -0
  59. pulumi_azure_native/cache/v20241101/access_policy.py +219 -0
  60. pulumi_azure_native/cache/v20241101/access_policy_assignment.py +279 -0
  61. pulumi_azure_native/cache/v20241101/firewall_rule.py +239 -0
  62. pulumi_azure_native/cache/v20241101/get_access_policy.py +148 -0
  63. pulumi_azure_native/cache/v20241101/get_access_policy_assignment.py +176 -0
  64. pulumi_azure_native/cache/v20241101/get_firewall_rule.py +148 -0
  65. pulumi_azure_native/cache/v20241101/get_linked_server.py +204 -0
  66. pulumi_azure_native/cache/v20241101/get_patch_schedule.py +149 -0
  67. pulumi_azure_native/cache/v20241101/get_private_endpoint_connection.py +163 -0
  68. pulumi_azure_native/cache/v20241101/get_redis.py +493 -0
  69. pulumi_azure_native/cache/v20241101/linked_server.py +299 -0
  70. pulumi_azure_native/cache/v20241101/list_redis_keys.py +100 -0
  71. pulumi_azure_native/cache/v20241101/outputs.py +917 -0
  72. pulumi_azure_native/cache/v20241101/patch_schedule.py +221 -0
  73. pulumi_azure_native/cache/v20241101/private_endpoint_connection.py +232 -0
  74. pulumi_azure_native/cache/v20241101/redis.py +804 -0
  75. pulumi_azure_native/costmanagement/__init__.py +3 -0
  76. pulumi_azure_native/costmanagement/budget.py +3 -3
  77. pulumi_azure_native/costmanagement/cost_allocation_rule.py +3 -3
  78. pulumi_azure_native/costmanagement/export.py +3 -3
  79. pulumi_azure_native/costmanagement/get_budget.py +2 -2
  80. pulumi_azure_native/costmanagement/get_cost_allocation_rule.py +2 -2
  81. pulumi_azure_native/costmanagement/get_export.py +2 -2
  82. pulumi_azure_native/costmanagement/get_scheduled_action.py +2 -2
  83. pulumi_azure_native/costmanagement/get_scheduled_action_by_scope.py +2 -2
  84. pulumi_azure_native/costmanagement/get_view.py +2 -2
  85. pulumi_azure_native/costmanagement/get_view_by_scope.py +2 -2
  86. pulumi_azure_native/costmanagement/scheduled_action.py +3 -3
  87. pulumi_azure_native/costmanagement/scheduled_action_by_scope.py +3 -3
  88. pulumi_azure_native/costmanagement/tag_inheritance_setting.py +1 -1
  89. pulumi_azure_native/costmanagement/v20190401preview/budget.py +1 -1
  90. pulumi_azure_native/costmanagement/v20191001/export.py +1 -1
  91. pulumi_azure_native/costmanagement/v20191101/view.py +1 -1
  92. pulumi_azure_native/costmanagement/v20191101/view_by_scope.py +1 -1
  93. pulumi_azure_native/costmanagement/v20200301preview/cost_allocation_rule.py +1 -1
  94. pulumi_azure_native/costmanagement/v20200601/view.py +1 -1
  95. pulumi_azure_native/costmanagement/v20200601/view_by_scope.py +1 -1
  96. pulumi_azure_native/costmanagement/v20221001/view.py +1 -1
  97. pulumi_azure_native/costmanagement/v20221001/view_by_scope.py +1 -1
  98. pulumi_azure_native/costmanagement/v20221005preview/tag_inheritance_setting.py +1 -1
  99. pulumi_azure_native/costmanagement/v20221005preview/view.py +1 -1
  100. pulumi_azure_native/costmanagement/v20221005preview/view_by_scope.py +1 -1
  101. pulumi_azure_native/costmanagement/v20230301/export.py +1 -1
  102. pulumi_azure_native/costmanagement/v20230301/scheduled_action.py +1 -1
  103. pulumi_azure_native/costmanagement/v20230301/scheduled_action_by_scope.py +1 -1
  104. pulumi_azure_native/costmanagement/v20230301/view.py +1 -1
  105. pulumi_azure_native/costmanagement/v20230301/view_by_scope.py +1 -1
  106. pulumi_azure_native/costmanagement/v20230401preview/budget.py +1 -1
  107. pulumi_azure_native/costmanagement/v20230401preview/export.py +1 -1
  108. pulumi_azure_native/costmanagement/v20230401preview/scheduled_action.py +1 -1
  109. pulumi_azure_native/costmanagement/v20230401preview/scheduled_action_by_scope.py +1 -1
  110. pulumi_azure_native/costmanagement/v20230401preview/view.py +1 -1
  111. pulumi_azure_native/costmanagement/v20230401preview/view_by_scope.py +1 -1
  112. pulumi_azure_native/costmanagement/v20230701preview/export.py +1 -1
  113. pulumi_azure_native/costmanagement/v20230701preview/scheduled_action.py +1 -1
  114. pulumi_azure_native/costmanagement/v20230701preview/scheduled_action_by_scope.py +1 -1
  115. pulumi_azure_native/costmanagement/v20230701preview/view.py +1 -1
  116. pulumi_azure_native/costmanagement/v20230701preview/view_by_scope.py +1 -1
  117. pulumi_azure_native/costmanagement/v20230801/budget.py +1 -1
  118. pulumi_azure_native/costmanagement/v20230801/cost_allocation_rule.py +1 -1
  119. pulumi_azure_native/costmanagement/v20230801/export.py +1 -1
  120. pulumi_azure_native/costmanagement/v20230801/scheduled_action.py +1 -1
  121. pulumi_azure_native/costmanagement/v20230801/scheduled_action_by_scope.py +1 -1
  122. pulumi_azure_native/costmanagement/v20230801/tag_inheritance_setting.py +1 -1
  123. pulumi_azure_native/costmanagement/v20230801/view.py +1 -1
  124. pulumi_azure_native/costmanagement/v20230801/view_by_scope.py +1 -1
  125. pulumi_azure_native/costmanagement/v20230901/budget.py +1 -1
  126. pulumi_azure_native/costmanagement/v20230901/cost_allocation_rule.py +1 -1
  127. pulumi_azure_native/costmanagement/v20230901/export.py +1 -1
  128. pulumi_azure_native/costmanagement/v20230901/scheduled_action.py +1 -1
  129. pulumi_azure_native/costmanagement/v20230901/scheduled_action_by_scope.py +1 -1
  130. pulumi_azure_native/costmanagement/v20230901/tag_inheritance_setting.py +1 -1
  131. pulumi_azure_native/costmanagement/v20230901/view.py +1 -1
  132. pulumi_azure_native/costmanagement/v20230901/view_by_scope.py +1 -1
  133. pulumi_azure_native/costmanagement/v20231101/budget.py +1 -1
  134. pulumi_azure_native/costmanagement/v20231101/cost_allocation_rule.py +1 -1
  135. pulumi_azure_native/costmanagement/v20231101/export.py +1 -1
  136. pulumi_azure_native/costmanagement/v20231101/scheduled_action.py +1 -1
  137. pulumi_azure_native/costmanagement/v20231101/scheduled_action_by_scope.py +1 -1
  138. pulumi_azure_native/costmanagement/v20231101/tag_inheritance_setting.py +1 -1
  139. pulumi_azure_native/costmanagement/v20231101/view.py +1 -1
  140. pulumi_azure_native/costmanagement/v20231101/view_by_scope.py +1 -1
  141. pulumi_azure_native/costmanagement/v20240801/__init__.py +26 -0
  142. pulumi_azure_native/costmanagement/v20240801/_enums.py +538 -0
  143. pulumi_azure_native/costmanagement/v20240801/_inputs.py +2660 -0
  144. pulumi_azure_native/costmanagement/v20240801/budget.py +619 -0
  145. pulumi_azure_native/costmanagement/v20240801/cost_allocation_rule.py +190 -0
  146. pulumi_azure_native/costmanagement/v20240801/export.py +415 -0
  147. pulumi_azure_native/costmanagement/v20240801/get_budget.py +337 -0
  148. pulumi_azure_native/costmanagement/v20240801/get_cost_allocation_rule.py +129 -0
  149. pulumi_azure_native/costmanagement/v20240801/get_export.py +261 -0
  150. pulumi_azure_native/costmanagement/v20240801/get_scheduled_action.py +263 -0
  151. pulumi_azure_native/costmanagement/v20240801/get_scheduled_action_by_scope.py +269 -0
  152. pulumi_azure_native/costmanagement/v20240801/get_tag_inheritance_setting.py +144 -0
  153. pulumi_azure_native/costmanagement/v20240801/get_view.py +333 -0
  154. pulumi_azure_native/costmanagement/v20240801/get_view_by_scope.py +339 -0
  155. pulumi_azure_native/costmanagement/v20240801/outputs.py +2593 -0
  156. pulumi_azure_native/costmanagement/v20240801/scheduled_action.py +425 -0
  157. pulumi_azure_native/costmanagement/v20240801/scheduled_action_by_scope.py +426 -0
  158. pulumi_azure_native/costmanagement/v20240801/tag_inheritance_setting.py +222 -0
  159. pulumi_azure_native/costmanagement/v20240801/view.py +587 -0
  160. pulumi_azure_native/costmanagement/v20240801/view_by_scope.py +588 -0
  161. pulumi_azure_native/costmanagement/view.py +3 -3
  162. pulumi_azure_native/costmanagement/view_by_scope.py +3 -3
  163. pulumi_azure_native/pulumi-plugin.json +1 -1
  164. {pulumi_azure_native-2.68.0a1729519840.dist-info → pulumi_azure_native-2.68.0a1729615467.dist-info}/METADATA +1 -1
  165. {pulumi_azure_native-2.68.0a1729519840.dist-info → pulumi_azure_native-2.68.0a1729615467.dist-info}/RECORD +167 -128
  166. {pulumi_azure_native-2.68.0a1729519840.dist-info → pulumi_azure_native-2.68.0a1729615467.dist-info}/WHEEL +0 -0
  167. {pulumi_azure_native-2.68.0a1729519840.dist-info → pulumi_azure_native-2.68.0a1729615467.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,337 @@
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 copy
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
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetBudgetResult',
20
+ 'AwaitableGetBudgetResult',
21
+ 'get_budget',
22
+ 'get_budget_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetBudgetResult:
27
+ """
28
+ A budget resource.
29
+ """
30
+ def __init__(__self__, amount=None, category=None, current_spend=None, e_tag=None, filter=None, forecast_spend=None, id=None, name=None, notifications=None, time_grain=None, time_period=None, type=None):
31
+ if amount and not isinstance(amount, float):
32
+ raise TypeError("Expected argument 'amount' to be a float")
33
+ pulumi.set(__self__, "amount", amount)
34
+ if category and not isinstance(category, str):
35
+ raise TypeError("Expected argument 'category' to be a str")
36
+ pulumi.set(__self__, "category", category)
37
+ if current_spend and not isinstance(current_spend, dict):
38
+ raise TypeError("Expected argument 'current_spend' to be a dict")
39
+ pulumi.set(__self__, "current_spend", current_spend)
40
+ if e_tag and not isinstance(e_tag, str):
41
+ raise TypeError("Expected argument 'e_tag' to be a str")
42
+ pulumi.set(__self__, "e_tag", e_tag)
43
+ if filter and not isinstance(filter, dict):
44
+ raise TypeError("Expected argument 'filter' to be a dict")
45
+ pulumi.set(__self__, "filter", filter)
46
+ if forecast_spend and not isinstance(forecast_spend, dict):
47
+ raise TypeError("Expected argument 'forecast_spend' to be a dict")
48
+ pulumi.set(__self__, "forecast_spend", forecast_spend)
49
+ if id and not isinstance(id, str):
50
+ raise TypeError("Expected argument 'id' to be a str")
51
+ pulumi.set(__self__, "id", id)
52
+ if name and not isinstance(name, str):
53
+ raise TypeError("Expected argument 'name' to be a str")
54
+ pulumi.set(__self__, "name", name)
55
+ if notifications and not isinstance(notifications, dict):
56
+ raise TypeError("Expected argument 'notifications' to be a dict")
57
+ pulumi.set(__self__, "notifications", notifications)
58
+ if time_grain and not isinstance(time_grain, str):
59
+ raise TypeError("Expected argument 'time_grain' to be a str")
60
+ pulumi.set(__self__, "time_grain", time_grain)
61
+ if time_period and not isinstance(time_period, dict):
62
+ raise TypeError("Expected argument 'time_period' to be a dict")
63
+ pulumi.set(__self__, "time_period", time_period)
64
+ if type and not isinstance(type, str):
65
+ raise TypeError("Expected argument 'type' to be a str")
66
+ pulumi.set(__self__, "type", type)
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def amount(self) -> Optional[float]:
71
+ """
72
+ The total amount of cost to track with the budget.
73
+
74
+ Supported for CategoryType(s): Cost.
75
+
76
+ Required for CategoryType(s): Cost.
77
+ """
78
+ return pulumi.get(self, "amount")
79
+
80
+ @property
81
+ @pulumi.getter
82
+ def category(self) -> str:
83
+ """
84
+ The category of the budget.
85
+ - 'Cost' defines a Budget.
86
+ - 'ReservationUtilization' defines a Reservation Utilization Alert Rule.
87
+ """
88
+ return pulumi.get(self, "category")
89
+
90
+ @property
91
+ @pulumi.getter(name="currentSpend")
92
+ def current_spend(self) -> 'outputs.CurrentSpendResponse':
93
+ """
94
+ The current amount of cost which is being tracked for a budget.
95
+
96
+ Supported for CategoryType(s): Cost.
97
+ """
98
+ return pulumi.get(self, "current_spend")
99
+
100
+ @property
101
+ @pulumi.getter(name="eTag")
102
+ def e_tag(self) -> Optional[str]:
103
+ """
104
+ eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not.
105
+ """
106
+ return pulumi.get(self, "e_tag")
107
+
108
+ @property
109
+ @pulumi.getter
110
+ def filter(self) -> Optional['outputs.BudgetFilterResponse']:
111
+ """
112
+ May be used to filter budgets by user-specified dimensions and/or tags.
113
+
114
+ Supported for CategoryType(s): Cost, ReservationUtilization.
115
+ """
116
+ return pulumi.get(self, "filter")
117
+
118
+ @property
119
+ @pulumi.getter(name="forecastSpend")
120
+ def forecast_spend(self) -> 'outputs.ForecastSpendResponse':
121
+ """
122
+ The forecasted cost which is being tracked for a budget.
123
+
124
+ Supported for CategoryType(s): Cost.
125
+ """
126
+ return pulumi.get(self, "forecast_spend")
127
+
128
+ @property
129
+ @pulumi.getter
130
+ def id(self) -> str:
131
+ """
132
+ Resource Id.
133
+ """
134
+ return pulumi.get(self, "id")
135
+
136
+ @property
137
+ @pulumi.getter
138
+ def name(self) -> str:
139
+ """
140
+ Resource name.
141
+ """
142
+ return pulumi.get(self, "name")
143
+
144
+ @property
145
+ @pulumi.getter
146
+ def notifications(self) -> Optional[Mapping[str, 'outputs.NotificationResponse']]:
147
+ """
148
+ Dictionary of notifications associated with the budget.
149
+
150
+ Supported for CategoryType(s): Cost, ReservationUtilization.
151
+
152
+ - Constraints for **CategoryType: Cost** - Budget can have up to 5 notifications with thresholdType: Actual and 5 notifications with thresholdType: Forecasted.
153
+ - Constraints for **CategoryType: ReservationUtilization** - Only one notification allowed. thresholdType is not applicable.
154
+ """
155
+ return pulumi.get(self, "notifications")
156
+
157
+ @property
158
+ @pulumi.getter(name="timeGrain")
159
+ def time_grain(self) -> str:
160
+ """
161
+ The time covered by a budget. Tracking of the amount will be reset based on the time grain.
162
+
163
+ Supported for CategoryType(s): Cost, ReservationUtilization.
164
+
165
+ Supported timeGrainTypes for **CategoryType: Cost**
166
+
167
+ - Monthly
168
+ - Quarterly
169
+ - Annually
170
+ - BillingMonth*
171
+ - BillingQuarter*
172
+ - BillingAnnual*
173
+
174
+ *only supported for Web Direct customers.
175
+
176
+ Supported timeGrainTypes for **CategoryType: ReservationUtilization**
177
+ - Last7Days
178
+ - Last30Days
179
+
180
+ Required for CategoryType(s): Cost, ReservationUtilization.
181
+ """
182
+ return pulumi.get(self, "time_grain")
183
+
184
+ @property
185
+ @pulumi.getter(name="timePeriod")
186
+ def time_period(self) -> 'outputs.BudgetTimePeriodResponse':
187
+ """
188
+ The time period that defines the active period of the budget. The budget will evaluate data on or after the startDate and will expire on the endDate.
189
+
190
+ Supported for CategoryType(s): Cost, ReservationUtilization.
191
+
192
+ Required for CategoryType(s): Cost, ReservationUtilization.
193
+ """
194
+ return pulumi.get(self, "time_period")
195
+
196
+ @property
197
+ @pulumi.getter
198
+ def type(self) -> str:
199
+ """
200
+ Resource type.
201
+ """
202
+ return pulumi.get(self, "type")
203
+
204
+
205
+ class AwaitableGetBudgetResult(GetBudgetResult):
206
+ # pylint: disable=using-constant-test
207
+ def __await__(self):
208
+ if False:
209
+ yield self
210
+ return GetBudgetResult(
211
+ amount=self.amount,
212
+ category=self.category,
213
+ current_spend=self.current_spend,
214
+ e_tag=self.e_tag,
215
+ filter=self.filter,
216
+ forecast_spend=self.forecast_spend,
217
+ id=self.id,
218
+ name=self.name,
219
+ notifications=self.notifications,
220
+ time_grain=self.time_grain,
221
+ time_period=self.time_period,
222
+ type=self.type)
223
+
224
+
225
+ def get_budget(budget_name: Optional[str] = None,
226
+ scope: Optional[str] = None,
227
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetBudgetResult:
228
+ """
229
+ Gets the budget for the scope by budget name.
230
+
231
+
232
+ :param str budget_name: Budget Name.
233
+ :param str scope: The scope associated with budget operations.
234
+
235
+ Supported scopes for **CategoryType: Cost**
236
+
237
+ Azure RBAC Scopes:
238
+ - '/subscriptions/{subscriptionId}/' for subscription scope
239
+ - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope
240
+ - '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope
241
+
242
+ EA (Enterprise Agreement) Scopes:
243
+
244
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
245
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope
246
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope
247
+
248
+ MCA (Modern Customer Agreement) Scopes:
249
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
250
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope
251
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope
252
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
253
+
254
+ Supported scopes for **CategoryType: ReservationUtilization**
255
+
256
+ EA (Enterprise Agreement) Scopes:
257
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope
258
+
259
+ MCA (Modern Customer Agreement) Scopes:
260
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope (non-CSP only)
261
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
262
+ """
263
+ __args__ = dict()
264
+ __args__['budgetName'] = budget_name
265
+ __args__['scope'] = scope
266
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
267
+ __ret__ = pulumi.runtime.invoke('azure-native:costmanagement/v20240801:getBudget', __args__, opts=opts, typ=GetBudgetResult).value
268
+
269
+ return AwaitableGetBudgetResult(
270
+ amount=pulumi.get(__ret__, 'amount'),
271
+ category=pulumi.get(__ret__, 'category'),
272
+ current_spend=pulumi.get(__ret__, 'current_spend'),
273
+ e_tag=pulumi.get(__ret__, 'e_tag'),
274
+ filter=pulumi.get(__ret__, 'filter'),
275
+ forecast_spend=pulumi.get(__ret__, 'forecast_spend'),
276
+ id=pulumi.get(__ret__, 'id'),
277
+ name=pulumi.get(__ret__, 'name'),
278
+ notifications=pulumi.get(__ret__, 'notifications'),
279
+ time_grain=pulumi.get(__ret__, 'time_grain'),
280
+ time_period=pulumi.get(__ret__, 'time_period'),
281
+ type=pulumi.get(__ret__, 'type'))
282
+ def get_budget_output(budget_name: Optional[pulumi.Input[str]] = None,
283
+ scope: Optional[pulumi.Input[str]] = None,
284
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetBudgetResult]:
285
+ """
286
+ Gets the budget for the scope by budget name.
287
+
288
+
289
+ :param str budget_name: Budget Name.
290
+ :param str scope: The scope associated with budget operations.
291
+
292
+ Supported scopes for **CategoryType: Cost**
293
+
294
+ Azure RBAC Scopes:
295
+ - '/subscriptions/{subscriptionId}/' for subscription scope
296
+ - '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope
297
+ - '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope
298
+
299
+ EA (Enterprise Agreement) Scopes:
300
+
301
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
302
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope
303
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope
304
+
305
+ MCA (Modern Customer Agreement) Scopes:
306
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope
307
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope
308
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope
309
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
310
+
311
+ Supported scopes for **CategoryType: ReservationUtilization**
312
+
313
+ EA (Enterprise Agreement) Scopes:
314
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account Scope
315
+
316
+ MCA (Modern Customer Agreement) Scopes:
317
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope (non-CSP only)
318
+ - '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' for customer scope (CSP only)
319
+ """
320
+ __args__ = dict()
321
+ __args__['budgetName'] = budget_name
322
+ __args__['scope'] = scope
323
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
324
+ __ret__ = pulumi.runtime.invoke_output('azure-native:costmanagement/v20240801:getBudget', __args__, opts=opts, typ=GetBudgetResult)
325
+ return __ret__.apply(lambda __response__: GetBudgetResult(
326
+ amount=pulumi.get(__response__, 'amount'),
327
+ category=pulumi.get(__response__, 'category'),
328
+ current_spend=pulumi.get(__response__, 'current_spend'),
329
+ e_tag=pulumi.get(__response__, 'e_tag'),
330
+ filter=pulumi.get(__response__, 'filter'),
331
+ forecast_spend=pulumi.get(__response__, 'forecast_spend'),
332
+ id=pulumi.get(__response__, 'id'),
333
+ name=pulumi.get(__response__, 'name'),
334
+ notifications=pulumi.get(__response__, 'notifications'),
335
+ time_grain=pulumi.get(__response__, 'time_grain'),
336
+ time_period=pulumi.get(__response__, 'time_period'),
337
+ type=pulumi.get(__response__, 'type')))
@@ -0,0 +1,129 @@
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 copy
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
+ from . import outputs
17
+
18
+ __all__ = [
19
+ 'GetCostAllocationRuleResult',
20
+ 'AwaitableGetCostAllocationRuleResult',
21
+ 'get_cost_allocation_rule',
22
+ 'get_cost_allocation_rule_output',
23
+ ]
24
+
25
+ @pulumi.output_type
26
+ class GetCostAllocationRuleResult:
27
+ """
28
+ The cost allocation rule model definition
29
+ """
30
+ def __init__(__self__, id=None, name=None, properties=None, type=None):
31
+ if id and not isinstance(id, str):
32
+ raise TypeError("Expected argument 'id' to be a str")
33
+ pulumi.set(__self__, "id", id)
34
+ if name and not isinstance(name, str):
35
+ raise TypeError("Expected argument 'name' to be a str")
36
+ pulumi.set(__self__, "name", name)
37
+ if properties and not isinstance(properties, dict):
38
+ raise TypeError("Expected argument 'properties' to be a dict")
39
+ pulumi.set(__self__, "properties", properties)
40
+ if type and not isinstance(type, str):
41
+ raise TypeError("Expected argument 'type' to be a str")
42
+ pulumi.set(__self__, "type", type)
43
+
44
+ @property
45
+ @pulumi.getter
46
+ def id(self) -> str:
47
+ """
48
+ Azure Resource Manager Id for the rule. This is a read ony value.
49
+ """
50
+ return pulumi.get(self, "id")
51
+
52
+ @property
53
+ @pulumi.getter
54
+ def name(self) -> str:
55
+ """
56
+ Name of the rule. This is a read only value.
57
+ """
58
+ return pulumi.get(self, "name")
59
+
60
+ @property
61
+ @pulumi.getter
62
+ def properties(self) -> 'outputs.CostAllocationRulePropertiesResponse':
63
+ """
64
+ Cost allocation rule properties
65
+ """
66
+ return pulumi.get(self, "properties")
67
+
68
+ @property
69
+ @pulumi.getter
70
+ def type(self) -> str:
71
+ """
72
+ Resource type of the rule. This is a read only value of Microsoft.CostManagement/CostAllocationRule.
73
+ """
74
+ return pulumi.get(self, "type")
75
+
76
+
77
+ class AwaitableGetCostAllocationRuleResult(GetCostAllocationRuleResult):
78
+ # pylint: disable=using-constant-test
79
+ def __await__(self):
80
+ if False:
81
+ yield self
82
+ return GetCostAllocationRuleResult(
83
+ id=self.id,
84
+ name=self.name,
85
+ properties=self.properties,
86
+ type=self.type)
87
+
88
+
89
+ def get_cost_allocation_rule(billing_account_id: Optional[str] = None,
90
+ rule_name: Optional[str] = None,
91
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCostAllocationRuleResult:
92
+ """
93
+ Get a cost allocation rule by rule name and billing account or enterprise enrollment.
94
+
95
+
96
+ :param str billing_account_id: BillingAccount ID
97
+ :param str rule_name: Cost allocation rule name. The name cannot include spaces or any non alphanumeric characters other than '_' and '-'. The max length is 260 characters.
98
+ """
99
+ __args__ = dict()
100
+ __args__['billingAccountId'] = billing_account_id
101
+ __args__['ruleName'] = rule_name
102
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
103
+ __ret__ = pulumi.runtime.invoke('azure-native:costmanagement/v20240801:getCostAllocationRule', __args__, opts=opts, typ=GetCostAllocationRuleResult).value
104
+
105
+ return AwaitableGetCostAllocationRuleResult(
106
+ id=pulumi.get(__ret__, 'id'),
107
+ name=pulumi.get(__ret__, 'name'),
108
+ properties=pulumi.get(__ret__, 'properties'),
109
+ type=pulumi.get(__ret__, 'type'))
110
+ def get_cost_allocation_rule_output(billing_account_id: Optional[pulumi.Input[str]] = None,
111
+ rule_name: Optional[pulumi.Input[str]] = None,
112
+ opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetCostAllocationRuleResult]:
113
+ """
114
+ Get a cost allocation rule by rule name and billing account or enterprise enrollment.
115
+
116
+
117
+ :param str billing_account_id: BillingAccount ID
118
+ :param str rule_name: Cost allocation rule name. The name cannot include spaces or any non alphanumeric characters other than '_' and '-'. The max length is 260 characters.
119
+ """
120
+ __args__ = dict()
121
+ __args__['billingAccountId'] = billing_account_id
122
+ __args__['ruleName'] = rule_name
123
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
124
+ __ret__ = pulumi.runtime.invoke_output('azure-native:costmanagement/v20240801:getCostAllocationRule', __args__, opts=opts, typ=GetCostAllocationRuleResult)
125
+ return __ret__.apply(lambda __response__: GetCostAllocationRuleResult(
126
+ id=pulumi.get(__response__, 'id'),
127
+ name=pulumi.get(__response__, 'name'),
128
+ properties=pulumi.get(__response__, 'properties'),
129
+ type=pulumi.get(__response__, 'type')))