pulumi-azure-native 2.58.0a1724403460__py3-none-any.whl → 2.59.0a1724845184__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 (236) hide show
  1. pulumi_azure_native/__init__.py +65 -2
  2. pulumi_azure_native/azurefleet/_enums.py +1 -1
  3. pulumi_azure_native/azurefleet/v20231101preview/_enums.py +1 -1
  4. pulumi_azure_native/azurefleet/v20240501preview/_enums.py +1 -1
  5. pulumi_azure_native/consumption/__init__.py +3 -0
  6. pulumi_azure_native/consumption/budget.py +3 -3
  7. pulumi_azure_native/consumption/get_budget.py +2 -2
  8. pulumi_azure_native/consumption/v20230501/budget.py +1 -1
  9. pulumi_azure_native/consumption/v20231101/budget.py +1 -1
  10. pulumi_azure_native/consumption/v20240801/__init__.py +12 -0
  11. pulumi_azure_native/consumption/v20240801/_enums.py +99 -0
  12. pulumi_azure_native/consumption/v20240801/_inputs.py +466 -0
  13. pulumi_azure_native/consumption/v20240801/budget.py +388 -0
  14. pulumi_azure_native/consumption/v20240801/get_budget.py +227 -0
  15. pulumi_azure_native/consumption/v20240801/outputs.py +418 -0
  16. pulumi_azure_native/containerservice/v20240402preview/_inputs.py +3 -3
  17. pulumi_azure_native/containerservice/v20240402preview/outputs.py +2 -2
  18. pulumi_azure_native/containerservice/v20240502preview/_inputs.py +3 -3
  19. pulumi_azure_native/containerservice/v20240502preview/outputs.py +2 -2
  20. pulumi_azure_native/containerservice/v20240602preview/_inputs.py +3 -3
  21. pulumi_azure_native/containerservice/v20240602preview/outputs.py +2 -2
  22. pulumi_azure_native/databricks/__init__.py +3 -0
  23. pulumi_azure_native/databricks/access_connector.py +3 -3
  24. pulumi_azure_native/databricks/get_access_connector.py +2 -2
  25. pulumi_azure_native/databricks/get_private_endpoint_connection.py +2 -2
  26. pulumi_azure_native/databricks/get_workspace.py +2 -2
  27. pulumi_azure_native/databricks/private_endpoint_connection.py +3 -3
  28. pulumi_azure_native/databricks/v20220401preview/access_connector.py +1 -1
  29. pulumi_azure_native/databricks/v20230201/private_endpoint_connection.py +1 -1
  30. pulumi_azure_native/databricks/v20230201/v_net_peering.py +1 -1
  31. pulumi_azure_native/databricks/v20230201/workspace.py +1 -1
  32. pulumi_azure_native/databricks/v20230501/access_connector.py +1 -1
  33. pulumi_azure_native/databricks/v20230915preview/private_endpoint_connection.py +1 -1
  34. pulumi_azure_native/databricks/v20230915preview/v_net_peering.py +1 -1
  35. pulumi_azure_native/databricks/v20230915preview/workspace.py +1 -1
  36. pulumi_azure_native/databricks/v20240501/access_connector.py +1 -1
  37. pulumi_azure_native/databricks/v20240501/private_endpoint_connection.py +1 -1
  38. pulumi_azure_native/databricks/v20240501/v_net_peering.py +1 -1
  39. pulumi_azure_native/databricks/v20240501/workspace.py +1 -1
  40. pulumi_azure_native/databricks/v20240901preview/__init__.py +18 -0
  41. pulumi_azure_native/databricks/v20240901preview/_enums.py +122 -0
  42. pulumi_azure_native/databricks/v20240901preview/_inputs.py +1712 -0
  43. pulumi_azure_native/databricks/v20240901preview/access_connector.py +268 -0
  44. pulumi_azure_native/databricks/v20240901preview/get_access_connector.py +175 -0
  45. pulumi_azure_native/databricks/v20240901preview/get_private_endpoint_connection.py +128 -0
  46. pulumi_azure_native/databricks/v20240901preview/get_v_net_peering.py +245 -0
  47. pulumi_azure_native/databricks/v20240901preview/get_workspace.py +448 -0
  48. pulumi_azure_native/databricks/v20240901preview/outputs.py +1954 -0
  49. pulumi_azure_native/databricks/v20240901preview/private_endpoint_connection.py +212 -0
  50. pulumi_azure_native/databricks/v20240901preview/v_net_peering.py +434 -0
  51. pulumi_azure_native/databricks/v20240901preview/workspace.py +688 -0
  52. pulumi_azure_native/databricks/v_net_peering.py +1 -1
  53. pulumi_azure_native/databricks/workspace.py +3 -3
  54. pulumi_azure_native/hybridconnectivity/__init__.py +3 -0
  55. pulumi_azure_native/hybridconnectivity/endpoint.py +3 -3
  56. pulumi_azure_native/hybridconnectivity/get_endpoint.py +2 -2
  57. pulumi_azure_native/hybridconnectivity/get_service_configuration.py +4 -0
  58. pulumi_azure_native/hybridconnectivity/list_endpoint_credentials.py +2 -2
  59. pulumi_azure_native/hybridconnectivity/list_endpoint_ingress_gateway_credentials.py +4 -0
  60. pulumi_azure_native/hybridconnectivity/list_endpoint_managed_proxy_details.py +2 -2
  61. pulumi_azure_native/hybridconnectivity/service_configuration.py +5 -1
  62. pulumi_azure_native/hybridconnectivity/v20220501preview/endpoint.py +1 -1
  63. pulumi_azure_native/hybridconnectivity/v20230315/endpoint.py +1 -1
  64. pulumi_azure_native/hybridconnectivity/v20230315/service_configuration.py +1 -1
  65. pulumi_azure_native/hybridconnectivity/v20241201/__init__.py +17 -0
  66. pulumi_azure_native/hybridconnectivity/v20241201/_enums.py +37 -0
  67. pulumi_azure_native/hybridconnectivity/v20241201/_inputs.py +79 -0
  68. pulumi_azure_native/hybridconnectivity/v20241201/endpoint.py +374 -0
  69. pulumi_azure_native/hybridconnectivity/v20241201/get_endpoint.py +214 -0
  70. pulumi_azure_native/hybridconnectivity/v20241201/get_service_configuration.py +258 -0
  71. pulumi_azure_native/hybridconnectivity/v20241201/list_endpoint_credentials.py +159 -0
  72. pulumi_azure_native/hybridconnectivity/v20241201/list_endpoint_ingress_gateway_credentials.py +198 -0
  73. pulumi_azure_native/hybridconnectivity/v20241201/list_endpoint_managed_proxy_details.py +112 -0
  74. pulumi_azure_native/hybridconnectivity/v20241201/outputs.py +196 -0
  75. pulumi_azure_native/hybridconnectivity/v20241201/service_configuration.py +463 -0
  76. pulumi_azure_native/iotoperations/v20240815preview/_enums.py +2 -2
  77. pulumi_azure_native/iotoperations/v20240815preview/_inputs.py +19 -22
  78. pulumi_azure_native/iotoperations/v20240815preview/outputs.py +11 -14
  79. pulumi_azure_native/networkcloud/__init__.py +5 -0
  80. pulumi_azure_native/networkcloud/_inputs.py +52 -0
  81. pulumi_azure_native/networkcloud/agent_pool.py +3 -3
  82. pulumi_azure_native/networkcloud/bare_metal_machine.py +3 -3
  83. pulumi_azure_native/networkcloud/bare_metal_machine_key_set.py +3 -3
  84. pulumi_azure_native/networkcloud/bmc_key_set.py +3 -3
  85. pulumi_azure_native/networkcloud/cloud_services_network.py +3 -3
  86. pulumi_azure_native/networkcloud/cluster.py +3 -3
  87. pulumi_azure_native/networkcloud/cluster_manager.py +3 -3
  88. pulumi_azure_native/networkcloud/console.py +3 -3
  89. pulumi_azure_native/networkcloud/get_agent_pool.py +2 -2
  90. pulumi_azure_native/networkcloud/get_bare_metal_machine.py +2 -2
  91. pulumi_azure_native/networkcloud/get_bare_metal_machine_key_set.py +2 -2
  92. pulumi_azure_native/networkcloud/get_bmc_key_set.py +2 -2
  93. pulumi_azure_native/networkcloud/get_cloud_services_network.py +2 -2
  94. pulumi_azure_native/networkcloud/get_cluster.py +2 -2
  95. pulumi_azure_native/networkcloud/get_cluster_manager.py +2 -2
  96. pulumi_azure_native/networkcloud/get_console.py +2 -2
  97. pulumi_azure_native/networkcloud/get_kubernetes_cluster.py +2 -2
  98. pulumi_azure_native/networkcloud/get_kubernetes_cluster_feature.py +244 -0
  99. pulumi_azure_native/networkcloud/get_l2_network.py +2 -2
  100. pulumi_azure_native/networkcloud/get_l3_network.py +2 -2
  101. pulumi_azure_native/networkcloud/get_metrics_configuration.py +2 -2
  102. pulumi_azure_native/networkcloud/get_rack.py +2 -2
  103. pulumi_azure_native/networkcloud/get_storage_appliance.py +2 -2
  104. pulumi_azure_native/networkcloud/get_trunked_network.py +2 -2
  105. pulumi_azure_native/networkcloud/get_virtual_machine.py +2 -2
  106. pulumi_azure_native/networkcloud/get_volume.py +2 -2
  107. pulumi_azure_native/networkcloud/kubernetes_cluster.py +3 -3
  108. pulumi_azure_native/networkcloud/kubernetes_cluster_feature.py +338 -0
  109. pulumi_azure_native/networkcloud/l2_network.py +3 -3
  110. pulumi_azure_native/networkcloud/l3_network.py +3 -3
  111. pulumi_azure_native/networkcloud/metrics_configuration.py +3 -3
  112. pulumi_azure_native/networkcloud/outputs.py +30 -0
  113. pulumi_azure_native/networkcloud/rack.py +3 -3
  114. pulumi_azure_native/networkcloud/storage_appliance.py +3 -3
  115. pulumi_azure_native/networkcloud/trunked_network.py +3 -3
  116. pulumi_azure_native/networkcloud/v20230701/agent_pool.py +1 -1
  117. pulumi_azure_native/networkcloud/v20230701/bare_metal_machine.py +1 -1
  118. pulumi_azure_native/networkcloud/v20230701/bare_metal_machine_key_set.py +1 -1
  119. pulumi_azure_native/networkcloud/v20230701/bmc_key_set.py +1 -1
  120. pulumi_azure_native/networkcloud/v20230701/cloud_services_network.py +1 -1
  121. pulumi_azure_native/networkcloud/v20230701/cluster.py +1 -1
  122. pulumi_azure_native/networkcloud/v20230701/cluster_manager.py +1 -1
  123. pulumi_azure_native/networkcloud/v20230701/console.py +1 -1
  124. pulumi_azure_native/networkcloud/v20230701/kubernetes_cluster.py +1 -1
  125. pulumi_azure_native/networkcloud/v20230701/l2_network.py +1 -1
  126. pulumi_azure_native/networkcloud/v20230701/l3_network.py +1 -1
  127. pulumi_azure_native/networkcloud/v20230701/metrics_configuration.py +1 -1
  128. pulumi_azure_native/networkcloud/v20230701/rack.py +1 -1
  129. pulumi_azure_native/networkcloud/v20230701/storage_appliance.py +1 -1
  130. pulumi_azure_native/networkcloud/v20230701/trunked_network.py +1 -1
  131. pulumi_azure_native/networkcloud/v20230701/virtual_machine.py +1 -1
  132. pulumi_azure_native/networkcloud/v20230701/volume.py +1 -1
  133. pulumi_azure_native/networkcloud/v20231001preview/agent_pool.py +1 -1
  134. pulumi_azure_native/networkcloud/v20231001preview/bare_metal_machine.py +1 -1
  135. pulumi_azure_native/networkcloud/v20231001preview/bare_metal_machine_key_set.py +1 -1
  136. pulumi_azure_native/networkcloud/v20231001preview/bmc_key_set.py +1 -1
  137. pulumi_azure_native/networkcloud/v20231001preview/cloud_services_network.py +1 -1
  138. pulumi_azure_native/networkcloud/v20231001preview/cluster.py +1 -1
  139. pulumi_azure_native/networkcloud/v20231001preview/cluster_manager.py +1 -1
  140. pulumi_azure_native/networkcloud/v20231001preview/console.py +1 -1
  141. pulumi_azure_native/networkcloud/v20231001preview/kubernetes_cluster.py +1 -1
  142. pulumi_azure_native/networkcloud/v20231001preview/l2_network.py +1 -1
  143. pulumi_azure_native/networkcloud/v20231001preview/l3_network.py +1 -1
  144. pulumi_azure_native/networkcloud/v20231001preview/metrics_configuration.py +1 -1
  145. pulumi_azure_native/networkcloud/v20231001preview/rack.py +1 -1
  146. pulumi_azure_native/networkcloud/v20231001preview/storage_appliance.py +1 -1
  147. pulumi_azure_native/networkcloud/v20231001preview/trunked_network.py +1 -1
  148. pulumi_azure_native/networkcloud/v20231001preview/virtual_machine.py +1 -1
  149. pulumi_azure_native/networkcloud/v20231001preview/volume.py +1 -1
  150. pulumi_azure_native/networkcloud/v20240601preview/__init__.py +46 -0
  151. pulumi_azure_native/networkcloud/v20240601preview/_enums.py +327 -0
  152. pulumi_azure_native/networkcloud/v20240601preview/_inputs.py +3436 -0
  153. pulumi_azure_native/networkcloud/v20240601preview/agent_pool.py +610 -0
  154. pulumi_azure_native/networkcloud/v20240601preview/bare_metal_machine.py +795 -0
  155. pulumi_azure_native/networkcloud/v20240601preview/bare_metal_machine_key_set.py +507 -0
  156. pulumi_azure_native/networkcloud/v20240601preview/bmc_key_set.py +448 -0
  157. pulumi_azure_native/networkcloud/v20240601preview/cloud_services_network.py +417 -0
  158. pulumi_azure_native/networkcloud/v20240601preview/cluster.py +830 -0
  159. pulumi_azure_native/networkcloud/v20240601preview/cluster_manager.py +452 -0
  160. pulumi_azure_native/networkcloud/v20240601preview/console.py +417 -0
  161. pulumi_azure_native/networkcloud/v20240601preview/get_agent_pool.py +346 -0
  162. pulumi_azure_native/networkcloud/v20240601preview/get_bare_metal_machine.py +575 -0
  163. pulumi_azure_native/networkcloud/v20240601preview/get_bare_metal_machine_key_set.py +307 -0
  164. pulumi_azure_native/networkcloud/v20240601preview/get_bmc_key_set.py +281 -0
  165. pulumi_azure_native/networkcloud/v20240601preview/get_cloud_services_network.py +308 -0
  166. pulumi_azure_native/networkcloud/v20240601preview/get_cluster.py +524 -0
  167. pulumi_azure_native/networkcloud/v20240601preview/get_cluster_manager.py +289 -0
  168. pulumi_azure_native/networkcloud/v20240601preview/get_console.py +268 -0
  169. pulumi_azure_native/networkcloud/v20240601preview/get_kubernetes_cluster.py +380 -0
  170. pulumi_azure_native/networkcloud/v20240601preview/get_kubernetes_cluster_feature.py +242 -0
  171. pulumi_azure_native/networkcloud/v20240601preview/get_l2_network.py +289 -0
  172. pulumi_azure_native/networkcloud/v20240601preview/get_l3_network.py +356 -0
  173. pulumi_azure_native/networkcloud/v20240601preview/get_metrics_configuration.py +242 -0
  174. pulumi_azure_native/networkcloud/v20240601preview/get_rack.py +263 -0
  175. pulumi_azure_native/networkcloud/v20240601preview/get_storage_appliance.py +393 -0
  176. pulumi_azure_native/networkcloud/v20240601preview/get_trunked_network.py +302 -0
  177. pulumi_azure_native/networkcloud/v20240601preview/get_virtual_machine.py +471 -0
  178. pulumi_azure_native/networkcloud/v20240601preview/get_volume.py +237 -0
  179. pulumi_azure_native/networkcloud/v20240601preview/kubernetes_cluster.py +564 -0
  180. pulumi_azure_native/networkcloud/v20240601preview/kubernetes_cluster_feature.py +336 -0
  181. pulumi_azure_native/networkcloud/v20240601preview/l2_network.py +419 -0
  182. pulumi_azure_native/networkcloud/v20240601preview/l3_network.py +581 -0
  183. pulumi_azure_native/networkcloud/v20240601preview/metrics_configuration.py +376 -0
  184. pulumi_azure_native/networkcloud/v20240601preview/outputs.py +4231 -0
  185. pulumi_azure_native/networkcloud/v20240601preview/rack.py +416 -0
  186. pulumi_azure_native/networkcloud/v20240601preview/storage_appliance.py +536 -0
  187. pulumi_azure_native/networkcloud/v20240601preview/trunked_network.py +449 -0
  188. pulumi_azure_native/networkcloud/v20240601preview/virtual_machine.py +823 -0
  189. pulumi_azure_native/networkcloud/v20240601preview/volume.py +336 -0
  190. pulumi_azure_native/networkcloud/virtual_machine.py +3 -3
  191. pulumi_azure_native/networkcloud/volume.py +3 -3
  192. pulumi_azure_native/pulumi-plugin.json +1 -1
  193. pulumi_azure_native/security/__init__.py +0 -2
  194. pulumi_azure_native/security/_inputs.py +0 -536
  195. pulumi_azure_native/security/outputs.py +0 -465
  196. pulumi_azure_native/security/v20200101/__init__.py +0 -2
  197. pulumi_azure_native/security/v20200101/_inputs.py +0 -536
  198. pulumi_azure_native/security/v20200101/outputs.py +0 -465
  199. pulumi_azure_native/workloads/__init__.py +3 -0
  200. pulumi_azure_native/workloads/sap_application_server_instance.py +1 -1
  201. pulumi_azure_native/workloads/sap_central_instance.py +1 -1
  202. pulumi_azure_native/workloads/sap_database_instance.py +1 -1
  203. pulumi_azure_native/workloads/sap_virtual_instance.py +1 -1
  204. pulumi_azure_native/workloads/v20211201preview/sap_application_server_instance.py +1 -1
  205. pulumi_azure_native/workloads/v20230401/sap_application_server_instance.py +1 -1
  206. pulumi_azure_native/workloads/v20230401/sap_central_instance.py +1 -1
  207. pulumi_azure_native/workloads/v20230401/sap_database_instance.py +1 -1
  208. pulumi_azure_native/workloads/v20230401/sap_virtual_instance.py +1 -1
  209. pulumi_azure_native/workloads/v20231001preview/sap_application_server_instance.py +1 -1
  210. pulumi_azure_native/workloads/v20231001preview/sap_central_instance.py +1 -1
  211. pulumi_azure_native/workloads/v20231001preview/sap_database_instance.py +1 -1
  212. pulumi_azure_native/workloads/v20231001preview/sap_virtual_instance.py +1 -1
  213. pulumi_azure_native/workloads/v20240901/__init__.py +22 -0
  214. pulumi_azure_native/workloads/v20240901/_enums.py +242 -0
  215. pulumi_azure_native/workloads/v20240901/_inputs.py +3277 -0
  216. pulumi_azure_native/workloads/v20240901/get_sap_application_server_instance.py +362 -0
  217. pulumi_azure_native/workloads/v20240901/get_sap_central_server_instance.py +336 -0
  218. pulumi_azure_native/workloads/v20240901/get_sap_database_instance.py +271 -0
  219. pulumi_azure_native/workloads/v20240901/get_sap_virtual_instance.py +292 -0
  220. pulumi_azure_native/workloads/v20240901/get_sap_virtual_instance_availability_zone_details.py +95 -0
  221. pulumi_azure_native/workloads/v20240901/get_sap_virtual_instance_disk_configurations.py +110 -0
  222. pulumi_azure_native/workloads/v20240901/get_sap_virtual_instance_sap_supported_sku.py +110 -0
  223. pulumi_azure_native/workloads/v20240901/get_sap_virtual_instance_sizing_recommendations.py +124 -0
  224. pulumi_azure_native/workloads/v20240901/outputs.py +3879 -0
  225. pulumi_azure_native/workloads/v20240901/sap_application_server_instance.py +408 -0
  226. pulumi_azure_native/workloads/v20240901/sap_central_server_instance.py +388 -0
  227. pulumi_azure_native/workloads/v20240901/sap_database_instance.py +338 -0
  228. pulumi_azure_native/workloads/v20240901/sap_virtual_instance.py +456 -0
  229. {pulumi_azure_native-2.58.0a1724403460.dist-info → pulumi_azure_native-2.59.0a1724845184.dist-info}/METADATA +1 -1
  230. {pulumi_azure_native-2.58.0a1724403460.dist-info → pulumi_azure_native-2.59.0a1724845184.dist-info}/RECORD +232 -149
  231. {pulumi_azure_native-2.58.0a1724403460.dist-info → pulumi_azure_native-2.59.0a1724845184.dist-info}/WHEEL +1 -1
  232. pulumi_azure_native/security/adaptive_application_control.py +0 -311
  233. pulumi_azure_native/security/get_adaptive_application_control.py +0 -221
  234. pulumi_azure_native/security/v20200101/adaptive_application_control.py +0 -305
  235. pulumi_azure_native/security/v20200101/get_adaptive_application_control.py +0 -215
  236. {pulumi_azure_native-2.58.0a1724403460.dist-info → pulumi_azure_native-2.59.0a1724845184.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,3879 @@
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
+ from ._enums import *
18
+
19
+ __all__ = [
20
+ 'ApplicationServerConfigurationResponse',
21
+ 'ApplicationServerFullResourceNamesResponse',
22
+ 'ApplicationServerVmDetailsResponse',
23
+ 'CentralServerConfigurationResponse',
24
+ 'CentralServerFullResourceNamesResponse',
25
+ 'CentralServerVmDetailsResponse',
26
+ 'CreateAndMountFileShareConfigurationResponse',
27
+ 'DatabaseConfigurationResponse',
28
+ 'DatabaseServerFullResourceNamesResponse',
29
+ 'DatabaseVmDetailsResponse',
30
+ 'DeployerVmPackagesResponse',
31
+ 'DeploymentConfigurationResponse',
32
+ 'DeploymentWithOSConfigurationResponse',
33
+ 'DiscoveryConfigurationResponse',
34
+ 'DiskConfigurationResponse',
35
+ 'DiskDetailsResponse',
36
+ 'DiskSkuResponse',
37
+ 'DiskVolumeConfigurationResponse',
38
+ 'EnqueueReplicationServerPropertiesResponse',
39
+ 'EnqueueServerPropertiesResponse',
40
+ 'ErrorDefinitionResponse',
41
+ 'ExternalInstallationSoftwareConfigurationResponse',
42
+ 'GatewayServerPropertiesResponse',
43
+ 'HighAvailabilityConfigurationResponse',
44
+ 'HighAvailabilitySoftwareConfigurationResponse',
45
+ 'ImageReferenceResponse',
46
+ 'LinuxConfigurationResponse',
47
+ 'LoadBalancerDetailsResponse',
48
+ 'LoadBalancerResourceNamesResponse',
49
+ 'ManagedRGConfigurationResponse',
50
+ 'ManagedServiceIdentityResponse',
51
+ 'MessageServerPropertiesResponse',
52
+ 'MountFileShareConfigurationResponse',
53
+ 'NetworkConfigurationResponse',
54
+ 'NetworkInterfaceResourceNamesResponse',
55
+ 'OSProfileResponse',
56
+ 'OsSapConfigurationResponse',
57
+ 'SAPAvailabilityZonePairResponse',
58
+ 'SAPDiskConfigurationResponse',
59
+ 'SAPInstallWithoutOSConfigSoftwareConfigurationResponse',
60
+ 'SAPSupportedSkuResponse',
61
+ 'SAPVirtualInstanceErrorResponse',
62
+ 'ServiceInitiatedSoftwareConfigurationResponse',
63
+ 'SharedStorageResourceNamesResponse',
64
+ 'SingleServerConfigurationResponse',
65
+ 'SingleServerFullResourceNamesResponse',
66
+ 'SkipFileShareConfigurationResponse',
67
+ 'SshConfigurationResponse',
68
+ 'SshKeyPairResponse',
69
+ 'SshPublicKeyResponse',
70
+ 'StorageConfigurationResponse',
71
+ 'StorageInformationResponse',
72
+ 'SystemDataResponse',
73
+ 'ThreeTierConfigurationResponse',
74
+ 'ThreeTierFullResourceNamesResponse',
75
+ 'UserAssignedIdentityResponse',
76
+ 'VirtualMachineConfigurationResponse',
77
+ 'VirtualMachineResourceNamesResponse',
78
+ 'WindowsConfigurationResponse',
79
+ ]
80
+
81
+ @pulumi.output_type
82
+ class ApplicationServerConfigurationResponse(dict):
83
+ """
84
+ Gets or sets the application server configuration.
85
+ """
86
+ @staticmethod
87
+ def __key_warning(key: str):
88
+ suggest = None
89
+ if key == "instanceCount":
90
+ suggest = "instance_count"
91
+ elif key == "subnetId":
92
+ suggest = "subnet_id"
93
+ elif key == "virtualMachineConfiguration":
94
+ suggest = "virtual_machine_configuration"
95
+
96
+ if suggest:
97
+ pulumi.log.warn(f"Key '{key}' not found in ApplicationServerConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
98
+
99
+ def __getitem__(self, key: str) -> Any:
100
+ ApplicationServerConfigurationResponse.__key_warning(key)
101
+ return super().__getitem__(key)
102
+
103
+ def get(self, key: str, default = None) -> Any:
104
+ ApplicationServerConfigurationResponse.__key_warning(key)
105
+ return super().get(key, default)
106
+
107
+ def __init__(__self__, *,
108
+ instance_count: float,
109
+ subnet_id: str,
110
+ virtual_machine_configuration: 'outputs.VirtualMachineConfigurationResponse'):
111
+ """
112
+ Gets or sets the application server configuration.
113
+ :param float instance_count: The number of app server instances.
114
+ :param str subnet_id: The subnet id.
115
+ :param 'VirtualMachineConfigurationResponse' virtual_machine_configuration: Gets or sets the virtual machine configuration.
116
+ """
117
+ pulumi.set(__self__, "instance_count", instance_count)
118
+ pulumi.set(__self__, "subnet_id", subnet_id)
119
+ pulumi.set(__self__, "virtual_machine_configuration", virtual_machine_configuration)
120
+
121
+ @property
122
+ @pulumi.getter(name="instanceCount")
123
+ def instance_count(self) -> float:
124
+ """
125
+ The number of app server instances.
126
+ """
127
+ return pulumi.get(self, "instance_count")
128
+
129
+ @property
130
+ @pulumi.getter(name="subnetId")
131
+ def subnet_id(self) -> str:
132
+ """
133
+ The subnet id.
134
+ """
135
+ return pulumi.get(self, "subnet_id")
136
+
137
+ @property
138
+ @pulumi.getter(name="virtualMachineConfiguration")
139
+ def virtual_machine_configuration(self) -> 'outputs.VirtualMachineConfigurationResponse':
140
+ """
141
+ Gets or sets the virtual machine configuration.
142
+ """
143
+ return pulumi.get(self, "virtual_machine_configuration")
144
+
145
+
146
+ @pulumi.output_type
147
+ class ApplicationServerFullResourceNamesResponse(dict):
148
+ """
149
+ The full resource names object for application layer resources. The number of entries in this list should be equal to the number VMs to be created for application layer.
150
+ """
151
+ @staticmethod
152
+ def __key_warning(key: str):
153
+ suggest = None
154
+ if key == "availabilitySetName":
155
+ suggest = "availability_set_name"
156
+ elif key == "virtualMachines":
157
+ suggest = "virtual_machines"
158
+
159
+ if suggest:
160
+ pulumi.log.warn(f"Key '{key}' not found in ApplicationServerFullResourceNamesResponse. Access the value via the '{suggest}' property getter instead.")
161
+
162
+ def __getitem__(self, key: str) -> Any:
163
+ ApplicationServerFullResourceNamesResponse.__key_warning(key)
164
+ return super().__getitem__(key)
165
+
166
+ def get(self, key: str, default = None) -> Any:
167
+ ApplicationServerFullResourceNamesResponse.__key_warning(key)
168
+ return super().get(key, default)
169
+
170
+ def __init__(__self__, *,
171
+ availability_set_name: Optional[str] = None,
172
+ virtual_machines: Optional[Sequence['outputs.VirtualMachineResourceNamesResponse']] = None):
173
+ """
174
+ The full resource names object for application layer resources. The number of entries in this list should be equal to the number VMs to be created for application layer.
175
+ :param str availability_set_name: The full name for availability set. In case name is not provided, it will be defaulted to {SID}-App-AvSet.
176
+ :param Sequence['VirtualMachineResourceNamesResponse'] virtual_machines: The list of virtual machine naming details.
177
+ """
178
+ if availability_set_name is not None:
179
+ pulumi.set(__self__, "availability_set_name", availability_set_name)
180
+ if virtual_machines is not None:
181
+ pulumi.set(__self__, "virtual_machines", virtual_machines)
182
+
183
+ @property
184
+ @pulumi.getter(name="availabilitySetName")
185
+ def availability_set_name(self) -> Optional[str]:
186
+ """
187
+ The full name for availability set. In case name is not provided, it will be defaulted to {SID}-App-AvSet.
188
+ """
189
+ return pulumi.get(self, "availability_set_name")
190
+
191
+ @property
192
+ @pulumi.getter(name="virtualMachines")
193
+ def virtual_machines(self) -> Optional[Sequence['outputs.VirtualMachineResourceNamesResponse']]:
194
+ """
195
+ The list of virtual machine naming details.
196
+ """
197
+ return pulumi.get(self, "virtual_machines")
198
+
199
+
200
+ @pulumi.output_type
201
+ class ApplicationServerVmDetailsResponse(dict):
202
+ """
203
+ The Application Server VM Details.
204
+ """
205
+ @staticmethod
206
+ def __key_warning(key: str):
207
+ suggest = None
208
+ if key == "storageDetails":
209
+ suggest = "storage_details"
210
+ elif key == "virtualMachineId":
211
+ suggest = "virtual_machine_id"
212
+
213
+ if suggest:
214
+ pulumi.log.warn(f"Key '{key}' not found in ApplicationServerVmDetailsResponse. Access the value via the '{suggest}' property getter instead.")
215
+
216
+ def __getitem__(self, key: str) -> Any:
217
+ ApplicationServerVmDetailsResponse.__key_warning(key)
218
+ return super().__getitem__(key)
219
+
220
+ def get(self, key: str, default = None) -> Any:
221
+ ApplicationServerVmDetailsResponse.__key_warning(key)
222
+ return super().get(key, default)
223
+
224
+ def __init__(__self__, *,
225
+ storage_details: Sequence['outputs.StorageInformationResponse'],
226
+ type: str,
227
+ virtual_machine_id: str):
228
+ """
229
+ The Application Server VM Details.
230
+ :param Sequence['StorageInformationResponse'] storage_details: Storage details of all the Storage Accounts attached to the App Virtual Machine. For e.g. NFS on AFS Shared Storage.
231
+ :param str type: Defines the type of application server VM.
232
+ :param str virtual_machine_id: The virtual machine id.
233
+ """
234
+ pulumi.set(__self__, "storage_details", storage_details)
235
+ pulumi.set(__self__, "type", type)
236
+ pulumi.set(__self__, "virtual_machine_id", virtual_machine_id)
237
+
238
+ @property
239
+ @pulumi.getter(name="storageDetails")
240
+ def storage_details(self) -> Sequence['outputs.StorageInformationResponse']:
241
+ """
242
+ Storage details of all the Storage Accounts attached to the App Virtual Machine. For e.g. NFS on AFS Shared Storage.
243
+ """
244
+ return pulumi.get(self, "storage_details")
245
+
246
+ @property
247
+ @pulumi.getter
248
+ def type(self) -> str:
249
+ """
250
+ Defines the type of application server VM.
251
+ """
252
+ return pulumi.get(self, "type")
253
+
254
+ @property
255
+ @pulumi.getter(name="virtualMachineId")
256
+ def virtual_machine_id(self) -> str:
257
+ """
258
+ The virtual machine id.
259
+ """
260
+ return pulumi.get(self, "virtual_machine_id")
261
+
262
+
263
+ @pulumi.output_type
264
+ class CentralServerConfigurationResponse(dict):
265
+ """
266
+ Gets or sets the central server configuration.
267
+ """
268
+ @staticmethod
269
+ def __key_warning(key: str):
270
+ suggest = None
271
+ if key == "instanceCount":
272
+ suggest = "instance_count"
273
+ elif key == "subnetId":
274
+ suggest = "subnet_id"
275
+ elif key == "virtualMachineConfiguration":
276
+ suggest = "virtual_machine_configuration"
277
+
278
+ if suggest:
279
+ pulumi.log.warn(f"Key '{key}' not found in CentralServerConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
280
+
281
+ def __getitem__(self, key: str) -> Any:
282
+ CentralServerConfigurationResponse.__key_warning(key)
283
+ return super().__getitem__(key)
284
+
285
+ def get(self, key: str, default = None) -> Any:
286
+ CentralServerConfigurationResponse.__key_warning(key)
287
+ return super().get(key, default)
288
+
289
+ def __init__(__self__, *,
290
+ instance_count: float,
291
+ subnet_id: str,
292
+ virtual_machine_configuration: 'outputs.VirtualMachineConfigurationResponse'):
293
+ """
294
+ Gets or sets the central server configuration.
295
+ :param float instance_count: The number of central server VMs.
296
+ :param str subnet_id: The subnet id.
297
+ :param 'VirtualMachineConfigurationResponse' virtual_machine_configuration: Gets or sets the virtual machine configuration.
298
+ """
299
+ pulumi.set(__self__, "instance_count", instance_count)
300
+ pulumi.set(__self__, "subnet_id", subnet_id)
301
+ pulumi.set(__self__, "virtual_machine_configuration", virtual_machine_configuration)
302
+
303
+ @property
304
+ @pulumi.getter(name="instanceCount")
305
+ def instance_count(self) -> float:
306
+ """
307
+ The number of central server VMs.
308
+ """
309
+ return pulumi.get(self, "instance_count")
310
+
311
+ @property
312
+ @pulumi.getter(name="subnetId")
313
+ def subnet_id(self) -> str:
314
+ """
315
+ The subnet id.
316
+ """
317
+ return pulumi.get(self, "subnet_id")
318
+
319
+ @property
320
+ @pulumi.getter(name="virtualMachineConfiguration")
321
+ def virtual_machine_configuration(self) -> 'outputs.VirtualMachineConfigurationResponse':
322
+ """
323
+ Gets or sets the virtual machine configuration.
324
+ """
325
+ return pulumi.get(self, "virtual_machine_configuration")
326
+
327
+
328
+ @pulumi.output_type
329
+ class CentralServerFullResourceNamesResponse(dict):
330
+ """
331
+ The full resource names object for central server layer resources.
332
+ """
333
+ @staticmethod
334
+ def __key_warning(key: str):
335
+ suggest = None
336
+ if key == "availabilitySetName":
337
+ suggest = "availability_set_name"
338
+ elif key == "loadBalancer":
339
+ suggest = "load_balancer"
340
+ elif key == "virtualMachines":
341
+ suggest = "virtual_machines"
342
+
343
+ if suggest:
344
+ pulumi.log.warn(f"Key '{key}' not found in CentralServerFullResourceNamesResponse. Access the value via the '{suggest}' property getter instead.")
345
+
346
+ def __getitem__(self, key: str) -> Any:
347
+ CentralServerFullResourceNamesResponse.__key_warning(key)
348
+ return super().__getitem__(key)
349
+
350
+ def get(self, key: str, default = None) -> Any:
351
+ CentralServerFullResourceNamesResponse.__key_warning(key)
352
+ return super().get(key, default)
353
+
354
+ def __init__(__self__, *,
355
+ availability_set_name: Optional[str] = None,
356
+ load_balancer: Optional['outputs.LoadBalancerResourceNamesResponse'] = None,
357
+ virtual_machines: Optional[Sequence['outputs.VirtualMachineResourceNamesResponse']] = None):
358
+ """
359
+ The full resource names object for central server layer resources.
360
+ :param str availability_set_name: The full name for availability set. In case name is not provided, it will be defaulted to {SID}-ASCS-AvSet.
361
+ :param 'LoadBalancerResourceNamesResponse' load_balancer: The resource names object for load balancer and related resources.
362
+ :param Sequence['VirtualMachineResourceNamesResponse'] virtual_machines: The list of names for all ASCS virtual machines to be deployed. The number of entries in this list should be equal to the number VMs to be created for ASCS layer. At maximum, there can be two virtual machines at this layer: ASCS and ERS.
363
+ """
364
+ if availability_set_name is not None:
365
+ pulumi.set(__self__, "availability_set_name", availability_set_name)
366
+ if load_balancer is not None:
367
+ pulumi.set(__self__, "load_balancer", load_balancer)
368
+ if virtual_machines is not None:
369
+ pulumi.set(__self__, "virtual_machines", virtual_machines)
370
+
371
+ @property
372
+ @pulumi.getter(name="availabilitySetName")
373
+ def availability_set_name(self) -> Optional[str]:
374
+ """
375
+ The full name for availability set. In case name is not provided, it will be defaulted to {SID}-ASCS-AvSet.
376
+ """
377
+ return pulumi.get(self, "availability_set_name")
378
+
379
+ @property
380
+ @pulumi.getter(name="loadBalancer")
381
+ def load_balancer(self) -> Optional['outputs.LoadBalancerResourceNamesResponse']:
382
+ """
383
+ The resource names object for load balancer and related resources.
384
+ """
385
+ return pulumi.get(self, "load_balancer")
386
+
387
+ @property
388
+ @pulumi.getter(name="virtualMachines")
389
+ def virtual_machines(self) -> Optional[Sequence['outputs.VirtualMachineResourceNamesResponse']]:
390
+ """
391
+ The list of names for all ASCS virtual machines to be deployed. The number of entries in this list should be equal to the number VMs to be created for ASCS layer. At maximum, there can be two virtual machines at this layer: ASCS and ERS.
392
+ """
393
+ return pulumi.get(self, "virtual_machines")
394
+
395
+
396
+ @pulumi.output_type
397
+ class CentralServerVmDetailsResponse(dict):
398
+ """
399
+ The SAP Central Services Instance VM details.
400
+ """
401
+ @staticmethod
402
+ def __key_warning(key: str):
403
+ suggest = None
404
+ if key == "storageDetails":
405
+ suggest = "storage_details"
406
+ elif key == "virtualMachineId":
407
+ suggest = "virtual_machine_id"
408
+
409
+ if suggest:
410
+ pulumi.log.warn(f"Key '{key}' not found in CentralServerVmDetailsResponse. Access the value via the '{suggest}' property getter instead.")
411
+
412
+ def __getitem__(self, key: str) -> Any:
413
+ CentralServerVmDetailsResponse.__key_warning(key)
414
+ return super().__getitem__(key)
415
+
416
+ def get(self, key: str, default = None) -> Any:
417
+ CentralServerVmDetailsResponse.__key_warning(key)
418
+ return super().get(key, default)
419
+
420
+ def __init__(__self__, *,
421
+ storage_details: Sequence['outputs.StorageInformationResponse'],
422
+ type: str,
423
+ virtual_machine_id: str):
424
+ """
425
+ The SAP Central Services Instance VM details.
426
+ :param Sequence['StorageInformationResponse'] storage_details: Storage details of all the Storage Accounts attached to the ASCS Virtual Machine. For e.g. NFS on AFS Shared Storage.
427
+ :param str type: Defines the type of central server VM.
428
+ :param str virtual_machine_id: The virtual machine id.
429
+ """
430
+ pulumi.set(__self__, "storage_details", storage_details)
431
+ pulumi.set(__self__, "type", type)
432
+ pulumi.set(__self__, "virtual_machine_id", virtual_machine_id)
433
+
434
+ @property
435
+ @pulumi.getter(name="storageDetails")
436
+ def storage_details(self) -> Sequence['outputs.StorageInformationResponse']:
437
+ """
438
+ Storage details of all the Storage Accounts attached to the ASCS Virtual Machine. For e.g. NFS on AFS Shared Storage.
439
+ """
440
+ return pulumi.get(self, "storage_details")
441
+
442
+ @property
443
+ @pulumi.getter
444
+ def type(self) -> str:
445
+ """
446
+ Defines the type of central server VM.
447
+ """
448
+ return pulumi.get(self, "type")
449
+
450
+ @property
451
+ @pulumi.getter(name="virtualMachineId")
452
+ def virtual_machine_id(self) -> str:
453
+ """
454
+ The virtual machine id.
455
+ """
456
+ return pulumi.get(self, "virtual_machine_id")
457
+
458
+
459
+ @pulumi.output_type
460
+ class CreateAndMountFileShareConfigurationResponse(dict):
461
+ """
462
+ Gets or sets the file share configuration where the transport directory fileshare is created and mounted as a part of the create infra flow. Please pre-create the resource group you intend to place the transport directory in. The storage account and fileshare will be auto-created by the ACSS and doesn't need to be pre-created.
463
+ """
464
+ @staticmethod
465
+ def __key_warning(key: str):
466
+ suggest = None
467
+ if key == "configurationType":
468
+ suggest = "configuration_type"
469
+ elif key == "resourceGroup":
470
+ suggest = "resource_group"
471
+ elif key == "storageAccountName":
472
+ suggest = "storage_account_name"
473
+
474
+ if suggest:
475
+ pulumi.log.warn(f"Key '{key}' not found in CreateAndMountFileShareConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
476
+
477
+ def __getitem__(self, key: str) -> Any:
478
+ CreateAndMountFileShareConfigurationResponse.__key_warning(key)
479
+ return super().__getitem__(key)
480
+
481
+ def get(self, key: str, default = None) -> Any:
482
+ CreateAndMountFileShareConfigurationResponse.__key_warning(key)
483
+ return super().get(key, default)
484
+
485
+ def __init__(__self__, *,
486
+ configuration_type: str,
487
+ resource_group: Optional[str] = None,
488
+ storage_account_name: Optional[str] = None):
489
+ """
490
+ Gets or sets the file share configuration where the transport directory fileshare is created and mounted as a part of the create infra flow. Please pre-create the resource group you intend to place the transport directory in. The storage account and fileshare will be auto-created by the ACSS and doesn't need to be pre-created.
491
+ :param str configuration_type: The type of file share config.
492
+ Expected value is 'CreateAndMount'.
493
+ :param str resource_group: The name of transport file share resource group. This should be pre created by the customer. The app rg is used in case of missing input.
494
+ :param str storage_account_name: The name of file share storage account name . A custom name is used in case of missing input.
495
+ """
496
+ pulumi.set(__self__, "configuration_type", 'CreateAndMount')
497
+ if resource_group is not None:
498
+ pulumi.set(__self__, "resource_group", resource_group)
499
+ if storage_account_name is not None:
500
+ pulumi.set(__self__, "storage_account_name", storage_account_name)
501
+
502
+ @property
503
+ @pulumi.getter(name="configurationType")
504
+ def configuration_type(self) -> str:
505
+ """
506
+ The type of file share config.
507
+ Expected value is 'CreateAndMount'.
508
+ """
509
+ return pulumi.get(self, "configuration_type")
510
+
511
+ @property
512
+ @pulumi.getter(name="resourceGroup")
513
+ def resource_group(self) -> Optional[str]:
514
+ """
515
+ The name of transport file share resource group. This should be pre created by the customer. The app rg is used in case of missing input.
516
+ """
517
+ return pulumi.get(self, "resource_group")
518
+
519
+ @property
520
+ @pulumi.getter(name="storageAccountName")
521
+ def storage_account_name(self) -> Optional[str]:
522
+ """
523
+ The name of file share storage account name . A custom name is used in case of missing input.
524
+ """
525
+ return pulumi.get(self, "storage_account_name")
526
+
527
+
528
+ @pulumi.output_type
529
+ class DatabaseConfigurationResponse(dict):
530
+ """
531
+ Gets or sets the database configuration.
532
+ """
533
+ @staticmethod
534
+ def __key_warning(key: str):
535
+ suggest = None
536
+ if key == "instanceCount":
537
+ suggest = "instance_count"
538
+ elif key == "subnetId":
539
+ suggest = "subnet_id"
540
+ elif key == "virtualMachineConfiguration":
541
+ suggest = "virtual_machine_configuration"
542
+ elif key == "databaseType":
543
+ suggest = "database_type"
544
+ elif key == "diskConfiguration":
545
+ suggest = "disk_configuration"
546
+
547
+ if suggest:
548
+ pulumi.log.warn(f"Key '{key}' not found in DatabaseConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
549
+
550
+ def __getitem__(self, key: str) -> Any:
551
+ DatabaseConfigurationResponse.__key_warning(key)
552
+ return super().__getitem__(key)
553
+
554
+ def get(self, key: str, default = None) -> Any:
555
+ DatabaseConfigurationResponse.__key_warning(key)
556
+ return super().get(key, default)
557
+
558
+ def __init__(__self__, *,
559
+ instance_count: float,
560
+ subnet_id: str,
561
+ virtual_machine_configuration: 'outputs.VirtualMachineConfigurationResponse',
562
+ database_type: Optional[str] = None,
563
+ disk_configuration: Optional['outputs.DiskConfigurationResponse'] = None):
564
+ """
565
+ Gets or sets the database configuration.
566
+ :param float instance_count: The number of database VMs.
567
+ :param str subnet_id: The subnet id.
568
+ :param 'VirtualMachineConfigurationResponse' virtual_machine_configuration: Gets or sets the virtual machine configuration.
569
+ :param str database_type: The database type.
570
+ :param 'DiskConfigurationResponse' disk_configuration: Gets or sets the disk configuration.
571
+ """
572
+ pulumi.set(__self__, "instance_count", instance_count)
573
+ pulumi.set(__self__, "subnet_id", subnet_id)
574
+ pulumi.set(__self__, "virtual_machine_configuration", virtual_machine_configuration)
575
+ if database_type is not None:
576
+ pulumi.set(__self__, "database_type", database_type)
577
+ if disk_configuration is not None:
578
+ pulumi.set(__self__, "disk_configuration", disk_configuration)
579
+
580
+ @property
581
+ @pulumi.getter(name="instanceCount")
582
+ def instance_count(self) -> float:
583
+ """
584
+ The number of database VMs.
585
+ """
586
+ return pulumi.get(self, "instance_count")
587
+
588
+ @property
589
+ @pulumi.getter(name="subnetId")
590
+ def subnet_id(self) -> str:
591
+ """
592
+ The subnet id.
593
+ """
594
+ return pulumi.get(self, "subnet_id")
595
+
596
+ @property
597
+ @pulumi.getter(name="virtualMachineConfiguration")
598
+ def virtual_machine_configuration(self) -> 'outputs.VirtualMachineConfigurationResponse':
599
+ """
600
+ Gets or sets the virtual machine configuration.
601
+ """
602
+ return pulumi.get(self, "virtual_machine_configuration")
603
+
604
+ @property
605
+ @pulumi.getter(name="databaseType")
606
+ def database_type(self) -> Optional[str]:
607
+ """
608
+ The database type.
609
+ """
610
+ return pulumi.get(self, "database_type")
611
+
612
+ @property
613
+ @pulumi.getter(name="diskConfiguration")
614
+ def disk_configuration(self) -> Optional['outputs.DiskConfigurationResponse']:
615
+ """
616
+ Gets or sets the disk configuration.
617
+ """
618
+ return pulumi.get(self, "disk_configuration")
619
+
620
+
621
+ @pulumi.output_type
622
+ class DatabaseServerFullResourceNamesResponse(dict):
623
+ """
624
+ The full resource names object for database layer resources. The number of entries in this list should be equal to the number VMs to be created for database layer.
625
+ """
626
+ @staticmethod
627
+ def __key_warning(key: str):
628
+ suggest = None
629
+ if key == "availabilitySetName":
630
+ suggest = "availability_set_name"
631
+ elif key == "loadBalancer":
632
+ suggest = "load_balancer"
633
+ elif key == "virtualMachines":
634
+ suggest = "virtual_machines"
635
+
636
+ if suggest:
637
+ pulumi.log.warn(f"Key '{key}' not found in DatabaseServerFullResourceNamesResponse. Access the value via the '{suggest}' property getter instead.")
638
+
639
+ def __getitem__(self, key: str) -> Any:
640
+ DatabaseServerFullResourceNamesResponse.__key_warning(key)
641
+ return super().__getitem__(key)
642
+
643
+ def get(self, key: str, default = None) -> Any:
644
+ DatabaseServerFullResourceNamesResponse.__key_warning(key)
645
+ return super().get(key, default)
646
+
647
+ def __init__(__self__, *,
648
+ availability_set_name: Optional[str] = None,
649
+ load_balancer: Optional['outputs.LoadBalancerResourceNamesResponse'] = None,
650
+ virtual_machines: Optional[Sequence['outputs.VirtualMachineResourceNamesResponse']] = None):
651
+ """
652
+ The full resource names object for database layer resources. The number of entries in this list should be equal to the number VMs to be created for database layer.
653
+ :param str availability_set_name: The full name for availability set. In case name is not provided, it will be defaulted to {SID}-DB-AvSet.
654
+ :param 'LoadBalancerResourceNamesResponse' load_balancer: The resource names object for load balancer and related resources.
655
+ :param Sequence['VirtualMachineResourceNamesResponse'] virtual_machines: The list of virtual machine naming details.
656
+ """
657
+ if availability_set_name is not None:
658
+ pulumi.set(__self__, "availability_set_name", availability_set_name)
659
+ if load_balancer is not None:
660
+ pulumi.set(__self__, "load_balancer", load_balancer)
661
+ if virtual_machines is not None:
662
+ pulumi.set(__self__, "virtual_machines", virtual_machines)
663
+
664
+ @property
665
+ @pulumi.getter(name="availabilitySetName")
666
+ def availability_set_name(self) -> Optional[str]:
667
+ """
668
+ The full name for availability set. In case name is not provided, it will be defaulted to {SID}-DB-AvSet.
669
+ """
670
+ return pulumi.get(self, "availability_set_name")
671
+
672
+ @property
673
+ @pulumi.getter(name="loadBalancer")
674
+ def load_balancer(self) -> Optional['outputs.LoadBalancerResourceNamesResponse']:
675
+ """
676
+ The resource names object for load balancer and related resources.
677
+ """
678
+ return pulumi.get(self, "load_balancer")
679
+
680
+ @property
681
+ @pulumi.getter(name="virtualMachines")
682
+ def virtual_machines(self) -> Optional[Sequence['outputs.VirtualMachineResourceNamesResponse']]:
683
+ """
684
+ The list of virtual machine naming details.
685
+ """
686
+ return pulumi.get(self, "virtual_machines")
687
+
688
+
689
+ @pulumi.output_type
690
+ class DatabaseVmDetailsResponse(dict):
691
+ """
692
+ Database VM details.
693
+ """
694
+ @staticmethod
695
+ def __key_warning(key: str):
696
+ suggest = None
697
+ if key == "storageDetails":
698
+ suggest = "storage_details"
699
+ elif key == "virtualMachineId":
700
+ suggest = "virtual_machine_id"
701
+
702
+ if suggest:
703
+ pulumi.log.warn(f"Key '{key}' not found in DatabaseVmDetailsResponse. Access the value via the '{suggest}' property getter instead.")
704
+
705
+ def __getitem__(self, key: str) -> Any:
706
+ DatabaseVmDetailsResponse.__key_warning(key)
707
+ return super().__getitem__(key)
708
+
709
+ def get(self, key: str, default = None) -> Any:
710
+ DatabaseVmDetailsResponse.__key_warning(key)
711
+ return super().get(key, default)
712
+
713
+ def __init__(__self__, *,
714
+ status: str,
715
+ storage_details: Sequence['outputs.StorageInformationResponse'],
716
+ virtual_machine_id: str):
717
+ """
718
+ Database VM details.
719
+ :param str status: Defines the SAP Instance status.
720
+ :param Sequence['StorageInformationResponse'] storage_details: Storage details of all the Storage Accounts attached to the Database Virtual Machine. For e.g. NFS on AFS Shared Storage.
721
+ :param str virtual_machine_id: The virtual machine id.
722
+ """
723
+ pulumi.set(__self__, "status", status)
724
+ pulumi.set(__self__, "storage_details", storage_details)
725
+ pulumi.set(__self__, "virtual_machine_id", virtual_machine_id)
726
+
727
+ @property
728
+ @pulumi.getter
729
+ def status(self) -> str:
730
+ """
731
+ Defines the SAP Instance status.
732
+ """
733
+ return pulumi.get(self, "status")
734
+
735
+ @property
736
+ @pulumi.getter(name="storageDetails")
737
+ def storage_details(self) -> Sequence['outputs.StorageInformationResponse']:
738
+ """
739
+ Storage details of all the Storage Accounts attached to the Database Virtual Machine. For e.g. NFS on AFS Shared Storage.
740
+ """
741
+ return pulumi.get(self, "storage_details")
742
+
743
+ @property
744
+ @pulumi.getter(name="virtualMachineId")
745
+ def virtual_machine_id(self) -> str:
746
+ """
747
+ The virtual machine id.
748
+ """
749
+ return pulumi.get(self, "virtual_machine_id")
750
+
751
+
752
+ @pulumi.output_type
753
+ class DeployerVmPackagesResponse(dict):
754
+ """
755
+ Defines the url and storage account ID where deployer VM packages are uploaded
756
+ """
757
+ @staticmethod
758
+ def __key_warning(key: str):
759
+ suggest = None
760
+ if key == "storageAccountId":
761
+ suggest = "storage_account_id"
762
+
763
+ if suggest:
764
+ pulumi.log.warn(f"Key '{key}' not found in DeployerVmPackagesResponse. Access the value via the '{suggest}' property getter instead.")
765
+
766
+ def __getitem__(self, key: str) -> Any:
767
+ DeployerVmPackagesResponse.__key_warning(key)
768
+ return super().__getitem__(key)
769
+
770
+ def get(self, key: str, default = None) -> Any:
771
+ DeployerVmPackagesResponse.__key_warning(key)
772
+ return super().get(key, default)
773
+
774
+ def __init__(__self__, *,
775
+ storage_account_id: Optional[str] = None,
776
+ url: Optional[str] = None):
777
+ """
778
+ Defines the url and storage account ID where deployer VM packages are uploaded
779
+ :param str storage_account_id: The deployer VM packages storage account id
780
+ :param str url: The URL to the deployer VM packages file.
781
+ """
782
+ if storage_account_id is not None:
783
+ pulumi.set(__self__, "storage_account_id", storage_account_id)
784
+ if url is not None:
785
+ pulumi.set(__self__, "url", url)
786
+
787
+ @property
788
+ @pulumi.getter(name="storageAccountId")
789
+ def storage_account_id(self) -> Optional[str]:
790
+ """
791
+ The deployer VM packages storage account id
792
+ """
793
+ return pulumi.get(self, "storage_account_id")
794
+
795
+ @property
796
+ @pulumi.getter
797
+ def url(self) -> Optional[str]:
798
+ """
799
+ The URL to the deployer VM packages file.
800
+ """
801
+ return pulumi.get(self, "url")
802
+
803
+
804
+ @pulumi.output_type
805
+ class DeploymentConfigurationResponse(dict):
806
+ """
807
+ Deployment Configuration.
808
+ """
809
+ @staticmethod
810
+ def __key_warning(key: str):
811
+ suggest = None
812
+ if key == "configurationType":
813
+ suggest = "configuration_type"
814
+ elif key == "appLocation":
815
+ suggest = "app_location"
816
+ elif key == "infrastructureConfiguration":
817
+ suggest = "infrastructure_configuration"
818
+ elif key == "softwareConfiguration":
819
+ suggest = "software_configuration"
820
+
821
+ if suggest:
822
+ pulumi.log.warn(f"Key '{key}' not found in DeploymentConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
823
+
824
+ def __getitem__(self, key: str) -> Any:
825
+ DeploymentConfigurationResponse.__key_warning(key)
826
+ return super().__getitem__(key)
827
+
828
+ def get(self, key: str, default = None) -> Any:
829
+ DeploymentConfigurationResponse.__key_warning(key)
830
+ return super().get(key, default)
831
+
832
+ def __init__(__self__, *,
833
+ configuration_type: str,
834
+ app_location: Optional[str] = None,
835
+ infrastructure_configuration: Optional[Any] = None,
836
+ software_configuration: Optional[Any] = None):
837
+ """
838
+ Deployment Configuration.
839
+ :param str configuration_type: The configuration Type.
840
+ Expected value is 'Deployment'.
841
+ :param str app_location: The geo-location where the SAP system is to be created.
842
+ :param Union['SingleServerConfigurationResponse', 'ThreeTierConfigurationResponse'] infrastructure_configuration: The infrastructure configuration.
843
+ :param Union['ExternalInstallationSoftwareConfigurationResponse', 'SAPInstallWithoutOSConfigSoftwareConfigurationResponse', 'ServiceInitiatedSoftwareConfigurationResponse'] software_configuration: The software configuration.
844
+ """
845
+ pulumi.set(__self__, "configuration_type", 'Deployment')
846
+ if app_location is not None:
847
+ pulumi.set(__self__, "app_location", app_location)
848
+ if infrastructure_configuration is not None:
849
+ pulumi.set(__self__, "infrastructure_configuration", infrastructure_configuration)
850
+ if software_configuration is not None:
851
+ pulumi.set(__self__, "software_configuration", software_configuration)
852
+
853
+ @property
854
+ @pulumi.getter(name="configurationType")
855
+ def configuration_type(self) -> str:
856
+ """
857
+ The configuration Type.
858
+ Expected value is 'Deployment'.
859
+ """
860
+ return pulumi.get(self, "configuration_type")
861
+
862
+ @property
863
+ @pulumi.getter(name="appLocation")
864
+ def app_location(self) -> Optional[str]:
865
+ """
866
+ The geo-location where the SAP system is to be created.
867
+ """
868
+ return pulumi.get(self, "app_location")
869
+
870
+ @property
871
+ @pulumi.getter(name="infrastructureConfiguration")
872
+ def infrastructure_configuration(self) -> Optional[Any]:
873
+ """
874
+ The infrastructure configuration.
875
+ """
876
+ return pulumi.get(self, "infrastructure_configuration")
877
+
878
+ @property
879
+ @pulumi.getter(name="softwareConfiguration")
880
+ def software_configuration(self) -> Optional[Any]:
881
+ """
882
+ The software configuration.
883
+ """
884
+ return pulumi.get(self, "software_configuration")
885
+
886
+
887
+ @pulumi.output_type
888
+ class DeploymentWithOSConfigurationResponse(dict):
889
+ """
890
+ Deployment along with OS Configuration.
891
+ """
892
+ @staticmethod
893
+ def __key_warning(key: str):
894
+ suggest = None
895
+ if key == "configurationType":
896
+ suggest = "configuration_type"
897
+ elif key == "appLocation":
898
+ suggest = "app_location"
899
+ elif key == "infrastructureConfiguration":
900
+ suggest = "infrastructure_configuration"
901
+ elif key == "osSapConfiguration":
902
+ suggest = "os_sap_configuration"
903
+ elif key == "softwareConfiguration":
904
+ suggest = "software_configuration"
905
+
906
+ if suggest:
907
+ pulumi.log.warn(f"Key '{key}' not found in DeploymentWithOSConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
908
+
909
+ def __getitem__(self, key: str) -> Any:
910
+ DeploymentWithOSConfigurationResponse.__key_warning(key)
911
+ return super().__getitem__(key)
912
+
913
+ def get(self, key: str, default = None) -> Any:
914
+ DeploymentWithOSConfigurationResponse.__key_warning(key)
915
+ return super().get(key, default)
916
+
917
+ def __init__(__self__, *,
918
+ configuration_type: str,
919
+ app_location: Optional[str] = None,
920
+ infrastructure_configuration: Optional[Any] = None,
921
+ os_sap_configuration: Optional['outputs.OsSapConfigurationResponse'] = None,
922
+ software_configuration: Optional[Any] = None):
923
+ """
924
+ Deployment along with OS Configuration.
925
+ :param str configuration_type: The configuration Type.
926
+ Expected value is 'DeploymentWithOSConfig'.
927
+ :param str app_location: The geo-location where the SAP system is to be created.
928
+ :param Union['SingleServerConfigurationResponse', 'ThreeTierConfigurationResponse'] infrastructure_configuration: The infrastructure configuration.
929
+ :param 'OsSapConfigurationResponse' os_sap_configuration: The OS and SAP configuration.
930
+ :param Union['ExternalInstallationSoftwareConfigurationResponse', 'SAPInstallWithoutOSConfigSoftwareConfigurationResponse', 'ServiceInitiatedSoftwareConfigurationResponse'] software_configuration: The software configuration.
931
+ """
932
+ pulumi.set(__self__, "configuration_type", 'DeploymentWithOSConfig')
933
+ if app_location is not None:
934
+ pulumi.set(__self__, "app_location", app_location)
935
+ if infrastructure_configuration is not None:
936
+ pulumi.set(__self__, "infrastructure_configuration", infrastructure_configuration)
937
+ if os_sap_configuration is not None:
938
+ pulumi.set(__self__, "os_sap_configuration", os_sap_configuration)
939
+ if software_configuration is not None:
940
+ pulumi.set(__self__, "software_configuration", software_configuration)
941
+
942
+ @property
943
+ @pulumi.getter(name="configurationType")
944
+ def configuration_type(self) -> str:
945
+ """
946
+ The configuration Type.
947
+ Expected value is 'DeploymentWithOSConfig'.
948
+ """
949
+ return pulumi.get(self, "configuration_type")
950
+
951
+ @property
952
+ @pulumi.getter(name="appLocation")
953
+ def app_location(self) -> Optional[str]:
954
+ """
955
+ The geo-location where the SAP system is to be created.
956
+ """
957
+ return pulumi.get(self, "app_location")
958
+
959
+ @property
960
+ @pulumi.getter(name="infrastructureConfiguration")
961
+ def infrastructure_configuration(self) -> Optional[Any]:
962
+ """
963
+ The infrastructure configuration.
964
+ """
965
+ return pulumi.get(self, "infrastructure_configuration")
966
+
967
+ @property
968
+ @pulumi.getter(name="osSapConfiguration")
969
+ def os_sap_configuration(self) -> Optional['outputs.OsSapConfigurationResponse']:
970
+ """
971
+ The OS and SAP configuration.
972
+ """
973
+ return pulumi.get(self, "os_sap_configuration")
974
+
975
+ @property
976
+ @pulumi.getter(name="softwareConfiguration")
977
+ def software_configuration(self) -> Optional[Any]:
978
+ """
979
+ The software configuration.
980
+ """
981
+ return pulumi.get(self, "software_configuration")
982
+
983
+
984
+ @pulumi.output_type
985
+ class DiscoveryConfigurationResponse(dict):
986
+ """
987
+ Discovery Details.
988
+ """
989
+ @staticmethod
990
+ def __key_warning(key: str):
991
+ suggest = None
992
+ if key == "appLocation":
993
+ suggest = "app_location"
994
+ elif key == "configurationType":
995
+ suggest = "configuration_type"
996
+ elif key == "centralServerVmId":
997
+ suggest = "central_server_vm_id"
998
+ elif key == "managedRgStorageAccountName":
999
+ suggest = "managed_rg_storage_account_name"
1000
+
1001
+ if suggest:
1002
+ pulumi.log.warn(f"Key '{key}' not found in DiscoveryConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
1003
+
1004
+ def __getitem__(self, key: str) -> Any:
1005
+ DiscoveryConfigurationResponse.__key_warning(key)
1006
+ return super().__getitem__(key)
1007
+
1008
+ def get(self, key: str, default = None) -> Any:
1009
+ DiscoveryConfigurationResponse.__key_warning(key)
1010
+ return super().get(key, default)
1011
+
1012
+ def __init__(__self__, *,
1013
+ app_location: str,
1014
+ configuration_type: str,
1015
+ central_server_vm_id: Optional[str] = None,
1016
+ managed_rg_storage_account_name: Optional[str] = None):
1017
+ """
1018
+ Discovery Details.
1019
+ :param str app_location: The geo-location where the SAP system exists.
1020
+ :param str configuration_type: The configuration Type.
1021
+ Expected value is 'Discovery'.
1022
+ :param str central_server_vm_id: The virtual machine ID of the Central Server.
1023
+ :param str managed_rg_storage_account_name: The custom storage account name for the storage account created by the service in the managed resource group created as part of VIS deployment.<br><br>Refer to the storage account naming rules [here](https://learn.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftstorage).<br><br>If not provided, the service will create the storage account with a random name.
1024
+ """
1025
+ pulumi.set(__self__, "app_location", app_location)
1026
+ pulumi.set(__self__, "configuration_type", 'Discovery')
1027
+ if central_server_vm_id is not None:
1028
+ pulumi.set(__self__, "central_server_vm_id", central_server_vm_id)
1029
+ if managed_rg_storage_account_name is not None:
1030
+ pulumi.set(__self__, "managed_rg_storage_account_name", managed_rg_storage_account_name)
1031
+
1032
+ @property
1033
+ @pulumi.getter(name="appLocation")
1034
+ def app_location(self) -> str:
1035
+ """
1036
+ The geo-location where the SAP system exists.
1037
+ """
1038
+ return pulumi.get(self, "app_location")
1039
+
1040
+ @property
1041
+ @pulumi.getter(name="configurationType")
1042
+ def configuration_type(self) -> str:
1043
+ """
1044
+ The configuration Type.
1045
+ Expected value is 'Discovery'.
1046
+ """
1047
+ return pulumi.get(self, "configuration_type")
1048
+
1049
+ @property
1050
+ @pulumi.getter(name="centralServerVmId")
1051
+ def central_server_vm_id(self) -> Optional[str]:
1052
+ """
1053
+ The virtual machine ID of the Central Server.
1054
+ """
1055
+ return pulumi.get(self, "central_server_vm_id")
1056
+
1057
+ @property
1058
+ @pulumi.getter(name="managedRgStorageAccountName")
1059
+ def managed_rg_storage_account_name(self) -> Optional[str]:
1060
+ """
1061
+ The custom storage account name for the storage account created by the service in the managed resource group created as part of VIS deployment.<br><br>Refer to the storage account naming rules [here](https://learn.microsoft.com/azure/azure-resource-manager/management/resource-name-rules#microsoftstorage).<br><br>If not provided, the service will create the storage account with a random name.
1062
+ """
1063
+ return pulumi.get(self, "managed_rg_storage_account_name")
1064
+
1065
+
1066
+ @pulumi.output_type
1067
+ class DiskConfigurationResponse(dict):
1068
+ """
1069
+ The Disk Configuration Details.
1070
+ """
1071
+ @staticmethod
1072
+ def __key_warning(key: str):
1073
+ suggest = None
1074
+ if key == "diskVolumeConfigurations":
1075
+ suggest = "disk_volume_configurations"
1076
+
1077
+ if suggest:
1078
+ pulumi.log.warn(f"Key '{key}' not found in DiskConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
1079
+
1080
+ def __getitem__(self, key: str) -> Any:
1081
+ DiskConfigurationResponse.__key_warning(key)
1082
+ return super().__getitem__(key)
1083
+
1084
+ def get(self, key: str, default = None) -> Any:
1085
+ DiskConfigurationResponse.__key_warning(key)
1086
+ return super().get(key, default)
1087
+
1088
+ def __init__(__self__, *,
1089
+ disk_volume_configurations: Optional[Mapping[str, 'outputs.DiskVolumeConfigurationResponse']] = None):
1090
+ """
1091
+ The Disk Configuration Details.
1092
+ :param Mapping[str, 'DiskVolumeConfigurationResponse'] disk_volume_configurations: The disk configuration for the db volume. For HANA, Required volumes are: ['hana/data', 'hana/log', hana/shared', 'usr/sap', 'os'], Optional volume : ['backup'].
1093
+ """
1094
+ if disk_volume_configurations is not None:
1095
+ pulumi.set(__self__, "disk_volume_configurations", disk_volume_configurations)
1096
+
1097
+ @property
1098
+ @pulumi.getter(name="diskVolumeConfigurations")
1099
+ def disk_volume_configurations(self) -> Optional[Mapping[str, 'outputs.DiskVolumeConfigurationResponse']]:
1100
+ """
1101
+ The disk configuration for the db volume. For HANA, Required volumes are: ['hana/data', 'hana/log', hana/shared', 'usr/sap', 'os'], Optional volume : ['backup'].
1102
+ """
1103
+ return pulumi.get(self, "disk_volume_configurations")
1104
+
1105
+
1106
+ @pulumi.output_type
1107
+ class DiskDetailsResponse(dict):
1108
+ """
1109
+ The supported disk size details for a disk type.
1110
+ """
1111
+ def __init__(__self__, *,
1112
+ disk_tier: Optional[str] = None,
1113
+ iops_read_write: Optional[float] = None,
1114
+ maximum_supported_disk_count: Optional[float] = None,
1115
+ mbps_read_write: Optional[float] = None,
1116
+ minimum_supported_disk_count: Optional[float] = None,
1117
+ size_gb: Optional[float] = None,
1118
+ sku: Optional['outputs.DiskSkuResponse'] = None):
1119
+ """
1120
+ The supported disk size details for a disk type.
1121
+ :param str disk_tier: The disk tier, e.g. P10, E10.
1122
+ :param float iops_read_write: The disk Iops.
1123
+ :param float maximum_supported_disk_count: The maximum supported disk count.
1124
+ :param float mbps_read_write: The disk provisioned throughput in MBps.
1125
+ :param float minimum_supported_disk_count: The minimum supported disk count.
1126
+ :param float size_gb: The disk size in GB.
1127
+ :param 'DiskSkuResponse' sku: The type of disk sku. For example, Standard_LRS, Standard_ZRS, Premium_LRS, Premium_ZRS.
1128
+ """
1129
+ if disk_tier is not None:
1130
+ pulumi.set(__self__, "disk_tier", disk_tier)
1131
+ if iops_read_write is not None:
1132
+ pulumi.set(__self__, "iops_read_write", iops_read_write)
1133
+ if maximum_supported_disk_count is not None:
1134
+ pulumi.set(__self__, "maximum_supported_disk_count", maximum_supported_disk_count)
1135
+ if mbps_read_write is not None:
1136
+ pulumi.set(__self__, "mbps_read_write", mbps_read_write)
1137
+ if minimum_supported_disk_count is not None:
1138
+ pulumi.set(__self__, "minimum_supported_disk_count", minimum_supported_disk_count)
1139
+ if size_gb is not None:
1140
+ pulumi.set(__self__, "size_gb", size_gb)
1141
+ if sku is not None:
1142
+ pulumi.set(__self__, "sku", sku)
1143
+
1144
+ @property
1145
+ @pulumi.getter(name="diskTier")
1146
+ def disk_tier(self) -> Optional[str]:
1147
+ """
1148
+ The disk tier, e.g. P10, E10.
1149
+ """
1150
+ return pulumi.get(self, "disk_tier")
1151
+
1152
+ @property
1153
+ @pulumi.getter(name="iopsReadWrite")
1154
+ def iops_read_write(self) -> Optional[float]:
1155
+ """
1156
+ The disk Iops.
1157
+ """
1158
+ return pulumi.get(self, "iops_read_write")
1159
+
1160
+ @property
1161
+ @pulumi.getter(name="maximumSupportedDiskCount")
1162
+ def maximum_supported_disk_count(self) -> Optional[float]:
1163
+ """
1164
+ The maximum supported disk count.
1165
+ """
1166
+ return pulumi.get(self, "maximum_supported_disk_count")
1167
+
1168
+ @property
1169
+ @pulumi.getter(name="mbpsReadWrite")
1170
+ def mbps_read_write(self) -> Optional[float]:
1171
+ """
1172
+ The disk provisioned throughput in MBps.
1173
+ """
1174
+ return pulumi.get(self, "mbps_read_write")
1175
+
1176
+ @property
1177
+ @pulumi.getter(name="minimumSupportedDiskCount")
1178
+ def minimum_supported_disk_count(self) -> Optional[float]:
1179
+ """
1180
+ The minimum supported disk count.
1181
+ """
1182
+ return pulumi.get(self, "minimum_supported_disk_count")
1183
+
1184
+ @property
1185
+ @pulumi.getter(name="sizeGB")
1186
+ def size_gb(self) -> Optional[float]:
1187
+ """
1188
+ The disk size in GB.
1189
+ """
1190
+ return pulumi.get(self, "size_gb")
1191
+
1192
+ @property
1193
+ @pulumi.getter
1194
+ def sku(self) -> Optional['outputs.DiskSkuResponse']:
1195
+ """
1196
+ The type of disk sku. For example, Standard_LRS, Standard_ZRS, Premium_LRS, Premium_ZRS.
1197
+ """
1198
+ return pulumi.get(self, "sku")
1199
+
1200
+
1201
+ @pulumi.output_type
1202
+ class DiskSkuResponse(dict):
1203
+ """
1204
+ The type of disk sku. For example, Standard_LRS, Standard_ZRS, Premium_LRS, Premium_ZRS.
1205
+ """
1206
+ def __init__(__self__, *,
1207
+ name: Optional[str] = None):
1208
+ """
1209
+ The type of disk sku. For example, Standard_LRS, Standard_ZRS, Premium_LRS, Premium_ZRS.
1210
+ :param str name: Defines the disk sku name.
1211
+ """
1212
+ if name is not None:
1213
+ pulumi.set(__self__, "name", name)
1214
+
1215
+ @property
1216
+ @pulumi.getter
1217
+ def name(self) -> Optional[str]:
1218
+ """
1219
+ Defines the disk sku name.
1220
+ """
1221
+ return pulumi.get(self, "name")
1222
+
1223
+
1224
+ @pulumi.output_type
1225
+ class DiskVolumeConfigurationResponse(dict):
1226
+ """
1227
+ The disk configuration required for the selected volume.
1228
+ """
1229
+ @staticmethod
1230
+ def __key_warning(key: str):
1231
+ suggest = None
1232
+ if key == "sizeGB":
1233
+ suggest = "size_gb"
1234
+
1235
+ if suggest:
1236
+ pulumi.log.warn(f"Key '{key}' not found in DiskVolumeConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
1237
+
1238
+ def __getitem__(self, key: str) -> Any:
1239
+ DiskVolumeConfigurationResponse.__key_warning(key)
1240
+ return super().__getitem__(key)
1241
+
1242
+ def get(self, key: str, default = None) -> Any:
1243
+ DiskVolumeConfigurationResponse.__key_warning(key)
1244
+ return super().get(key, default)
1245
+
1246
+ def __init__(__self__, *,
1247
+ count: Optional[float] = None,
1248
+ size_gb: Optional[float] = None,
1249
+ sku: Optional['outputs.DiskSkuResponse'] = None):
1250
+ """
1251
+ The disk configuration required for the selected volume.
1252
+ :param float count: The total number of disks required for the concerned volume.
1253
+ :param float size_gb: The disk size in GB.
1254
+ :param 'DiskSkuResponse' sku: The disk SKU details.
1255
+ """
1256
+ if count is not None:
1257
+ pulumi.set(__self__, "count", count)
1258
+ if size_gb is not None:
1259
+ pulumi.set(__self__, "size_gb", size_gb)
1260
+ if sku is not None:
1261
+ pulumi.set(__self__, "sku", sku)
1262
+
1263
+ @property
1264
+ @pulumi.getter
1265
+ def count(self) -> Optional[float]:
1266
+ """
1267
+ The total number of disks required for the concerned volume.
1268
+ """
1269
+ return pulumi.get(self, "count")
1270
+
1271
+ @property
1272
+ @pulumi.getter(name="sizeGB")
1273
+ def size_gb(self) -> Optional[float]:
1274
+ """
1275
+ The disk size in GB.
1276
+ """
1277
+ return pulumi.get(self, "size_gb")
1278
+
1279
+ @property
1280
+ @pulumi.getter
1281
+ def sku(self) -> Optional['outputs.DiskSkuResponse']:
1282
+ """
1283
+ The disk SKU details.
1284
+ """
1285
+ return pulumi.get(self, "sku")
1286
+
1287
+
1288
+ @pulumi.output_type
1289
+ class EnqueueReplicationServerPropertiesResponse(dict):
1290
+ """
1291
+ Defines the SAP Enqueue Replication Server (ERS) properties.
1292
+ """
1293
+ @staticmethod
1294
+ def __key_warning(key: str):
1295
+ suggest = None
1296
+ if key == "ersVersion":
1297
+ suggest = "ers_version"
1298
+ elif key == "instanceNo":
1299
+ suggest = "instance_no"
1300
+ elif key == "ipAddress":
1301
+ suggest = "ip_address"
1302
+ elif key == "kernelPatch":
1303
+ suggest = "kernel_patch"
1304
+ elif key == "kernelVersion":
1305
+ suggest = "kernel_version"
1306
+
1307
+ if suggest:
1308
+ pulumi.log.warn(f"Key '{key}' not found in EnqueueReplicationServerPropertiesResponse. Access the value via the '{suggest}' property getter instead.")
1309
+
1310
+ def __getitem__(self, key: str) -> Any:
1311
+ EnqueueReplicationServerPropertiesResponse.__key_warning(key)
1312
+ return super().__getitem__(key)
1313
+
1314
+ def get(self, key: str, default = None) -> Any:
1315
+ EnqueueReplicationServerPropertiesResponse.__key_warning(key)
1316
+ return super().get(key, default)
1317
+
1318
+ def __init__(__self__, *,
1319
+ ers_version: str,
1320
+ health: str,
1321
+ hostname: str,
1322
+ instance_no: str,
1323
+ ip_address: str,
1324
+ kernel_patch: str,
1325
+ kernel_version: str):
1326
+ """
1327
+ Defines the SAP Enqueue Replication Server (ERS) properties.
1328
+ :param str ers_version: Defines the type of Enqueue Replication Server.
1329
+ :param str health: Defines the health of SAP Instances.
1330
+ :param str hostname: ERS SAP Hostname.
1331
+ :param str instance_no: ERS Instance Number.
1332
+ :param str ip_address: ERS SAP IP Address.
1333
+ :param str kernel_patch: ERS SAP Kernel Patch level.
1334
+ :param str kernel_version: ERS SAP Kernel Version.
1335
+ """
1336
+ pulumi.set(__self__, "ers_version", ers_version)
1337
+ pulumi.set(__self__, "health", health)
1338
+ pulumi.set(__self__, "hostname", hostname)
1339
+ pulumi.set(__self__, "instance_no", instance_no)
1340
+ pulumi.set(__self__, "ip_address", ip_address)
1341
+ pulumi.set(__self__, "kernel_patch", kernel_patch)
1342
+ pulumi.set(__self__, "kernel_version", kernel_version)
1343
+
1344
+ @property
1345
+ @pulumi.getter(name="ersVersion")
1346
+ def ers_version(self) -> str:
1347
+ """
1348
+ Defines the type of Enqueue Replication Server.
1349
+ """
1350
+ return pulumi.get(self, "ers_version")
1351
+
1352
+ @property
1353
+ @pulumi.getter
1354
+ def health(self) -> str:
1355
+ """
1356
+ Defines the health of SAP Instances.
1357
+ """
1358
+ return pulumi.get(self, "health")
1359
+
1360
+ @property
1361
+ @pulumi.getter
1362
+ def hostname(self) -> str:
1363
+ """
1364
+ ERS SAP Hostname.
1365
+ """
1366
+ return pulumi.get(self, "hostname")
1367
+
1368
+ @property
1369
+ @pulumi.getter(name="instanceNo")
1370
+ def instance_no(self) -> str:
1371
+ """
1372
+ ERS Instance Number.
1373
+ """
1374
+ return pulumi.get(self, "instance_no")
1375
+
1376
+ @property
1377
+ @pulumi.getter(name="ipAddress")
1378
+ def ip_address(self) -> str:
1379
+ """
1380
+ ERS SAP IP Address.
1381
+ """
1382
+ return pulumi.get(self, "ip_address")
1383
+
1384
+ @property
1385
+ @pulumi.getter(name="kernelPatch")
1386
+ def kernel_patch(self) -> str:
1387
+ """
1388
+ ERS SAP Kernel Patch level.
1389
+ """
1390
+ return pulumi.get(self, "kernel_patch")
1391
+
1392
+ @property
1393
+ @pulumi.getter(name="kernelVersion")
1394
+ def kernel_version(self) -> str:
1395
+ """
1396
+ ERS SAP Kernel Version.
1397
+ """
1398
+ return pulumi.get(self, "kernel_version")
1399
+
1400
+
1401
+ @pulumi.output_type
1402
+ class EnqueueServerPropertiesResponse(dict):
1403
+ """
1404
+ Defines the SAP Enqueue Server properties.
1405
+ """
1406
+ @staticmethod
1407
+ def __key_warning(key: str):
1408
+ suggest = None
1409
+ if key == "ipAddress":
1410
+ suggest = "ip_address"
1411
+
1412
+ if suggest:
1413
+ pulumi.log.warn(f"Key '{key}' not found in EnqueueServerPropertiesResponse. Access the value via the '{suggest}' property getter instead.")
1414
+
1415
+ def __getitem__(self, key: str) -> Any:
1416
+ EnqueueServerPropertiesResponse.__key_warning(key)
1417
+ return super().__getitem__(key)
1418
+
1419
+ def get(self, key: str, default = None) -> Any:
1420
+ EnqueueServerPropertiesResponse.__key_warning(key)
1421
+ return super().get(key, default)
1422
+
1423
+ def __init__(__self__, *,
1424
+ health: str,
1425
+ hostname: str,
1426
+ ip_address: str,
1427
+ port: float):
1428
+ """
1429
+ Defines the SAP Enqueue Server properties.
1430
+ :param str health: Defines the health of SAP Instances.
1431
+ :param str hostname: Enqueue Server SAP Hostname.
1432
+ :param str ip_address: Enqueue Server SAP IP Address.
1433
+ :param float port: Enqueue Server Port.
1434
+ """
1435
+ pulumi.set(__self__, "health", health)
1436
+ pulumi.set(__self__, "hostname", hostname)
1437
+ pulumi.set(__self__, "ip_address", ip_address)
1438
+ pulumi.set(__self__, "port", port)
1439
+
1440
+ @property
1441
+ @pulumi.getter
1442
+ def health(self) -> str:
1443
+ """
1444
+ Defines the health of SAP Instances.
1445
+ """
1446
+ return pulumi.get(self, "health")
1447
+
1448
+ @property
1449
+ @pulumi.getter
1450
+ def hostname(self) -> str:
1451
+ """
1452
+ Enqueue Server SAP Hostname.
1453
+ """
1454
+ return pulumi.get(self, "hostname")
1455
+
1456
+ @property
1457
+ @pulumi.getter(name="ipAddress")
1458
+ def ip_address(self) -> str:
1459
+ """
1460
+ Enqueue Server SAP IP Address.
1461
+ """
1462
+ return pulumi.get(self, "ip_address")
1463
+
1464
+ @property
1465
+ @pulumi.getter
1466
+ def port(self) -> float:
1467
+ """
1468
+ Enqueue Server Port.
1469
+ """
1470
+ return pulumi.get(self, "port")
1471
+
1472
+
1473
+ @pulumi.output_type
1474
+ class ErrorDefinitionResponse(dict):
1475
+ """
1476
+ Error definition.
1477
+ """
1478
+ def __init__(__self__, *,
1479
+ code: str,
1480
+ details: Sequence['outputs.ErrorDefinitionResponse'],
1481
+ message: str):
1482
+ """
1483
+ Error definition.
1484
+ :param str code: Service specific error code which serves as the substatus for the HTTP error code.
1485
+ :param Sequence['ErrorDefinitionResponse'] details: Internal error details.
1486
+ :param str message: Description of the error.
1487
+ """
1488
+ pulumi.set(__self__, "code", code)
1489
+ pulumi.set(__self__, "details", details)
1490
+ pulumi.set(__self__, "message", message)
1491
+
1492
+ @property
1493
+ @pulumi.getter
1494
+ def code(self) -> str:
1495
+ """
1496
+ Service specific error code which serves as the substatus for the HTTP error code.
1497
+ """
1498
+ return pulumi.get(self, "code")
1499
+
1500
+ @property
1501
+ @pulumi.getter
1502
+ def details(self) -> Sequence['outputs.ErrorDefinitionResponse']:
1503
+ """
1504
+ Internal error details.
1505
+ """
1506
+ return pulumi.get(self, "details")
1507
+
1508
+ @property
1509
+ @pulumi.getter
1510
+ def message(self) -> str:
1511
+ """
1512
+ Description of the error.
1513
+ """
1514
+ return pulumi.get(self, "message")
1515
+
1516
+
1517
+ @pulumi.output_type
1518
+ class ExternalInstallationSoftwareConfigurationResponse(dict):
1519
+ """
1520
+ The SAP Software configuration Input when the software is installed externally outside the service.
1521
+ """
1522
+ @staticmethod
1523
+ def __key_warning(key: str):
1524
+ suggest = None
1525
+ if key == "softwareInstallationType":
1526
+ suggest = "software_installation_type"
1527
+ elif key == "centralServerVmId":
1528
+ suggest = "central_server_vm_id"
1529
+
1530
+ if suggest:
1531
+ pulumi.log.warn(f"Key '{key}' not found in ExternalInstallationSoftwareConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
1532
+
1533
+ def __getitem__(self, key: str) -> Any:
1534
+ ExternalInstallationSoftwareConfigurationResponse.__key_warning(key)
1535
+ return super().__getitem__(key)
1536
+
1537
+ def get(self, key: str, default = None) -> Any:
1538
+ ExternalInstallationSoftwareConfigurationResponse.__key_warning(key)
1539
+ return super().get(key, default)
1540
+
1541
+ def __init__(__self__, *,
1542
+ software_installation_type: str,
1543
+ central_server_vm_id: Optional[str] = None):
1544
+ """
1545
+ The SAP Software configuration Input when the software is installed externally outside the service.
1546
+ :param str software_installation_type: The SAP software installation Type.
1547
+ Expected value is 'External'.
1548
+ :param str central_server_vm_id: The resource ID of the virtual machine containing the central server instance.
1549
+ """
1550
+ pulumi.set(__self__, "software_installation_type", 'External')
1551
+ if central_server_vm_id is not None:
1552
+ pulumi.set(__self__, "central_server_vm_id", central_server_vm_id)
1553
+
1554
+ @property
1555
+ @pulumi.getter(name="softwareInstallationType")
1556
+ def software_installation_type(self) -> str:
1557
+ """
1558
+ The SAP software installation Type.
1559
+ Expected value is 'External'.
1560
+ """
1561
+ return pulumi.get(self, "software_installation_type")
1562
+
1563
+ @property
1564
+ @pulumi.getter(name="centralServerVmId")
1565
+ def central_server_vm_id(self) -> Optional[str]:
1566
+ """
1567
+ The resource ID of the virtual machine containing the central server instance.
1568
+ """
1569
+ return pulumi.get(self, "central_server_vm_id")
1570
+
1571
+
1572
+ @pulumi.output_type
1573
+ class GatewayServerPropertiesResponse(dict):
1574
+ """
1575
+ Defines the SAP Gateway Server properties.
1576
+ """
1577
+ def __init__(__self__, *,
1578
+ health: str,
1579
+ port: float):
1580
+ """
1581
+ Defines the SAP Gateway Server properties.
1582
+ :param str health: Defines the health of SAP Instances.
1583
+ :param float port: Gateway Port.
1584
+ """
1585
+ pulumi.set(__self__, "health", health)
1586
+ pulumi.set(__self__, "port", port)
1587
+
1588
+ @property
1589
+ @pulumi.getter
1590
+ def health(self) -> str:
1591
+ """
1592
+ Defines the health of SAP Instances.
1593
+ """
1594
+ return pulumi.get(self, "health")
1595
+
1596
+ @property
1597
+ @pulumi.getter
1598
+ def port(self) -> float:
1599
+ """
1600
+ Gateway Port.
1601
+ """
1602
+ return pulumi.get(self, "port")
1603
+
1604
+
1605
+ @pulumi.output_type
1606
+ class HighAvailabilityConfigurationResponse(dict):
1607
+ """
1608
+ Gets or sets the high availability configuration.
1609
+ """
1610
+ @staticmethod
1611
+ def __key_warning(key: str):
1612
+ suggest = None
1613
+ if key == "highAvailabilityType":
1614
+ suggest = "high_availability_type"
1615
+
1616
+ if suggest:
1617
+ pulumi.log.warn(f"Key '{key}' not found in HighAvailabilityConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
1618
+
1619
+ def __getitem__(self, key: str) -> Any:
1620
+ HighAvailabilityConfigurationResponse.__key_warning(key)
1621
+ return super().__getitem__(key)
1622
+
1623
+ def get(self, key: str, default = None) -> Any:
1624
+ HighAvailabilityConfigurationResponse.__key_warning(key)
1625
+ return super().get(key, default)
1626
+
1627
+ def __init__(__self__, *,
1628
+ high_availability_type: str):
1629
+ """
1630
+ Gets or sets the high availability configuration.
1631
+ :param str high_availability_type: The high availability type.
1632
+ """
1633
+ pulumi.set(__self__, "high_availability_type", high_availability_type)
1634
+
1635
+ @property
1636
+ @pulumi.getter(name="highAvailabilityType")
1637
+ def high_availability_type(self) -> str:
1638
+ """
1639
+ The high availability type.
1640
+ """
1641
+ return pulumi.get(self, "high_availability_type")
1642
+
1643
+
1644
+ @pulumi.output_type
1645
+ class HighAvailabilitySoftwareConfigurationResponse(dict):
1646
+ """
1647
+ Gets or sets the HA software configuration.
1648
+ """
1649
+ @staticmethod
1650
+ def __key_warning(key: str):
1651
+ suggest = None
1652
+ if key == "fencingClientId":
1653
+ suggest = "fencing_client_id"
1654
+ elif key == "fencingClientPassword":
1655
+ suggest = "fencing_client_password"
1656
+
1657
+ if suggest:
1658
+ pulumi.log.warn(f"Key '{key}' not found in HighAvailabilitySoftwareConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
1659
+
1660
+ def __getitem__(self, key: str) -> Any:
1661
+ HighAvailabilitySoftwareConfigurationResponse.__key_warning(key)
1662
+ return super().__getitem__(key)
1663
+
1664
+ def get(self, key: str, default = None) -> Any:
1665
+ HighAvailabilitySoftwareConfigurationResponse.__key_warning(key)
1666
+ return super().get(key, default)
1667
+
1668
+ def __init__(__self__, *,
1669
+ fencing_client_id: str,
1670
+ fencing_client_password: str):
1671
+ """
1672
+ Gets or sets the HA software configuration.
1673
+ :param str fencing_client_id: The fencing client id.
1674
+ :param str fencing_client_password: The fencing client id secret/password. The secret should never expire. This will be used pacemaker to start/stop the cluster VMs.
1675
+ """
1676
+ pulumi.set(__self__, "fencing_client_id", fencing_client_id)
1677
+ pulumi.set(__self__, "fencing_client_password", fencing_client_password)
1678
+
1679
+ @property
1680
+ @pulumi.getter(name="fencingClientId")
1681
+ def fencing_client_id(self) -> str:
1682
+ """
1683
+ The fencing client id.
1684
+ """
1685
+ return pulumi.get(self, "fencing_client_id")
1686
+
1687
+ @property
1688
+ @pulumi.getter(name="fencingClientPassword")
1689
+ def fencing_client_password(self) -> str:
1690
+ """
1691
+ The fencing client id secret/password. The secret should never expire. This will be used pacemaker to start/stop the cluster VMs.
1692
+ """
1693
+ return pulumi.get(self, "fencing_client_password")
1694
+
1695
+
1696
+ @pulumi.output_type
1697
+ class ImageReferenceResponse(dict):
1698
+ """
1699
+ Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set.
1700
+ """
1701
+ def __init__(__self__, *,
1702
+ id: Optional[str] = None,
1703
+ offer: Optional[str] = None,
1704
+ publisher: Optional[str] = None,
1705
+ sku: Optional[str] = None,
1706
+ version: Optional[str] = None):
1707
+ """
1708
+ Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set.
1709
+ :param str id: Specifies the ARM resource ID of the Azure Compute Gallery image version used for creating ACSS VMs. You will need to provide this input when you choose to deploy virtual machines in ACSS with OS image from the Azure Compute gallery.
1710
+ :param str offer: Specifies the offer of the platform image or marketplace image used to create the virtual machine.
1711
+ :param str publisher: The image publisher.
1712
+ :param str sku: The image SKU.
1713
+ :param str version: Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
1714
+ """
1715
+ if id is not None:
1716
+ pulumi.set(__self__, "id", id)
1717
+ if offer is not None:
1718
+ pulumi.set(__self__, "offer", offer)
1719
+ if publisher is not None:
1720
+ pulumi.set(__self__, "publisher", publisher)
1721
+ if sku is not None:
1722
+ pulumi.set(__self__, "sku", sku)
1723
+ if version is not None:
1724
+ pulumi.set(__self__, "version", version)
1725
+
1726
+ @property
1727
+ @pulumi.getter
1728
+ def id(self) -> Optional[str]:
1729
+ """
1730
+ Specifies the ARM resource ID of the Azure Compute Gallery image version used for creating ACSS VMs. You will need to provide this input when you choose to deploy virtual machines in ACSS with OS image from the Azure Compute gallery.
1731
+ """
1732
+ return pulumi.get(self, "id")
1733
+
1734
+ @property
1735
+ @pulumi.getter
1736
+ def offer(self) -> Optional[str]:
1737
+ """
1738
+ Specifies the offer of the platform image or marketplace image used to create the virtual machine.
1739
+ """
1740
+ return pulumi.get(self, "offer")
1741
+
1742
+ @property
1743
+ @pulumi.getter
1744
+ def publisher(self) -> Optional[str]:
1745
+ """
1746
+ The image publisher.
1747
+ """
1748
+ return pulumi.get(self, "publisher")
1749
+
1750
+ @property
1751
+ @pulumi.getter
1752
+ def sku(self) -> Optional[str]:
1753
+ """
1754
+ The image SKU.
1755
+ """
1756
+ return pulumi.get(self, "sku")
1757
+
1758
+ @property
1759
+ @pulumi.getter
1760
+ def version(self) -> Optional[str]:
1761
+ """
1762
+ Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.
1763
+ """
1764
+ return pulumi.get(self, "version")
1765
+
1766
+
1767
+ @pulumi.output_type
1768
+ class LinuxConfigurationResponse(dict):
1769
+ """
1770
+ Specifies the Linux operating system settings on the virtual machine. <br><br>For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros).
1771
+ """
1772
+ @staticmethod
1773
+ def __key_warning(key: str):
1774
+ suggest = None
1775
+ if key == "osType":
1776
+ suggest = "os_type"
1777
+ elif key == "disablePasswordAuthentication":
1778
+ suggest = "disable_password_authentication"
1779
+ elif key == "sshKeyPair":
1780
+ suggest = "ssh_key_pair"
1781
+
1782
+ if suggest:
1783
+ pulumi.log.warn(f"Key '{key}' not found in LinuxConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
1784
+
1785
+ def __getitem__(self, key: str) -> Any:
1786
+ LinuxConfigurationResponse.__key_warning(key)
1787
+ return super().__getitem__(key)
1788
+
1789
+ def get(self, key: str, default = None) -> Any:
1790
+ LinuxConfigurationResponse.__key_warning(key)
1791
+ return super().get(key, default)
1792
+
1793
+ def __init__(__self__, *,
1794
+ os_type: str,
1795
+ disable_password_authentication: Optional[bool] = None,
1796
+ ssh: Optional['outputs.SshConfigurationResponse'] = None,
1797
+ ssh_key_pair: Optional['outputs.SshKeyPairResponse'] = None):
1798
+ """
1799
+ Specifies the Linux operating system settings on the virtual machine. <br><br>For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/linux/endorsed-distros).
1800
+ :param str os_type: The OS Type
1801
+ Expected value is 'Linux'.
1802
+ :param bool disable_password_authentication: Specifies whether password authentication should be disabled.
1803
+ :param 'SshConfigurationResponse' ssh: Specifies the ssh key configuration for a Linux OS. (This property is deprecated, please use 'sshKeyPair' instead)
1804
+ :param 'SshKeyPairResponse' ssh_key_pair: The SSH Key-pair used to authenticate with the VM's.
1805
+ """
1806
+ pulumi.set(__self__, "os_type", 'Linux')
1807
+ if disable_password_authentication is not None:
1808
+ pulumi.set(__self__, "disable_password_authentication", disable_password_authentication)
1809
+ if ssh is not None:
1810
+ pulumi.set(__self__, "ssh", ssh)
1811
+ if ssh_key_pair is not None:
1812
+ pulumi.set(__self__, "ssh_key_pair", ssh_key_pair)
1813
+
1814
+ @property
1815
+ @pulumi.getter(name="osType")
1816
+ def os_type(self) -> str:
1817
+ """
1818
+ The OS Type
1819
+ Expected value is 'Linux'.
1820
+ """
1821
+ return pulumi.get(self, "os_type")
1822
+
1823
+ @property
1824
+ @pulumi.getter(name="disablePasswordAuthentication")
1825
+ def disable_password_authentication(self) -> Optional[bool]:
1826
+ """
1827
+ Specifies whether password authentication should be disabled.
1828
+ """
1829
+ return pulumi.get(self, "disable_password_authentication")
1830
+
1831
+ @property
1832
+ @pulumi.getter
1833
+ def ssh(self) -> Optional['outputs.SshConfigurationResponse']:
1834
+ """
1835
+ Specifies the ssh key configuration for a Linux OS. (This property is deprecated, please use 'sshKeyPair' instead)
1836
+ """
1837
+ return pulumi.get(self, "ssh")
1838
+
1839
+ @property
1840
+ @pulumi.getter(name="sshKeyPair")
1841
+ def ssh_key_pair(self) -> Optional['outputs.SshKeyPairResponse']:
1842
+ """
1843
+ The SSH Key-pair used to authenticate with the VM's.
1844
+ """
1845
+ return pulumi.get(self, "ssh_key_pair")
1846
+
1847
+
1848
+ @pulumi.output_type
1849
+ class LoadBalancerDetailsResponse(dict):
1850
+ """
1851
+ The Load Balancer details such as Load Balancer ID.
1852
+ """
1853
+ def __init__(__self__, *,
1854
+ id: str):
1855
+ """
1856
+ The Load Balancer details such as Load Balancer ID.
1857
+ :param str id: Fully qualified resource ID for the load balancer.
1858
+ """
1859
+ pulumi.set(__self__, "id", id)
1860
+
1861
+ @property
1862
+ @pulumi.getter
1863
+ def id(self) -> str:
1864
+ """
1865
+ Fully qualified resource ID for the load balancer.
1866
+ """
1867
+ return pulumi.get(self, "id")
1868
+
1869
+
1870
+ @pulumi.output_type
1871
+ class LoadBalancerResourceNamesResponse(dict):
1872
+ """
1873
+ The resource names object for load balancer and related resources.
1874
+ """
1875
+ @staticmethod
1876
+ def __key_warning(key: str):
1877
+ suggest = None
1878
+ if key == "backendPoolNames":
1879
+ suggest = "backend_pool_names"
1880
+ elif key == "frontendIpConfigurationNames":
1881
+ suggest = "frontend_ip_configuration_names"
1882
+ elif key == "healthProbeNames":
1883
+ suggest = "health_probe_names"
1884
+ elif key == "loadBalancerName":
1885
+ suggest = "load_balancer_name"
1886
+
1887
+ if suggest:
1888
+ pulumi.log.warn(f"Key '{key}' not found in LoadBalancerResourceNamesResponse. Access the value via the '{suggest}' property getter instead.")
1889
+
1890
+ def __getitem__(self, key: str) -> Any:
1891
+ LoadBalancerResourceNamesResponse.__key_warning(key)
1892
+ return super().__getitem__(key)
1893
+
1894
+ def get(self, key: str, default = None) -> Any:
1895
+ LoadBalancerResourceNamesResponse.__key_warning(key)
1896
+ return super().get(key, default)
1897
+
1898
+ def __init__(__self__, *,
1899
+ backend_pool_names: Optional[Sequence[str]] = None,
1900
+ frontend_ip_configuration_names: Optional[Sequence[str]] = None,
1901
+ health_probe_names: Optional[Sequence[str]] = None,
1902
+ load_balancer_name: Optional[str] = None):
1903
+ """
1904
+ The resource names object for load balancer and related resources.
1905
+ :param Sequence[str] backend_pool_names: The list of backend pool names. Currently, ACSS deploys only one backend pool and hence, size of this list should be 1
1906
+ :param Sequence[str] frontend_ip_configuration_names: The list of frontend IP configuration names. If provided as input, size of this list should be 2 for cs layer and should be 1 for database layer.
1907
+ :param Sequence[str] health_probe_names: The list of health probe names. If provided as input, size of this list should be 2 for cs layer and should be 1 for database layer.
1908
+ :param str load_balancer_name: The full resource name for load balancer. If this value is not provided, load balancer will be name as {ASCS/DB}-loadBalancer.
1909
+ """
1910
+ if backend_pool_names is not None:
1911
+ pulumi.set(__self__, "backend_pool_names", backend_pool_names)
1912
+ if frontend_ip_configuration_names is not None:
1913
+ pulumi.set(__self__, "frontend_ip_configuration_names", frontend_ip_configuration_names)
1914
+ if health_probe_names is not None:
1915
+ pulumi.set(__self__, "health_probe_names", health_probe_names)
1916
+ if load_balancer_name is not None:
1917
+ pulumi.set(__self__, "load_balancer_name", load_balancer_name)
1918
+
1919
+ @property
1920
+ @pulumi.getter(name="backendPoolNames")
1921
+ def backend_pool_names(self) -> Optional[Sequence[str]]:
1922
+ """
1923
+ The list of backend pool names. Currently, ACSS deploys only one backend pool and hence, size of this list should be 1
1924
+ """
1925
+ return pulumi.get(self, "backend_pool_names")
1926
+
1927
+ @property
1928
+ @pulumi.getter(name="frontendIpConfigurationNames")
1929
+ def frontend_ip_configuration_names(self) -> Optional[Sequence[str]]:
1930
+ """
1931
+ The list of frontend IP configuration names. If provided as input, size of this list should be 2 for cs layer and should be 1 for database layer.
1932
+ """
1933
+ return pulumi.get(self, "frontend_ip_configuration_names")
1934
+
1935
+ @property
1936
+ @pulumi.getter(name="healthProbeNames")
1937
+ def health_probe_names(self) -> Optional[Sequence[str]]:
1938
+ """
1939
+ The list of health probe names. If provided as input, size of this list should be 2 for cs layer and should be 1 for database layer.
1940
+ """
1941
+ return pulumi.get(self, "health_probe_names")
1942
+
1943
+ @property
1944
+ @pulumi.getter(name="loadBalancerName")
1945
+ def load_balancer_name(self) -> Optional[str]:
1946
+ """
1947
+ The full resource name for load balancer. If this value is not provided, load balancer will be name as {ASCS/DB}-loadBalancer.
1948
+ """
1949
+ return pulumi.get(self, "load_balancer_name")
1950
+
1951
+
1952
+ @pulumi.output_type
1953
+ class ManagedRGConfigurationResponse(dict):
1954
+ """
1955
+ Managed resource group configuration
1956
+ """
1957
+ def __init__(__self__, *,
1958
+ name: Optional[str] = None):
1959
+ """
1960
+ Managed resource group configuration
1961
+ :param str name: Managed resource group name
1962
+ """
1963
+ if name is not None:
1964
+ pulumi.set(__self__, "name", name)
1965
+
1966
+ @property
1967
+ @pulumi.getter
1968
+ def name(self) -> Optional[str]:
1969
+ """
1970
+ Managed resource group name
1971
+ """
1972
+ return pulumi.get(self, "name")
1973
+
1974
+
1975
+ @pulumi.output_type
1976
+ class ManagedServiceIdentityResponse(dict):
1977
+ """
1978
+ Managed service identity (system assigned and/or user assigned identities)
1979
+ """
1980
+ @staticmethod
1981
+ def __key_warning(key: str):
1982
+ suggest = None
1983
+ if key == "principalId":
1984
+ suggest = "principal_id"
1985
+ elif key == "tenantId":
1986
+ suggest = "tenant_id"
1987
+ elif key == "userAssignedIdentities":
1988
+ suggest = "user_assigned_identities"
1989
+
1990
+ if suggest:
1991
+ pulumi.log.warn(f"Key '{key}' not found in ManagedServiceIdentityResponse. Access the value via the '{suggest}' property getter instead.")
1992
+
1993
+ def __getitem__(self, key: str) -> Any:
1994
+ ManagedServiceIdentityResponse.__key_warning(key)
1995
+ return super().__getitem__(key)
1996
+
1997
+ def get(self, key: str, default = None) -> Any:
1998
+ ManagedServiceIdentityResponse.__key_warning(key)
1999
+ return super().get(key, default)
2000
+
2001
+ def __init__(__self__, *,
2002
+ principal_id: str,
2003
+ tenant_id: str,
2004
+ type: str,
2005
+ user_assigned_identities: Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']] = None):
2006
+ """
2007
+ Managed service identity (system assigned and/or user assigned identities)
2008
+ :param str principal_id: The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.
2009
+ :param str tenant_id: The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.
2010
+ :param str type: Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
2011
+ :param Mapping[str, 'UserAssignedIdentityResponse'] user_assigned_identities: The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.
2012
+ """
2013
+ pulumi.set(__self__, "principal_id", principal_id)
2014
+ pulumi.set(__self__, "tenant_id", tenant_id)
2015
+ pulumi.set(__self__, "type", type)
2016
+ if user_assigned_identities is not None:
2017
+ pulumi.set(__self__, "user_assigned_identities", user_assigned_identities)
2018
+
2019
+ @property
2020
+ @pulumi.getter(name="principalId")
2021
+ def principal_id(self) -> str:
2022
+ """
2023
+ The service principal ID of the system assigned identity. This property will only be provided for a system assigned identity.
2024
+ """
2025
+ return pulumi.get(self, "principal_id")
2026
+
2027
+ @property
2028
+ @pulumi.getter(name="tenantId")
2029
+ def tenant_id(self) -> str:
2030
+ """
2031
+ The tenant ID of the system assigned identity. This property will only be provided for a system assigned identity.
2032
+ """
2033
+ return pulumi.get(self, "tenant_id")
2034
+
2035
+ @property
2036
+ @pulumi.getter
2037
+ def type(self) -> str:
2038
+ """
2039
+ Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).
2040
+ """
2041
+ return pulumi.get(self, "type")
2042
+
2043
+ @property
2044
+ @pulumi.getter(name="userAssignedIdentities")
2045
+ def user_assigned_identities(self) -> Optional[Mapping[str, 'outputs.UserAssignedIdentityResponse']]:
2046
+ """
2047
+ The set of user assigned identities associated with the resource. The userAssignedIdentities dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}. The dictionary values can be empty objects ({}) in requests.
2048
+ """
2049
+ return pulumi.get(self, "user_assigned_identities")
2050
+
2051
+
2052
+ @pulumi.output_type
2053
+ class MessageServerPropertiesResponse(dict):
2054
+ """
2055
+ Defines the SAP message server properties.
2056
+ """
2057
+ @staticmethod
2058
+ def __key_warning(key: str):
2059
+ suggest = None
2060
+ if key == "httpPort":
2061
+ suggest = "http_port"
2062
+ elif key == "httpsPort":
2063
+ suggest = "https_port"
2064
+ elif key == "internalMsPort":
2065
+ suggest = "internal_ms_port"
2066
+ elif key == "ipAddress":
2067
+ suggest = "ip_address"
2068
+ elif key == "msPort":
2069
+ suggest = "ms_port"
2070
+
2071
+ if suggest:
2072
+ pulumi.log.warn(f"Key '{key}' not found in MessageServerPropertiesResponse. Access the value via the '{suggest}' property getter instead.")
2073
+
2074
+ def __getitem__(self, key: str) -> Any:
2075
+ MessageServerPropertiesResponse.__key_warning(key)
2076
+ return super().__getitem__(key)
2077
+
2078
+ def get(self, key: str, default = None) -> Any:
2079
+ MessageServerPropertiesResponse.__key_warning(key)
2080
+ return super().get(key, default)
2081
+
2082
+ def __init__(__self__, *,
2083
+ health: str,
2084
+ hostname: str,
2085
+ http_port: float,
2086
+ https_port: float,
2087
+ internal_ms_port: float,
2088
+ ip_address: str,
2089
+ ms_port: float):
2090
+ """
2091
+ Defines the SAP message server properties.
2092
+ :param str health: Defines the health of SAP Instances.
2093
+ :param str hostname: message server SAP Hostname.
2094
+ :param float http_port: message server HTTP Port.
2095
+ :param float https_port: message server HTTPS Port.
2096
+ :param float internal_ms_port: message server internal MS port.
2097
+ :param str ip_address: message server IP Address.
2098
+ :param float ms_port: message server port.
2099
+ """
2100
+ pulumi.set(__self__, "health", health)
2101
+ pulumi.set(__self__, "hostname", hostname)
2102
+ pulumi.set(__self__, "http_port", http_port)
2103
+ pulumi.set(__self__, "https_port", https_port)
2104
+ pulumi.set(__self__, "internal_ms_port", internal_ms_port)
2105
+ pulumi.set(__self__, "ip_address", ip_address)
2106
+ pulumi.set(__self__, "ms_port", ms_port)
2107
+
2108
+ @property
2109
+ @pulumi.getter
2110
+ def health(self) -> str:
2111
+ """
2112
+ Defines the health of SAP Instances.
2113
+ """
2114
+ return pulumi.get(self, "health")
2115
+
2116
+ @property
2117
+ @pulumi.getter
2118
+ def hostname(self) -> str:
2119
+ """
2120
+ message server SAP Hostname.
2121
+ """
2122
+ return pulumi.get(self, "hostname")
2123
+
2124
+ @property
2125
+ @pulumi.getter(name="httpPort")
2126
+ def http_port(self) -> float:
2127
+ """
2128
+ message server HTTP Port.
2129
+ """
2130
+ return pulumi.get(self, "http_port")
2131
+
2132
+ @property
2133
+ @pulumi.getter(name="httpsPort")
2134
+ def https_port(self) -> float:
2135
+ """
2136
+ message server HTTPS Port.
2137
+ """
2138
+ return pulumi.get(self, "https_port")
2139
+
2140
+ @property
2141
+ @pulumi.getter(name="internalMsPort")
2142
+ def internal_ms_port(self) -> float:
2143
+ """
2144
+ message server internal MS port.
2145
+ """
2146
+ return pulumi.get(self, "internal_ms_port")
2147
+
2148
+ @property
2149
+ @pulumi.getter(name="ipAddress")
2150
+ def ip_address(self) -> str:
2151
+ """
2152
+ message server IP Address.
2153
+ """
2154
+ return pulumi.get(self, "ip_address")
2155
+
2156
+ @property
2157
+ @pulumi.getter(name="msPort")
2158
+ def ms_port(self) -> float:
2159
+ """
2160
+ message server port.
2161
+ """
2162
+ return pulumi.get(self, "ms_port")
2163
+
2164
+
2165
+ @pulumi.output_type
2166
+ class MountFileShareConfigurationResponse(dict):
2167
+ """
2168
+ Gets or sets the file share configuration where the transport directory fileshare already exists, and user wishes to mount the fileshare as a part of the create infra flow.
2169
+ """
2170
+ @staticmethod
2171
+ def __key_warning(key: str):
2172
+ suggest = None
2173
+ if key == "configurationType":
2174
+ suggest = "configuration_type"
2175
+ elif key == "privateEndpointId":
2176
+ suggest = "private_endpoint_id"
2177
+
2178
+ if suggest:
2179
+ pulumi.log.warn(f"Key '{key}' not found in MountFileShareConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
2180
+
2181
+ def __getitem__(self, key: str) -> Any:
2182
+ MountFileShareConfigurationResponse.__key_warning(key)
2183
+ return super().__getitem__(key)
2184
+
2185
+ def get(self, key: str, default = None) -> Any:
2186
+ MountFileShareConfigurationResponse.__key_warning(key)
2187
+ return super().get(key, default)
2188
+
2189
+ def __init__(__self__, *,
2190
+ configuration_type: str,
2191
+ id: str,
2192
+ private_endpoint_id: str):
2193
+ """
2194
+ Gets or sets the file share configuration where the transport directory fileshare already exists, and user wishes to mount the fileshare as a part of the create infra flow.
2195
+ :param str configuration_type: The type of file share config.
2196
+ Expected value is 'Mount'.
2197
+ :param str id: The fileshare resource ID
2198
+ :param str private_endpoint_id: The private endpoint resource ID
2199
+ """
2200
+ pulumi.set(__self__, "configuration_type", 'Mount')
2201
+ pulumi.set(__self__, "id", id)
2202
+ pulumi.set(__self__, "private_endpoint_id", private_endpoint_id)
2203
+
2204
+ @property
2205
+ @pulumi.getter(name="configurationType")
2206
+ def configuration_type(self) -> str:
2207
+ """
2208
+ The type of file share config.
2209
+ Expected value is 'Mount'.
2210
+ """
2211
+ return pulumi.get(self, "configuration_type")
2212
+
2213
+ @property
2214
+ @pulumi.getter
2215
+ def id(self) -> str:
2216
+ """
2217
+ The fileshare resource ID
2218
+ """
2219
+ return pulumi.get(self, "id")
2220
+
2221
+ @property
2222
+ @pulumi.getter(name="privateEndpointId")
2223
+ def private_endpoint_id(self) -> str:
2224
+ """
2225
+ The private endpoint resource ID
2226
+ """
2227
+ return pulumi.get(self, "private_endpoint_id")
2228
+
2229
+
2230
+ @pulumi.output_type
2231
+ class NetworkConfigurationResponse(dict):
2232
+ """
2233
+ Defines the network configuration type for SAP system infrastructure that is being deployed
2234
+ """
2235
+ @staticmethod
2236
+ def __key_warning(key: str):
2237
+ suggest = None
2238
+ if key == "isSecondaryIpEnabled":
2239
+ suggest = "is_secondary_ip_enabled"
2240
+
2241
+ if suggest:
2242
+ pulumi.log.warn(f"Key '{key}' not found in NetworkConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
2243
+
2244
+ def __getitem__(self, key: str) -> Any:
2245
+ NetworkConfigurationResponse.__key_warning(key)
2246
+ return super().__getitem__(key)
2247
+
2248
+ def get(self, key: str, default = None) -> Any:
2249
+ NetworkConfigurationResponse.__key_warning(key)
2250
+ return super().get(key, default)
2251
+
2252
+ def __init__(__self__, *,
2253
+ is_secondary_ip_enabled: Optional[bool] = None):
2254
+ """
2255
+ Defines the network configuration type for SAP system infrastructure that is being deployed
2256
+ :param bool is_secondary_ip_enabled: Specifies whether a secondary IP address should be added to the network interface on all VMs of the SAP system being deployed
2257
+ """
2258
+ if is_secondary_ip_enabled is None:
2259
+ is_secondary_ip_enabled = False
2260
+ if is_secondary_ip_enabled is not None:
2261
+ pulumi.set(__self__, "is_secondary_ip_enabled", is_secondary_ip_enabled)
2262
+
2263
+ @property
2264
+ @pulumi.getter(name="isSecondaryIpEnabled")
2265
+ def is_secondary_ip_enabled(self) -> Optional[bool]:
2266
+ """
2267
+ Specifies whether a secondary IP address should be added to the network interface on all VMs of the SAP system being deployed
2268
+ """
2269
+ return pulumi.get(self, "is_secondary_ip_enabled")
2270
+
2271
+
2272
+ @pulumi.output_type
2273
+ class NetworkInterfaceResourceNamesResponse(dict):
2274
+ """
2275
+ The resource names object for network interface and related resources.
2276
+ """
2277
+ @staticmethod
2278
+ def __key_warning(key: str):
2279
+ suggest = None
2280
+ if key == "networkInterfaceName":
2281
+ suggest = "network_interface_name"
2282
+
2283
+ if suggest:
2284
+ pulumi.log.warn(f"Key '{key}' not found in NetworkInterfaceResourceNamesResponse. Access the value via the '{suggest}' property getter instead.")
2285
+
2286
+ def __getitem__(self, key: str) -> Any:
2287
+ NetworkInterfaceResourceNamesResponse.__key_warning(key)
2288
+ return super().__getitem__(key)
2289
+
2290
+ def get(self, key: str, default = None) -> Any:
2291
+ NetworkInterfaceResourceNamesResponse.__key_warning(key)
2292
+ return super().get(key, default)
2293
+
2294
+ def __init__(__self__, *,
2295
+ network_interface_name: Optional[str] = None):
2296
+ """
2297
+ The resource names object for network interface and related resources.
2298
+ :param str network_interface_name: The full name for network interface. If name is not provided, service uses a default name based on the deployment type. For SingleServer, default name is {SID}-Nic. In case of HA-AvZone systems, default name will be {SID}-{App/ASCS/DB}-Zone{A/B}-Nic with an incrementor at the end in case of more than 1 instance per layer. For distributed and HA-AvSet systems, default name will be {SID}-{App/ASCS/DB}-Nic with an incrementor at the end in case of more than 1 instance per layer.
2299
+ """
2300
+ if network_interface_name is not None:
2301
+ pulumi.set(__self__, "network_interface_name", network_interface_name)
2302
+
2303
+ @property
2304
+ @pulumi.getter(name="networkInterfaceName")
2305
+ def network_interface_name(self) -> Optional[str]:
2306
+ """
2307
+ The full name for network interface. If name is not provided, service uses a default name based on the deployment type. For SingleServer, default name is {SID}-Nic. In case of HA-AvZone systems, default name will be {SID}-{App/ASCS/DB}-Zone{A/B}-Nic with an incrementor at the end in case of more than 1 instance per layer. For distributed and HA-AvSet systems, default name will be {SID}-{App/ASCS/DB}-Nic with an incrementor at the end in case of more than 1 instance per layer.
2308
+ """
2309
+ return pulumi.get(self, "network_interface_name")
2310
+
2311
+
2312
+ @pulumi.output_type
2313
+ class OSProfileResponse(dict):
2314
+ """
2315
+ Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned.
2316
+ """
2317
+ @staticmethod
2318
+ def __key_warning(key: str):
2319
+ suggest = None
2320
+ if key == "adminPassword":
2321
+ suggest = "admin_password"
2322
+ elif key == "adminUsername":
2323
+ suggest = "admin_username"
2324
+ elif key == "osConfiguration":
2325
+ suggest = "os_configuration"
2326
+
2327
+ if suggest:
2328
+ pulumi.log.warn(f"Key '{key}' not found in OSProfileResponse. Access the value via the '{suggest}' property getter instead.")
2329
+
2330
+ def __getitem__(self, key: str) -> Any:
2331
+ OSProfileResponse.__key_warning(key)
2332
+ return super().__getitem__(key)
2333
+
2334
+ def get(self, key: str, default = None) -> Any:
2335
+ OSProfileResponse.__key_warning(key)
2336
+ return super().get(key, default)
2337
+
2338
+ def __init__(__self__, *,
2339
+ admin_password: Optional[str] = None,
2340
+ admin_username: Optional[str] = None,
2341
+ os_configuration: Optional[Any] = None):
2342
+ """
2343
+ Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned.
2344
+ :param str admin_password: Specifies the password of the administrator account. <br><br> **Minimum-length (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\\W_]) <br><br> **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" <br><br> For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) <br><br> For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)
2345
+ :param str admin_username: Specifies the name of the administrator account. <br><br> This property cannot be updated after the VM is created. <br><br> **Windows-only restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters.
2346
+ :param Union['LinuxConfigurationResponse', 'WindowsConfigurationResponse'] os_configuration: Specifies Windows operating system settings on the virtual machine.
2347
+ """
2348
+ if admin_password is not None:
2349
+ pulumi.set(__self__, "admin_password", admin_password)
2350
+ if admin_username is not None:
2351
+ pulumi.set(__self__, "admin_username", admin_username)
2352
+ if os_configuration is not None:
2353
+ pulumi.set(__self__, "os_configuration", os_configuration)
2354
+
2355
+ @property
2356
+ @pulumi.getter(name="adminPassword")
2357
+ def admin_password(self) -> Optional[str]:
2358
+ """
2359
+ Specifies the password of the administrator account. <br><br> **Minimum-length (Windows):** 8 characters <br><br> **Minimum-length (Linux):** 6 characters <br><br> **Max-length (Windows):** 123 characters <br><br> **Max-length (Linux):** 72 characters <br><br> **Complexity requirements:** 3 out of 4 conditions below need to be fulfilled <br> Has lower characters <br>Has upper characters <br> Has a digit <br> Has a special character (Regex match [\\W_]) <br><br> **Disallowed values:** "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!" <br><br> For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/reset-rdp) <br><br> For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/troubleshoot/azure/virtual-machines/troubleshoot-ssh-connection)
2360
+ """
2361
+ return pulumi.get(self, "admin_password")
2362
+
2363
+ @property
2364
+ @pulumi.getter(name="adminUsername")
2365
+ def admin_username(self) -> Optional[str]:
2366
+ """
2367
+ Specifies the name of the administrator account. <br><br> This property cannot be updated after the VM is created. <br><br> **Windows-only restriction:** Cannot end in "." <br><br> **Disallowed values:** "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5". <br><br> **Minimum-length (Linux):** 1 character <br><br> **Max-length (Linux):** 64 characters <br><br> **Max-length (Windows):** 20 characters.
2368
+ """
2369
+ return pulumi.get(self, "admin_username")
2370
+
2371
+ @property
2372
+ @pulumi.getter(name="osConfiguration")
2373
+ def os_configuration(self) -> Optional[Any]:
2374
+ """
2375
+ Specifies Windows operating system settings on the virtual machine.
2376
+ """
2377
+ return pulumi.get(self, "os_configuration")
2378
+
2379
+
2380
+ @pulumi.output_type
2381
+ class OsSapConfigurationResponse(dict):
2382
+ """
2383
+ Defines the OS and SAP Configurations for Deployment
2384
+ """
2385
+ @staticmethod
2386
+ def __key_warning(key: str):
2387
+ suggest = None
2388
+ if key == "deployerVmPackages":
2389
+ suggest = "deployer_vm_packages"
2390
+ elif key == "sapFqdn":
2391
+ suggest = "sap_fqdn"
2392
+
2393
+ if suggest:
2394
+ pulumi.log.warn(f"Key '{key}' not found in OsSapConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
2395
+
2396
+ def __getitem__(self, key: str) -> Any:
2397
+ OsSapConfigurationResponse.__key_warning(key)
2398
+ return super().__getitem__(key)
2399
+
2400
+ def get(self, key: str, default = None) -> Any:
2401
+ OsSapConfigurationResponse.__key_warning(key)
2402
+ return super().get(key, default)
2403
+
2404
+ def __init__(__self__, *,
2405
+ deployer_vm_packages: Optional['outputs.DeployerVmPackagesResponse'] = None,
2406
+ sap_fqdn: Optional[str] = None):
2407
+ """
2408
+ Defines the OS and SAP Configurations for Deployment
2409
+ :param 'DeployerVmPackagesResponse' deployer_vm_packages: The url and storage account ID where deployer VM packages are uploaded
2410
+ :param str sap_fqdn: The FQDN to set for the SAP system
2411
+ """
2412
+ if deployer_vm_packages is not None:
2413
+ pulumi.set(__self__, "deployer_vm_packages", deployer_vm_packages)
2414
+ if sap_fqdn is not None:
2415
+ pulumi.set(__self__, "sap_fqdn", sap_fqdn)
2416
+
2417
+ @property
2418
+ @pulumi.getter(name="deployerVmPackages")
2419
+ def deployer_vm_packages(self) -> Optional['outputs.DeployerVmPackagesResponse']:
2420
+ """
2421
+ The url and storage account ID where deployer VM packages are uploaded
2422
+ """
2423
+ return pulumi.get(self, "deployer_vm_packages")
2424
+
2425
+ @property
2426
+ @pulumi.getter(name="sapFqdn")
2427
+ def sap_fqdn(self) -> Optional[str]:
2428
+ """
2429
+ The FQDN to set for the SAP system
2430
+ """
2431
+ return pulumi.get(self, "sap_fqdn")
2432
+
2433
+
2434
+ @pulumi.output_type
2435
+ class SAPAvailabilityZonePairResponse(dict):
2436
+ """
2437
+ The SAP Availability Zone Pair.
2438
+ """
2439
+ def __init__(__self__, *,
2440
+ zone_a: Optional[float] = None,
2441
+ zone_b: Optional[float] = None):
2442
+ """
2443
+ The SAP Availability Zone Pair.
2444
+ :param float zone_a: The zone A.
2445
+ :param float zone_b: The zone B.
2446
+ """
2447
+ if zone_a is not None:
2448
+ pulumi.set(__self__, "zone_a", zone_a)
2449
+ if zone_b is not None:
2450
+ pulumi.set(__self__, "zone_b", zone_b)
2451
+
2452
+ @property
2453
+ @pulumi.getter(name="zoneA")
2454
+ def zone_a(self) -> Optional[float]:
2455
+ """
2456
+ The zone A.
2457
+ """
2458
+ return pulumi.get(self, "zone_a")
2459
+
2460
+ @property
2461
+ @pulumi.getter(name="zoneB")
2462
+ def zone_b(self) -> Optional[float]:
2463
+ """
2464
+ The zone B.
2465
+ """
2466
+ return pulumi.get(self, "zone_b")
2467
+
2468
+
2469
+ @pulumi.output_type
2470
+ class SAPDiskConfigurationResponse(dict):
2471
+ """
2472
+ The SAP Disk Configuration contains 'recommended disk' details and list of supported disks detail for a volume type.
2473
+ """
2474
+ def __init__(__self__, *,
2475
+ recommended_configuration: Optional['outputs.DiskVolumeConfigurationResponse'] = None,
2476
+ supported_configurations: Optional[Sequence['outputs.DiskDetailsResponse']] = None):
2477
+ """
2478
+ The SAP Disk Configuration contains 'recommended disk' details and list of supported disks detail for a volume type.
2479
+ :param 'DiskVolumeConfigurationResponse' recommended_configuration: The recommended disk details for a given VM Sku.
2480
+ :param Sequence['DiskDetailsResponse'] supported_configurations: The list of supported disks for a given VM Sku.
2481
+ """
2482
+ if recommended_configuration is not None:
2483
+ pulumi.set(__self__, "recommended_configuration", recommended_configuration)
2484
+ if supported_configurations is not None:
2485
+ pulumi.set(__self__, "supported_configurations", supported_configurations)
2486
+
2487
+ @property
2488
+ @pulumi.getter(name="recommendedConfiguration")
2489
+ def recommended_configuration(self) -> Optional['outputs.DiskVolumeConfigurationResponse']:
2490
+ """
2491
+ The recommended disk details for a given VM Sku.
2492
+ """
2493
+ return pulumi.get(self, "recommended_configuration")
2494
+
2495
+ @property
2496
+ @pulumi.getter(name="supportedConfigurations")
2497
+ def supported_configurations(self) -> Optional[Sequence['outputs.DiskDetailsResponse']]:
2498
+ """
2499
+ The list of supported disks for a given VM Sku.
2500
+ """
2501
+ return pulumi.get(self, "supported_configurations")
2502
+
2503
+
2504
+ @pulumi.output_type
2505
+ class SAPInstallWithoutOSConfigSoftwareConfigurationResponse(dict):
2506
+ """
2507
+ The SAP Software configuration Input when the software is to be installed by service without OS Configurations
2508
+ """
2509
+ @staticmethod
2510
+ def __key_warning(key: str):
2511
+ suggest = None
2512
+ if key == "bomUrl":
2513
+ suggest = "bom_url"
2514
+ elif key == "sapBitsStorageAccountId":
2515
+ suggest = "sap_bits_storage_account_id"
2516
+ elif key == "softwareInstallationType":
2517
+ suggest = "software_installation_type"
2518
+ elif key == "softwareVersion":
2519
+ suggest = "software_version"
2520
+ elif key == "highAvailabilitySoftwareConfiguration":
2521
+ suggest = "high_availability_software_configuration"
2522
+
2523
+ if suggest:
2524
+ pulumi.log.warn(f"Key '{key}' not found in SAPInstallWithoutOSConfigSoftwareConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
2525
+
2526
+ def __getitem__(self, key: str) -> Any:
2527
+ SAPInstallWithoutOSConfigSoftwareConfigurationResponse.__key_warning(key)
2528
+ return super().__getitem__(key)
2529
+
2530
+ def get(self, key: str, default = None) -> Any:
2531
+ SAPInstallWithoutOSConfigSoftwareConfigurationResponse.__key_warning(key)
2532
+ return super().get(key, default)
2533
+
2534
+ def __init__(__self__, *,
2535
+ bom_url: str,
2536
+ sap_bits_storage_account_id: str,
2537
+ software_installation_type: str,
2538
+ software_version: str,
2539
+ high_availability_software_configuration: Optional['outputs.HighAvailabilitySoftwareConfigurationResponse'] = None):
2540
+ """
2541
+ The SAP Software configuration Input when the software is to be installed by service without OS Configurations
2542
+ :param str bom_url: The URL to the SAP Build of Materials(BOM) file.
2543
+ :param str sap_bits_storage_account_id: The SAP bits storage account id.
2544
+ :param str software_installation_type: The SAP software installation Type.
2545
+ Expected value is 'SAPInstallWithoutOSConfig'.
2546
+ :param str software_version: The software version to install.
2547
+ :param 'HighAvailabilitySoftwareConfigurationResponse' high_availability_software_configuration: Gets or sets the HA software configuration.
2548
+ """
2549
+ pulumi.set(__self__, "bom_url", bom_url)
2550
+ pulumi.set(__self__, "sap_bits_storage_account_id", sap_bits_storage_account_id)
2551
+ pulumi.set(__self__, "software_installation_type", 'SAPInstallWithoutOSConfig')
2552
+ pulumi.set(__self__, "software_version", software_version)
2553
+ if high_availability_software_configuration is not None:
2554
+ pulumi.set(__self__, "high_availability_software_configuration", high_availability_software_configuration)
2555
+
2556
+ @property
2557
+ @pulumi.getter(name="bomUrl")
2558
+ def bom_url(self) -> str:
2559
+ """
2560
+ The URL to the SAP Build of Materials(BOM) file.
2561
+ """
2562
+ return pulumi.get(self, "bom_url")
2563
+
2564
+ @property
2565
+ @pulumi.getter(name="sapBitsStorageAccountId")
2566
+ def sap_bits_storage_account_id(self) -> str:
2567
+ """
2568
+ The SAP bits storage account id.
2569
+ """
2570
+ return pulumi.get(self, "sap_bits_storage_account_id")
2571
+
2572
+ @property
2573
+ @pulumi.getter(name="softwareInstallationType")
2574
+ def software_installation_type(self) -> str:
2575
+ """
2576
+ The SAP software installation Type.
2577
+ Expected value is 'SAPInstallWithoutOSConfig'.
2578
+ """
2579
+ return pulumi.get(self, "software_installation_type")
2580
+
2581
+ @property
2582
+ @pulumi.getter(name="softwareVersion")
2583
+ def software_version(self) -> str:
2584
+ """
2585
+ The software version to install.
2586
+ """
2587
+ return pulumi.get(self, "software_version")
2588
+
2589
+ @property
2590
+ @pulumi.getter(name="highAvailabilitySoftwareConfiguration")
2591
+ def high_availability_software_configuration(self) -> Optional['outputs.HighAvailabilitySoftwareConfigurationResponse']:
2592
+ """
2593
+ Gets or sets the HA software configuration.
2594
+ """
2595
+ return pulumi.get(self, "high_availability_software_configuration")
2596
+
2597
+
2598
+ @pulumi.output_type
2599
+ class SAPSupportedSkuResponse(dict):
2600
+ """
2601
+ The SAP supported SKU.
2602
+ """
2603
+ def __init__(__self__, *,
2604
+ is_app_server_certified: Optional[bool] = None,
2605
+ is_database_certified: Optional[bool] = None,
2606
+ vm_sku: Optional[str] = None):
2607
+ """
2608
+ The SAP supported SKU.
2609
+ :param bool is_app_server_certified: True if the Sku is certified for App server in the SAP system.
2610
+ :param bool is_database_certified: True if the Sku is certified for Database server in the SAP system.
2611
+ :param str vm_sku: The VM Sku.
2612
+ """
2613
+ if is_app_server_certified is not None:
2614
+ pulumi.set(__self__, "is_app_server_certified", is_app_server_certified)
2615
+ if is_database_certified is not None:
2616
+ pulumi.set(__self__, "is_database_certified", is_database_certified)
2617
+ if vm_sku is not None:
2618
+ pulumi.set(__self__, "vm_sku", vm_sku)
2619
+
2620
+ @property
2621
+ @pulumi.getter(name="isAppServerCertified")
2622
+ def is_app_server_certified(self) -> Optional[bool]:
2623
+ """
2624
+ True if the Sku is certified for App server in the SAP system.
2625
+ """
2626
+ return pulumi.get(self, "is_app_server_certified")
2627
+
2628
+ @property
2629
+ @pulumi.getter(name="isDatabaseCertified")
2630
+ def is_database_certified(self) -> Optional[bool]:
2631
+ """
2632
+ True if the Sku is certified for Database server in the SAP system.
2633
+ """
2634
+ return pulumi.get(self, "is_database_certified")
2635
+
2636
+ @property
2637
+ @pulumi.getter(name="vmSku")
2638
+ def vm_sku(self) -> Optional[str]:
2639
+ """
2640
+ The VM Sku.
2641
+ """
2642
+ return pulumi.get(self, "vm_sku")
2643
+
2644
+
2645
+ @pulumi.output_type
2646
+ class SAPVirtualInstanceErrorResponse(dict):
2647
+ """
2648
+ An error response from the Virtual Instance for SAP Workload service.
2649
+ """
2650
+ def __init__(__self__, *,
2651
+ properties: Optional['outputs.ErrorDefinitionResponse'] = None):
2652
+ """
2653
+ An error response from the Virtual Instance for SAP Workload service.
2654
+ :param 'ErrorDefinitionResponse' properties: The Virtual Instance for SAP error body.
2655
+ """
2656
+ if properties is not None:
2657
+ pulumi.set(__self__, "properties", properties)
2658
+
2659
+ @property
2660
+ @pulumi.getter
2661
+ def properties(self) -> Optional['outputs.ErrorDefinitionResponse']:
2662
+ """
2663
+ The Virtual Instance for SAP error body.
2664
+ """
2665
+ return pulumi.get(self, "properties")
2666
+
2667
+
2668
+ @pulumi.output_type
2669
+ class ServiceInitiatedSoftwareConfigurationResponse(dict):
2670
+ """
2671
+ The SAP Software configuration Input when the software is to be installed by service.
2672
+ """
2673
+ @staticmethod
2674
+ def __key_warning(key: str):
2675
+ suggest = None
2676
+ if key == "bomUrl":
2677
+ suggest = "bom_url"
2678
+ elif key == "sapBitsStorageAccountId":
2679
+ suggest = "sap_bits_storage_account_id"
2680
+ elif key == "sapFqdn":
2681
+ suggest = "sap_fqdn"
2682
+ elif key == "softwareInstallationType":
2683
+ suggest = "software_installation_type"
2684
+ elif key == "softwareVersion":
2685
+ suggest = "software_version"
2686
+ elif key == "sshPrivateKey":
2687
+ suggest = "ssh_private_key"
2688
+ elif key == "highAvailabilitySoftwareConfiguration":
2689
+ suggest = "high_availability_software_configuration"
2690
+
2691
+ if suggest:
2692
+ pulumi.log.warn(f"Key '{key}' not found in ServiceInitiatedSoftwareConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
2693
+
2694
+ def __getitem__(self, key: str) -> Any:
2695
+ ServiceInitiatedSoftwareConfigurationResponse.__key_warning(key)
2696
+ return super().__getitem__(key)
2697
+
2698
+ def get(self, key: str, default = None) -> Any:
2699
+ ServiceInitiatedSoftwareConfigurationResponse.__key_warning(key)
2700
+ return super().get(key, default)
2701
+
2702
+ def __init__(__self__, *,
2703
+ bom_url: str,
2704
+ sap_bits_storage_account_id: str,
2705
+ sap_fqdn: str,
2706
+ software_installation_type: str,
2707
+ software_version: str,
2708
+ ssh_private_key: str,
2709
+ high_availability_software_configuration: Optional['outputs.HighAvailabilitySoftwareConfigurationResponse'] = None):
2710
+ """
2711
+ The SAP Software configuration Input when the software is to be installed by service.
2712
+ :param str bom_url: The URL to the SAP Build of Materials(BOM) file.
2713
+ :param str sap_bits_storage_account_id: The SAP bits storage account id.
2714
+ :param str sap_fqdn: The FQDN to set for the SAP system during install.
2715
+ :param str software_installation_type: The SAP software installation Type.
2716
+ Expected value is 'ServiceInitiated'.
2717
+ :param str software_version: The software version to install.
2718
+ :param str ssh_private_key: The SSH private key.
2719
+ :param 'HighAvailabilitySoftwareConfigurationResponse' high_availability_software_configuration: Gets or sets the HA software configuration.
2720
+ """
2721
+ pulumi.set(__self__, "bom_url", bom_url)
2722
+ pulumi.set(__self__, "sap_bits_storage_account_id", sap_bits_storage_account_id)
2723
+ pulumi.set(__self__, "sap_fqdn", sap_fqdn)
2724
+ pulumi.set(__self__, "software_installation_type", 'ServiceInitiated')
2725
+ pulumi.set(__self__, "software_version", software_version)
2726
+ pulumi.set(__self__, "ssh_private_key", ssh_private_key)
2727
+ if high_availability_software_configuration is not None:
2728
+ pulumi.set(__self__, "high_availability_software_configuration", high_availability_software_configuration)
2729
+
2730
+ @property
2731
+ @pulumi.getter(name="bomUrl")
2732
+ def bom_url(self) -> str:
2733
+ """
2734
+ The URL to the SAP Build of Materials(BOM) file.
2735
+ """
2736
+ return pulumi.get(self, "bom_url")
2737
+
2738
+ @property
2739
+ @pulumi.getter(name="sapBitsStorageAccountId")
2740
+ def sap_bits_storage_account_id(self) -> str:
2741
+ """
2742
+ The SAP bits storage account id.
2743
+ """
2744
+ return pulumi.get(self, "sap_bits_storage_account_id")
2745
+
2746
+ @property
2747
+ @pulumi.getter(name="sapFqdn")
2748
+ def sap_fqdn(self) -> str:
2749
+ """
2750
+ The FQDN to set for the SAP system during install.
2751
+ """
2752
+ return pulumi.get(self, "sap_fqdn")
2753
+
2754
+ @property
2755
+ @pulumi.getter(name="softwareInstallationType")
2756
+ def software_installation_type(self) -> str:
2757
+ """
2758
+ The SAP software installation Type.
2759
+ Expected value is 'ServiceInitiated'.
2760
+ """
2761
+ return pulumi.get(self, "software_installation_type")
2762
+
2763
+ @property
2764
+ @pulumi.getter(name="softwareVersion")
2765
+ def software_version(self) -> str:
2766
+ """
2767
+ The software version to install.
2768
+ """
2769
+ return pulumi.get(self, "software_version")
2770
+
2771
+ @property
2772
+ @pulumi.getter(name="sshPrivateKey")
2773
+ def ssh_private_key(self) -> str:
2774
+ """
2775
+ The SSH private key.
2776
+ """
2777
+ return pulumi.get(self, "ssh_private_key")
2778
+
2779
+ @property
2780
+ @pulumi.getter(name="highAvailabilitySoftwareConfiguration")
2781
+ def high_availability_software_configuration(self) -> Optional['outputs.HighAvailabilitySoftwareConfigurationResponse']:
2782
+ """
2783
+ Gets or sets the HA software configuration.
2784
+ """
2785
+ return pulumi.get(self, "high_availability_software_configuration")
2786
+
2787
+
2788
+ @pulumi.output_type
2789
+ class SharedStorageResourceNamesResponse(dict):
2790
+ """
2791
+ The resource names object for shared storage.
2792
+ """
2793
+ @staticmethod
2794
+ def __key_warning(key: str):
2795
+ suggest = None
2796
+ if key == "sharedStorageAccountName":
2797
+ suggest = "shared_storage_account_name"
2798
+ elif key == "sharedStorageAccountPrivateEndPointName":
2799
+ suggest = "shared_storage_account_private_end_point_name"
2800
+
2801
+ if suggest:
2802
+ pulumi.log.warn(f"Key '{key}' not found in SharedStorageResourceNamesResponse. Access the value via the '{suggest}' property getter instead.")
2803
+
2804
+ def __getitem__(self, key: str) -> Any:
2805
+ SharedStorageResourceNamesResponse.__key_warning(key)
2806
+ return super().__getitem__(key)
2807
+
2808
+ def get(self, key: str, default = None) -> Any:
2809
+ SharedStorageResourceNamesResponse.__key_warning(key)
2810
+ return super().get(key, default)
2811
+
2812
+ def __init__(__self__, *,
2813
+ shared_storage_account_name: Optional[str] = None,
2814
+ shared_storage_account_private_end_point_name: Optional[str] = None):
2815
+ """
2816
+ The resource names object for shared storage.
2817
+ :param str shared_storage_account_name: The full name of the shared storage account. If it is not provided, it will be defaulted to {SID}nfs{guid of 15 chars}.
2818
+ :param str shared_storage_account_private_end_point_name: The full name of private end point for the shared storage account. If it is not provided, it will be defaulted to {storageAccountName}_pe
2819
+ """
2820
+ if shared_storage_account_name is not None:
2821
+ pulumi.set(__self__, "shared_storage_account_name", shared_storage_account_name)
2822
+ if shared_storage_account_private_end_point_name is not None:
2823
+ pulumi.set(__self__, "shared_storage_account_private_end_point_name", shared_storage_account_private_end_point_name)
2824
+
2825
+ @property
2826
+ @pulumi.getter(name="sharedStorageAccountName")
2827
+ def shared_storage_account_name(self) -> Optional[str]:
2828
+ """
2829
+ The full name of the shared storage account. If it is not provided, it will be defaulted to {SID}nfs{guid of 15 chars}.
2830
+ """
2831
+ return pulumi.get(self, "shared_storage_account_name")
2832
+
2833
+ @property
2834
+ @pulumi.getter(name="sharedStorageAccountPrivateEndPointName")
2835
+ def shared_storage_account_private_end_point_name(self) -> Optional[str]:
2836
+ """
2837
+ The full name of private end point for the shared storage account. If it is not provided, it will be defaulted to {storageAccountName}_pe
2838
+ """
2839
+ return pulumi.get(self, "shared_storage_account_private_end_point_name")
2840
+
2841
+
2842
+ @pulumi.output_type
2843
+ class SingleServerConfigurationResponse(dict):
2844
+ """
2845
+ Gets or sets the single server configuration. For prerequisites for creating the infrastructure, please see [here](https://go.microsoft.com/fwlink/?linkid=2212611&clcid=0x409)
2846
+ """
2847
+ @staticmethod
2848
+ def __key_warning(key: str):
2849
+ suggest = None
2850
+ if key == "appResourceGroup":
2851
+ suggest = "app_resource_group"
2852
+ elif key == "deploymentType":
2853
+ suggest = "deployment_type"
2854
+ elif key == "subnetId":
2855
+ suggest = "subnet_id"
2856
+ elif key == "virtualMachineConfiguration":
2857
+ suggest = "virtual_machine_configuration"
2858
+ elif key == "customResourceNames":
2859
+ suggest = "custom_resource_names"
2860
+ elif key == "databaseType":
2861
+ suggest = "database_type"
2862
+ elif key == "dbDiskConfiguration":
2863
+ suggest = "db_disk_configuration"
2864
+ elif key == "networkConfiguration":
2865
+ suggest = "network_configuration"
2866
+
2867
+ if suggest:
2868
+ pulumi.log.warn(f"Key '{key}' not found in SingleServerConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
2869
+
2870
+ def __getitem__(self, key: str) -> Any:
2871
+ SingleServerConfigurationResponse.__key_warning(key)
2872
+ return super().__getitem__(key)
2873
+
2874
+ def get(self, key: str, default = None) -> Any:
2875
+ SingleServerConfigurationResponse.__key_warning(key)
2876
+ return super().get(key, default)
2877
+
2878
+ def __init__(__self__, *,
2879
+ app_resource_group: str,
2880
+ deployment_type: str,
2881
+ subnet_id: str,
2882
+ virtual_machine_configuration: 'outputs.VirtualMachineConfigurationResponse',
2883
+ custom_resource_names: Optional['outputs.SingleServerFullResourceNamesResponse'] = None,
2884
+ database_type: Optional[str] = None,
2885
+ db_disk_configuration: Optional['outputs.DiskConfigurationResponse'] = None,
2886
+ network_configuration: Optional['outputs.NetworkConfigurationResponse'] = None):
2887
+ """
2888
+ Gets or sets the single server configuration. For prerequisites for creating the infrastructure, please see [here](https://go.microsoft.com/fwlink/?linkid=2212611&clcid=0x409)
2889
+ :param str app_resource_group: The application resource group where SAP system resources will be deployed.
2890
+ :param str deployment_type: The type of SAP deployment, single server or Three tier.
2891
+ Expected value is 'SingleServer'.
2892
+ :param str subnet_id: The subnet id.
2893
+ :param 'VirtualMachineConfigurationResponse' virtual_machine_configuration: Gets or sets the virtual machine configuration.
2894
+ :param 'SingleServerFullResourceNamesResponse' custom_resource_names: The set of custom names to be used for underlying azure resources that are part of the SAP system.
2895
+ :param str database_type: The database type.
2896
+ :param 'DiskConfigurationResponse' db_disk_configuration: Gets or sets the disk configuration.
2897
+ :param 'NetworkConfigurationResponse' network_configuration: Network configuration for the server
2898
+ """
2899
+ pulumi.set(__self__, "app_resource_group", app_resource_group)
2900
+ pulumi.set(__self__, "deployment_type", 'SingleServer')
2901
+ pulumi.set(__self__, "subnet_id", subnet_id)
2902
+ pulumi.set(__self__, "virtual_machine_configuration", virtual_machine_configuration)
2903
+ if custom_resource_names is not None:
2904
+ pulumi.set(__self__, "custom_resource_names", custom_resource_names)
2905
+ if database_type is not None:
2906
+ pulumi.set(__self__, "database_type", database_type)
2907
+ if db_disk_configuration is not None:
2908
+ pulumi.set(__self__, "db_disk_configuration", db_disk_configuration)
2909
+ if network_configuration is not None:
2910
+ pulumi.set(__self__, "network_configuration", network_configuration)
2911
+
2912
+ @property
2913
+ @pulumi.getter(name="appResourceGroup")
2914
+ def app_resource_group(self) -> str:
2915
+ """
2916
+ The application resource group where SAP system resources will be deployed.
2917
+ """
2918
+ return pulumi.get(self, "app_resource_group")
2919
+
2920
+ @property
2921
+ @pulumi.getter(name="deploymentType")
2922
+ def deployment_type(self) -> str:
2923
+ """
2924
+ The type of SAP deployment, single server or Three tier.
2925
+ Expected value is 'SingleServer'.
2926
+ """
2927
+ return pulumi.get(self, "deployment_type")
2928
+
2929
+ @property
2930
+ @pulumi.getter(name="subnetId")
2931
+ def subnet_id(self) -> str:
2932
+ """
2933
+ The subnet id.
2934
+ """
2935
+ return pulumi.get(self, "subnet_id")
2936
+
2937
+ @property
2938
+ @pulumi.getter(name="virtualMachineConfiguration")
2939
+ def virtual_machine_configuration(self) -> 'outputs.VirtualMachineConfigurationResponse':
2940
+ """
2941
+ Gets or sets the virtual machine configuration.
2942
+ """
2943
+ return pulumi.get(self, "virtual_machine_configuration")
2944
+
2945
+ @property
2946
+ @pulumi.getter(name="customResourceNames")
2947
+ def custom_resource_names(self) -> Optional['outputs.SingleServerFullResourceNamesResponse']:
2948
+ """
2949
+ The set of custom names to be used for underlying azure resources that are part of the SAP system.
2950
+ """
2951
+ return pulumi.get(self, "custom_resource_names")
2952
+
2953
+ @property
2954
+ @pulumi.getter(name="databaseType")
2955
+ def database_type(self) -> Optional[str]:
2956
+ """
2957
+ The database type.
2958
+ """
2959
+ return pulumi.get(self, "database_type")
2960
+
2961
+ @property
2962
+ @pulumi.getter(name="dbDiskConfiguration")
2963
+ def db_disk_configuration(self) -> Optional['outputs.DiskConfigurationResponse']:
2964
+ """
2965
+ Gets or sets the disk configuration.
2966
+ """
2967
+ return pulumi.get(self, "db_disk_configuration")
2968
+
2969
+ @property
2970
+ @pulumi.getter(name="networkConfiguration")
2971
+ def network_configuration(self) -> Optional['outputs.NetworkConfigurationResponse']:
2972
+ """
2973
+ Network configuration for the server
2974
+ """
2975
+ return pulumi.get(self, "network_configuration")
2976
+
2977
+
2978
+ @pulumi.output_type
2979
+ class SingleServerFullResourceNamesResponse(dict):
2980
+ """
2981
+ The resource name object where the specified values will be full resource names of the corresponding resources in a single server SAP system.
2982
+ """
2983
+ @staticmethod
2984
+ def __key_warning(key: str):
2985
+ suggest = None
2986
+ if key == "namingPatternType":
2987
+ suggest = "naming_pattern_type"
2988
+ elif key == "virtualMachine":
2989
+ suggest = "virtual_machine"
2990
+
2991
+ if suggest:
2992
+ pulumi.log.warn(f"Key '{key}' not found in SingleServerFullResourceNamesResponse. Access the value via the '{suggest}' property getter instead.")
2993
+
2994
+ def __getitem__(self, key: str) -> Any:
2995
+ SingleServerFullResourceNamesResponse.__key_warning(key)
2996
+ return super().__getitem__(key)
2997
+
2998
+ def get(self, key: str, default = None) -> Any:
2999
+ SingleServerFullResourceNamesResponse.__key_warning(key)
3000
+ return super().get(key, default)
3001
+
3002
+ def __init__(__self__, *,
3003
+ naming_pattern_type: str,
3004
+ virtual_machine: Optional['outputs.VirtualMachineResourceNamesResponse'] = None):
3005
+ """
3006
+ The resource name object where the specified values will be full resource names of the corresponding resources in a single server SAP system.
3007
+ :param str naming_pattern_type: The pattern type to be used for resource naming.
3008
+ Expected value is 'FullResourceName'.
3009
+ :param 'VirtualMachineResourceNamesResponse' virtual_machine: The resource names object for virtual machine and related resources.
3010
+ """
3011
+ pulumi.set(__self__, "naming_pattern_type", 'FullResourceName')
3012
+ if virtual_machine is not None:
3013
+ pulumi.set(__self__, "virtual_machine", virtual_machine)
3014
+
3015
+ @property
3016
+ @pulumi.getter(name="namingPatternType")
3017
+ def naming_pattern_type(self) -> str:
3018
+ """
3019
+ The pattern type to be used for resource naming.
3020
+ Expected value is 'FullResourceName'.
3021
+ """
3022
+ return pulumi.get(self, "naming_pattern_type")
3023
+
3024
+ @property
3025
+ @pulumi.getter(name="virtualMachine")
3026
+ def virtual_machine(self) -> Optional['outputs.VirtualMachineResourceNamesResponse']:
3027
+ """
3028
+ The resource names object for virtual machine and related resources.
3029
+ """
3030
+ return pulumi.get(self, "virtual_machine")
3031
+
3032
+
3033
+ @pulumi.output_type
3034
+ class SkipFileShareConfigurationResponse(dict):
3035
+ """
3036
+ Gets or sets the file share configuration for scenarios where transport directory fileshare is not created or required.
3037
+ """
3038
+ @staticmethod
3039
+ def __key_warning(key: str):
3040
+ suggest = None
3041
+ if key == "configurationType":
3042
+ suggest = "configuration_type"
3043
+
3044
+ if suggest:
3045
+ pulumi.log.warn(f"Key '{key}' not found in SkipFileShareConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
3046
+
3047
+ def __getitem__(self, key: str) -> Any:
3048
+ SkipFileShareConfigurationResponse.__key_warning(key)
3049
+ return super().__getitem__(key)
3050
+
3051
+ def get(self, key: str, default = None) -> Any:
3052
+ SkipFileShareConfigurationResponse.__key_warning(key)
3053
+ return super().get(key, default)
3054
+
3055
+ def __init__(__self__, *,
3056
+ configuration_type: str):
3057
+ """
3058
+ Gets or sets the file share configuration for scenarios where transport directory fileshare is not created or required.
3059
+ :param str configuration_type: The type of file share config.
3060
+ Expected value is 'Skip'.
3061
+ """
3062
+ pulumi.set(__self__, "configuration_type", 'Skip')
3063
+
3064
+ @property
3065
+ @pulumi.getter(name="configurationType")
3066
+ def configuration_type(self) -> str:
3067
+ """
3068
+ The type of file share config.
3069
+ Expected value is 'Skip'.
3070
+ """
3071
+ return pulumi.get(self, "configuration_type")
3072
+
3073
+
3074
+ @pulumi.output_type
3075
+ class SshConfigurationResponse(dict):
3076
+ """
3077
+ SSH configuration for Linux based VMs running on Azure
3078
+ """
3079
+ @staticmethod
3080
+ def __key_warning(key: str):
3081
+ suggest = None
3082
+ if key == "publicKeys":
3083
+ suggest = "public_keys"
3084
+
3085
+ if suggest:
3086
+ pulumi.log.warn(f"Key '{key}' not found in SshConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
3087
+
3088
+ def __getitem__(self, key: str) -> Any:
3089
+ SshConfigurationResponse.__key_warning(key)
3090
+ return super().__getitem__(key)
3091
+
3092
+ def get(self, key: str, default = None) -> Any:
3093
+ SshConfigurationResponse.__key_warning(key)
3094
+ return super().get(key, default)
3095
+
3096
+ def __init__(__self__, *,
3097
+ public_keys: Optional[Sequence['outputs.SshPublicKeyResponse']] = None):
3098
+ """
3099
+ SSH configuration for Linux based VMs running on Azure
3100
+ :param Sequence['SshPublicKeyResponse'] public_keys: The list of SSH public keys used to authenticate with linux based VMs.
3101
+ """
3102
+ if public_keys is not None:
3103
+ pulumi.set(__self__, "public_keys", public_keys)
3104
+
3105
+ @property
3106
+ @pulumi.getter(name="publicKeys")
3107
+ def public_keys(self) -> Optional[Sequence['outputs.SshPublicKeyResponse']]:
3108
+ """
3109
+ The list of SSH public keys used to authenticate with linux based VMs.
3110
+ """
3111
+ return pulumi.get(self, "public_keys")
3112
+
3113
+
3114
+ @pulumi.output_type
3115
+ class SshKeyPairResponse(dict):
3116
+ """
3117
+ The SSH Key-pair used to authenticate with the VM. The key needs to be at least 2048-bit and in ssh-rsa format. <br><br> For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
3118
+ """
3119
+ @staticmethod
3120
+ def __key_warning(key: str):
3121
+ suggest = None
3122
+ if key == "privateKey":
3123
+ suggest = "private_key"
3124
+ elif key == "publicKey":
3125
+ suggest = "public_key"
3126
+
3127
+ if suggest:
3128
+ pulumi.log.warn(f"Key '{key}' not found in SshKeyPairResponse. Access the value via the '{suggest}' property getter instead.")
3129
+
3130
+ def __getitem__(self, key: str) -> Any:
3131
+ SshKeyPairResponse.__key_warning(key)
3132
+ return super().__getitem__(key)
3133
+
3134
+ def get(self, key: str, default = None) -> Any:
3135
+ SshKeyPairResponse.__key_warning(key)
3136
+ return super().get(key, default)
3137
+
3138
+ def __init__(__self__, *,
3139
+ private_key: Optional[str] = None,
3140
+ public_key: Optional[str] = None):
3141
+ """
3142
+ The SSH Key-pair used to authenticate with the VM. The key needs to be at least 2048-bit and in ssh-rsa format. <br><br> For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
3143
+ :param str private_key: SSH private key.
3144
+ :param str public_key: SSH public key
3145
+ """
3146
+ if private_key is not None:
3147
+ pulumi.set(__self__, "private_key", private_key)
3148
+ if public_key is not None:
3149
+ pulumi.set(__self__, "public_key", public_key)
3150
+
3151
+ @property
3152
+ @pulumi.getter(name="privateKey")
3153
+ def private_key(self) -> Optional[str]:
3154
+ """
3155
+ SSH private key.
3156
+ """
3157
+ return pulumi.get(self, "private_key")
3158
+
3159
+ @property
3160
+ @pulumi.getter(name="publicKey")
3161
+ def public_key(self) -> Optional[str]:
3162
+ """
3163
+ SSH public key
3164
+ """
3165
+ return pulumi.get(self, "public_key")
3166
+
3167
+
3168
+ @pulumi.output_type
3169
+ class SshPublicKeyResponse(dict):
3170
+ """
3171
+ Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed.
3172
+ """
3173
+ @staticmethod
3174
+ def __key_warning(key: str):
3175
+ suggest = None
3176
+ if key == "keyData":
3177
+ suggest = "key_data"
3178
+
3179
+ if suggest:
3180
+ pulumi.log.warn(f"Key '{key}' not found in SshPublicKeyResponse. Access the value via the '{suggest}' property getter instead.")
3181
+
3182
+ def __getitem__(self, key: str) -> Any:
3183
+ SshPublicKeyResponse.__key_warning(key)
3184
+ return super().__getitem__(key)
3185
+
3186
+ def get(self, key: str, default = None) -> Any:
3187
+ SshPublicKeyResponse.__key_warning(key)
3188
+ return super().get(key, default)
3189
+
3190
+ def __init__(__self__, *,
3191
+ key_data: Optional[str] = None):
3192
+ """
3193
+ Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed.
3194
+ :param str key_data: SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. <br><br> For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
3195
+ """
3196
+ if key_data is not None:
3197
+ pulumi.set(__self__, "key_data", key_data)
3198
+
3199
+ @property
3200
+ @pulumi.getter(name="keyData")
3201
+ def key_data(self) -> Optional[str]:
3202
+ """
3203
+ SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format. <br><br> For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/linux/create-ssh-keys-detailed).
3204
+ """
3205
+ return pulumi.get(self, "key_data")
3206
+
3207
+
3208
+ @pulumi.output_type
3209
+ class StorageConfigurationResponse(dict):
3210
+ """
3211
+ Gets or sets the storage configuration.
3212
+ """
3213
+ @staticmethod
3214
+ def __key_warning(key: str):
3215
+ suggest = None
3216
+ if key == "transportFileShareConfiguration":
3217
+ suggest = "transport_file_share_configuration"
3218
+
3219
+ if suggest:
3220
+ pulumi.log.warn(f"Key '{key}' not found in StorageConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
3221
+
3222
+ def __getitem__(self, key: str) -> Any:
3223
+ StorageConfigurationResponse.__key_warning(key)
3224
+ return super().__getitem__(key)
3225
+
3226
+ def get(self, key: str, default = None) -> Any:
3227
+ StorageConfigurationResponse.__key_warning(key)
3228
+ return super().get(key, default)
3229
+
3230
+ def __init__(__self__, *,
3231
+ transport_file_share_configuration: Optional[Any] = None):
3232
+ """
3233
+ Gets or sets the storage configuration.
3234
+ :param Union['CreateAndMountFileShareConfigurationResponse', 'MountFileShareConfigurationResponse', 'SkipFileShareConfigurationResponse'] transport_file_share_configuration: The properties of the transport directory attached to the VIS. The default for transportFileShareConfiguration is the createAndMount flow if storage configuration is missing.
3235
+ """
3236
+ if transport_file_share_configuration is not None:
3237
+ pulumi.set(__self__, "transport_file_share_configuration", transport_file_share_configuration)
3238
+
3239
+ @property
3240
+ @pulumi.getter(name="transportFileShareConfiguration")
3241
+ def transport_file_share_configuration(self) -> Optional[Any]:
3242
+ """
3243
+ The properties of the transport directory attached to the VIS. The default for transportFileShareConfiguration is the createAndMount flow if storage configuration is missing.
3244
+ """
3245
+ return pulumi.get(self, "transport_file_share_configuration")
3246
+
3247
+
3248
+ @pulumi.output_type
3249
+ class StorageInformationResponse(dict):
3250
+ """
3251
+ Storage details of all the Storage accounts attached to the VM. For e.g. NFS on AFS Shared Storage.
3252
+ """
3253
+ def __init__(__self__, *,
3254
+ id: str):
3255
+ """
3256
+ Storage details of all the Storage accounts attached to the VM. For e.g. NFS on AFS Shared Storage.
3257
+ :param str id: Fully qualified resource ID for the storage account.
3258
+ """
3259
+ pulumi.set(__self__, "id", id)
3260
+
3261
+ @property
3262
+ @pulumi.getter
3263
+ def id(self) -> str:
3264
+ """
3265
+ Fully qualified resource ID for the storage account.
3266
+ """
3267
+ return pulumi.get(self, "id")
3268
+
3269
+
3270
+ @pulumi.output_type
3271
+ class SystemDataResponse(dict):
3272
+ """
3273
+ Metadata pertaining to creation and last modification of the resource.
3274
+ """
3275
+ @staticmethod
3276
+ def __key_warning(key: str):
3277
+ suggest = None
3278
+ if key == "createdAt":
3279
+ suggest = "created_at"
3280
+ elif key == "createdBy":
3281
+ suggest = "created_by"
3282
+ elif key == "createdByType":
3283
+ suggest = "created_by_type"
3284
+ elif key == "lastModifiedAt":
3285
+ suggest = "last_modified_at"
3286
+ elif key == "lastModifiedBy":
3287
+ suggest = "last_modified_by"
3288
+ elif key == "lastModifiedByType":
3289
+ suggest = "last_modified_by_type"
3290
+
3291
+ if suggest:
3292
+ pulumi.log.warn(f"Key '{key}' not found in SystemDataResponse. Access the value via the '{suggest}' property getter instead.")
3293
+
3294
+ def __getitem__(self, key: str) -> Any:
3295
+ SystemDataResponse.__key_warning(key)
3296
+ return super().__getitem__(key)
3297
+
3298
+ def get(self, key: str, default = None) -> Any:
3299
+ SystemDataResponse.__key_warning(key)
3300
+ return super().get(key, default)
3301
+
3302
+ def __init__(__self__, *,
3303
+ created_at: Optional[str] = None,
3304
+ created_by: Optional[str] = None,
3305
+ created_by_type: Optional[str] = None,
3306
+ last_modified_at: Optional[str] = None,
3307
+ last_modified_by: Optional[str] = None,
3308
+ last_modified_by_type: Optional[str] = None):
3309
+ """
3310
+ Metadata pertaining to creation and last modification of the resource.
3311
+ :param str created_at: The timestamp of resource creation (UTC).
3312
+ :param str created_by: The identity that created the resource.
3313
+ :param str created_by_type: The type of identity that created the resource.
3314
+ :param str last_modified_at: The timestamp of resource last modification (UTC)
3315
+ :param str last_modified_by: The identity that last modified the resource.
3316
+ :param str last_modified_by_type: The type of identity that last modified the resource.
3317
+ """
3318
+ if created_at is not None:
3319
+ pulumi.set(__self__, "created_at", created_at)
3320
+ if created_by is not None:
3321
+ pulumi.set(__self__, "created_by", created_by)
3322
+ if created_by_type is not None:
3323
+ pulumi.set(__self__, "created_by_type", created_by_type)
3324
+ if last_modified_at is not None:
3325
+ pulumi.set(__self__, "last_modified_at", last_modified_at)
3326
+ if last_modified_by is not None:
3327
+ pulumi.set(__self__, "last_modified_by", last_modified_by)
3328
+ if last_modified_by_type is not None:
3329
+ pulumi.set(__self__, "last_modified_by_type", last_modified_by_type)
3330
+
3331
+ @property
3332
+ @pulumi.getter(name="createdAt")
3333
+ def created_at(self) -> Optional[str]:
3334
+ """
3335
+ The timestamp of resource creation (UTC).
3336
+ """
3337
+ return pulumi.get(self, "created_at")
3338
+
3339
+ @property
3340
+ @pulumi.getter(name="createdBy")
3341
+ def created_by(self) -> Optional[str]:
3342
+ """
3343
+ The identity that created the resource.
3344
+ """
3345
+ return pulumi.get(self, "created_by")
3346
+
3347
+ @property
3348
+ @pulumi.getter(name="createdByType")
3349
+ def created_by_type(self) -> Optional[str]:
3350
+ """
3351
+ The type of identity that created the resource.
3352
+ """
3353
+ return pulumi.get(self, "created_by_type")
3354
+
3355
+ @property
3356
+ @pulumi.getter(name="lastModifiedAt")
3357
+ def last_modified_at(self) -> Optional[str]:
3358
+ """
3359
+ The timestamp of resource last modification (UTC)
3360
+ """
3361
+ return pulumi.get(self, "last_modified_at")
3362
+
3363
+ @property
3364
+ @pulumi.getter(name="lastModifiedBy")
3365
+ def last_modified_by(self) -> Optional[str]:
3366
+ """
3367
+ The identity that last modified the resource.
3368
+ """
3369
+ return pulumi.get(self, "last_modified_by")
3370
+
3371
+ @property
3372
+ @pulumi.getter(name="lastModifiedByType")
3373
+ def last_modified_by_type(self) -> Optional[str]:
3374
+ """
3375
+ The type of identity that last modified the resource.
3376
+ """
3377
+ return pulumi.get(self, "last_modified_by_type")
3378
+
3379
+
3380
+ @pulumi.output_type
3381
+ class ThreeTierConfigurationResponse(dict):
3382
+ """
3383
+ Gets or sets the three tier SAP configuration. For prerequisites for creating the infrastructure, please see [here](https://go.microsoft.com/fwlink/?linkid=2212611&clcid=0x409)
3384
+ """
3385
+ @staticmethod
3386
+ def __key_warning(key: str):
3387
+ suggest = None
3388
+ if key == "appResourceGroup":
3389
+ suggest = "app_resource_group"
3390
+ elif key == "applicationServer":
3391
+ suggest = "application_server"
3392
+ elif key == "centralServer":
3393
+ suggest = "central_server"
3394
+ elif key == "databaseServer":
3395
+ suggest = "database_server"
3396
+ elif key == "deploymentType":
3397
+ suggest = "deployment_type"
3398
+ elif key == "customResourceNames":
3399
+ suggest = "custom_resource_names"
3400
+ elif key == "highAvailabilityConfig":
3401
+ suggest = "high_availability_config"
3402
+ elif key == "networkConfiguration":
3403
+ suggest = "network_configuration"
3404
+ elif key == "storageConfiguration":
3405
+ suggest = "storage_configuration"
3406
+
3407
+ if suggest:
3408
+ pulumi.log.warn(f"Key '{key}' not found in ThreeTierConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
3409
+
3410
+ def __getitem__(self, key: str) -> Any:
3411
+ ThreeTierConfigurationResponse.__key_warning(key)
3412
+ return super().__getitem__(key)
3413
+
3414
+ def get(self, key: str, default = None) -> Any:
3415
+ ThreeTierConfigurationResponse.__key_warning(key)
3416
+ return super().get(key, default)
3417
+
3418
+ def __init__(__self__, *,
3419
+ app_resource_group: str,
3420
+ application_server: 'outputs.ApplicationServerConfigurationResponse',
3421
+ central_server: 'outputs.CentralServerConfigurationResponse',
3422
+ database_server: 'outputs.DatabaseConfigurationResponse',
3423
+ deployment_type: str,
3424
+ custom_resource_names: Optional['outputs.ThreeTierFullResourceNamesResponse'] = None,
3425
+ high_availability_config: Optional['outputs.HighAvailabilityConfigurationResponse'] = None,
3426
+ network_configuration: Optional['outputs.NetworkConfigurationResponse'] = None,
3427
+ storage_configuration: Optional['outputs.StorageConfigurationResponse'] = None):
3428
+ """
3429
+ Gets or sets the three tier SAP configuration. For prerequisites for creating the infrastructure, please see [here](https://go.microsoft.com/fwlink/?linkid=2212611&clcid=0x409)
3430
+ :param str app_resource_group: The application resource group where SAP system resources will be deployed.
3431
+ :param 'ApplicationServerConfigurationResponse' application_server: The application server configuration.
3432
+ :param 'CentralServerConfigurationResponse' central_server: The central server configuration.
3433
+ :param 'DatabaseConfigurationResponse' database_server: The database configuration.
3434
+ :param str deployment_type: The type of SAP deployment, single server or Three tier.
3435
+ Expected value is 'ThreeTier'.
3436
+ :param 'ThreeTierFullResourceNamesResponse' custom_resource_names: The set of custom names to be used for underlying azure resources that are part of the SAP system.
3437
+ :param 'HighAvailabilityConfigurationResponse' high_availability_config: The high availability configuration.
3438
+ :param 'NetworkConfigurationResponse' network_configuration: Network configuration common to all servers
3439
+ :param 'StorageConfigurationResponse' storage_configuration: The storage configuration.
3440
+ """
3441
+ pulumi.set(__self__, "app_resource_group", app_resource_group)
3442
+ pulumi.set(__self__, "application_server", application_server)
3443
+ pulumi.set(__self__, "central_server", central_server)
3444
+ pulumi.set(__self__, "database_server", database_server)
3445
+ pulumi.set(__self__, "deployment_type", 'ThreeTier')
3446
+ if custom_resource_names is not None:
3447
+ pulumi.set(__self__, "custom_resource_names", custom_resource_names)
3448
+ if high_availability_config is not None:
3449
+ pulumi.set(__self__, "high_availability_config", high_availability_config)
3450
+ if network_configuration is not None:
3451
+ pulumi.set(__self__, "network_configuration", network_configuration)
3452
+ if storage_configuration is not None:
3453
+ pulumi.set(__self__, "storage_configuration", storage_configuration)
3454
+
3455
+ @property
3456
+ @pulumi.getter(name="appResourceGroup")
3457
+ def app_resource_group(self) -> str:
3458
+ """
3459
+ The application resource group where SAP system resources will be deployed.
3460
+ """
3461
+ return pulumi.get(self, "app_resource_group")
3462
+
3463
+ @property
3464
+ @pulumi.getter(name="applicationServer")
3465
+ def application_server(self) -> 'outputs.ApplicationServerConfigurationResponse':
3466
+ """
3467
+ The application server configuration.
3468
+ """
3469
+ return pulumi.get(self, "application_server")
3470
+
3471
+ @property
3472
+ @pulumi.getter(name="centralServer")
3473
+ def central_server(self) -> 'outputs.CentralServerConfigurationResponse':
3474
+ """
3475
+ The central server configuration.
3476
+ """
3477
+ return pulumi.get(self, "central_server")
3478
+
3479
+ @property
3480
+ @pulumi.getter(name="databaseServer")
3481
+ def database_server(self) -> 'outputs.DatabaseConfigurationResponse':
3482
+ """
3483
+ The database configuration.
3484
+ """
3485
+ return pulumi.get(self, "database_server")
3486
+
3487
+ @property
3488
+ @pulumi.getter(name="deploymentType")
3489
+ def deployment_type(self) -> str:
3490
+ """
3491
+ The type of SAP deployment, single server or Three tier.
3492
+ Expected value is 'ThreeTier'.
3493
+ """
3494
+ return pulumi.get(self, "deployment_type")
3495
+
3496
+ @property
3497
+ @pulumi.getter(name="customResourceNames")
3498
+ def custom_resource_names(self) -> Optional['outputs.ThreeTierFullResourceNamesResponse']:
3499
+ """
3500
+ The set of custom names to be used for underlying azure resources that are part of the SAP system.
3501
+ """
3502
+ return pulumi.get(self, "custom_resource_names")
3503
+
3504
+ @property
3505
+ @pulumi.getter(name="highAvailabilityConfig")
3506
+ def high_availability_config(self) -> Optional['outputs.HighAvailabilityConfigurationResponse']:
3507
+ """
3508
+ The high availability configuration.
3509
+ """
3510
+ return pulumi.get(self, "high_availability_config")
3511
+
3512
+ @property
3513
+ @pulumi.getter(name="networkConfiguration")
3514
+ def network_configuration(self) -> Optional['outputs.NetworkConfigurationResponse']:
3515
+ """
3516
+ Network configuration common to all servers
3517
+ """
3518
+ return pulumi.get(self, "network_configuration")
3519
+
3520
+ @property
3521
+ @pulumi.getter(name="storageConfiguration")
3522
+ def storage_configuration(self) -> Optional['outputs.StorageConfigurationResponse']:
3523
+ """
3524
+ The storage configuration.
3525
+ """
3526
+ return pulumi.get(self, "storage_configuration")
3527
+
3528
+
3529
+ @pulumi.output_type
3530
+ class ThreeTierFullResourceNamesResponse(dict):
3531
+ """
3532
+ The resource name object where the specified values will be full resource names of the corresponding resources in a three tier SAP system.
3533
+ """
3534
+ @staticmethod
3535
+ def __key_warning(key: str):
3536
+ suggest = None
3537
+ if key == "namingPatternType":
3538
+ suggest = "naming_pattern_type"
3539
+ elif key == "applicationServer":
3540
+ suggest = "application_server"
3541
+ elif key == "centralServer":
3542
+ suggest = "central_server"
3543
+ elif key == "databaseServer":
3544
+ suggest = "database_server"
3545
+ elif key == "sharedStorage":
3546
+ suggest = "shared_storage"
3547
+
3548
+ if suggest:
3549
+ pulumi.log.warn(f"Key '{key}' not found in ThreeTierFullResourceNamesResponse. Access the value via the '{suggest}' property getter instead.")
3550
+
3551
+ def __getitem__(self, key: str) -> Any:
3552
+ ThreeTierFullResourceNamesResponse.__key_warning(key)
3553
+ return super().__getitem__(key)
3554
+
3555
+ def get(self, key: str, default = None) -> Any:
3556
+ ThreeTierFullResourceNamesResponse.__key_warning(key)
3557
+ return super().get(key, default)
3558
+
3559
+ def __init__(__self__, *,
3560
+ naming_pattern_type: str,
3561
+ application_server: Optional['outputs.ApplicationServerFullResourceNamesResponse'] = None,
3562
+ central_server: Optional['outputs.CentralServerFullResourceNamesResponse'] = None,
3563
+ database_server: Optional['outputs.DatabaseServerFullResourceNamesResponse'] = None,
3564
+ shared_storage: Optional['outputs.SharedStorageResourceNamesResponse'] = None):
3565
+ """
3566
+ The resource name object where the specified values will be full resource names of the corresponding resources in a three tier SAP system.
3567
+ :param str naming_pattern_type: The pattern type to be used for resource naming.
3568
+ Expected value is 'FullResourceName'.
3569
+ :param 'ApplicationServerFullResourceNamesResponse' application_server: The full resource names object for application layer resources. The number of entries in this list should be equal to the number VMs to be created for application layer.
3570
+ :param 'CentralServerFullResourceNamesResponse' central_server: The full resource names object for central server layer resources.
3571
+ :param 'DatabaseServerFullResourceNamesResponse' database_server: The full resource names object for database layer resources. The number of entries in this list should be equal to the number VMs to be created for database layer.
3572
+ :param 'SharedStorageResourceNamesResponse' shared_storage: The resource names object for shared storage.
3573
+ """
3574
+ pulumi.set(__self__, "naming_pattern_type", 'FullResourceName')
3575
+ if application_server is not None:
3576
+ pulumi.set(__self__, "application_server", application_server)
3577
+ if central_server is not None:
3578
+ pulumi.set(__self__, "central_server", central_server)
3579
+ if database_server is not None:
3580
+ pulumi.set(__self__, "database_server", database_server)
3581
+ if shared_storage is not None:
3582
+ pulumi.set(__self__, "shared_storage", shared_storage)
3583
+
3584
+ @property
3585
+ @pulumi.getter(name="namingPatternType")
3586
+ def naming_pattern_type(self) -> str:
3587
+ """
3588
+ The pattern type to be used for resource naming.
3589
+ Expected value is 'FullResourceName'.
3590
+ """
3591
+ return pulumi.get(self, "naming_pattern_type")
3592
+
3593
+ @property
3594
+ @pulumi.getter(name="applicationServer")
3595
+ def application_server(self) -> Optional['outputs.ApplicationServerFullResourceNamesResponse']:
3596
+ """
3597
+ The full resource names object for application layer resources. The number of entries in this list should be equal to the number VMs to be created for application layer.
3598
+ """
3599
+ return pulumi.get(self, "application_server")
3600
+
3601
+ @property
3602
+ @pulumi.getter(name="centralServer")
3603
+ def central_server(self) -> Optional['outputs.CentralServerFullResourceNamesResponse']:
3604
+ """
3605
+ The full resource names object for central server layer resources.
3606
+ """
3607
+ return pulumi.get(self, "central_server")
3608
+
3609
+ @property
3610
+ @pulumi.getter(name="databaseServer")
3611
+ def database_server(self) -> Optional['outputs.DatabaseServerFullResourceNamesResponse']:
3612
+ """
3613
+ The full resource names object for database layer resources. The number of entries in this list should be equal to the number VMs to be created for database layer.
3614
+ """
3615
+ return pulumi.get(self, "database_server")
3616
+
3617
+ @property
3618
+ @pulumi.getter(name="sharedStorage")
3619
+ def shared_storage(self) -> Optional['outputs.SharedStorageResourceNamesResponse']:
3620
+ """
3621
+ The resource names object for shared storage.
3622
+ """
3623
+ return pulumi.get(self, "shared_storage")
3624
+
3625
+
3626
+ @pulumi.output_type
3627
+ class UserAssignedIdentityResponse(dict):
3628
+ """
3629
+ User assigned identity properties
3630
+ """
3631
+ @staticmethod
3632
+ def __key_warning(key: str):
3633
+ suggest = None
3634
+ if key == "clientId":
3635
+ suggest = "client_id"
3636
+ elif key == "principalId":
3637
+ suggest = "principal_id"
3638
+
3639
+ if suggest:
3640
+ pulumi.log.warn(f"Key '{key}' not found in UserAssignedIdentityResponse. Access the value via the '{suggest}' property getter instead.")
3641
+
3642
+ def __getitem__(self, key: str) -> Any:
3643
+ UserAssignedIdentityResponse.__key_warning(key)
3644
+ return super().__getitem__(key)
3645
+
3646
+ def get(self, key: str, default = None) -> Any:
3647
+ UserAssignedIdentityResponse.__key_warning(key)
3648
+ return super().get(key, default)
3649
+
3650
+ def __init__(__self__, *,
3651
+ client_id: str,
3652
+ principal_id: str):
3653
+ """
3654
+ User assigned identity properties
3655
+ :param str client_id: The client ID of the assigned identity.
3656
+ :param str principal_id: The principal ID of the assigned identity.
3657
+ """
3658
+ pulumi.set(__self__, "client_id", client_id)
3659
+ pulumi.set(__self__, "principal_id", principal_id)
3660
+
3661
+ @property
3662
+ @pulumi.getter(name="clientId")
3663
+ def client_id(self) -> str:
3664
+ """
3665
+ The client ID of the assigned identity.
3666
+ """
3667
+ return pulumi.get(self, "client_id")
3668
+
3669
+ @property
3670
+ @pulumi.getter(name="principalId")
3671
+ def principal_id(self) -> str:
3672
+ """
3673
+ The principal ID of the assigned identity.
3674
+ """
3675
+ return pulumi.get(self, "principal_id")
3676
+
3677
+
3678
+ @pulumi.output_type
3679
+ class VirtualMachineConfigurationResponse(dict):
3680
+ """
3681
+ Defines the virtual machine configuration.
3682
+ """
3683
+ @staticmethod
3684
+ def __key_warning(key: str):
3685
+ suggest = None
3686
+ if key == "imageReference":
3687
+ suggest = "image_reference"
3688
+ elif key == "osProfile":
3689
+ suggest = "os_profile"
3690
+ elif key == "vmSize":
3691
+ suggest = "vm_size"
3692
+
3693
+ if suggest:
3694
+ pulumi.log.warn(f"Key '{key}' not found in VirtualMachineConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
3695
+
3696
+ def __getitem__(self, key: str) -> Any:
3697
+ VirtualMachineConfigurationResponse.__key_warning(key)
3698
+ return super().__getitem__(key)
3699
+
3700
+ def get(self, key: str, default = None) -> Any:
3701
+ VirtualMachineConfigurationResponse.__key_warning(key)
3702
+ return super().get(key, default)
3703
+
3704
+ def __init__(__self__, *,
3705
+ image_reference: 'outputs.ImageReferenceResponse',
3706
+ os_profile: 'outputs.OSProfileResponse',
3707
+ vm_size: str):
3708
+ """
3709
+ Defines the virtual machine configuration.
3710
+ :param 'ImageReferenceResponse' image_reference: The image reference.
3711
+ :param 'OSProfileResponse' os_profile: The OS profile.
3712
+ :param str vm_size: The virtual machine size.
3713
+ """
3714
+ pulumi.set(__self__, "image_reference", image_reference)
3715
+ pulumi.set(__self__, "os_profile", os_profile)
3716
+ pulumi.set(__self__, "vm_size", vm_size)
3717
+
3718
+ @property
3719
+ @pulumi.getter(name="imageReference")
3720
+ def image_reference(self) -> 'outputs.ImageReferenceResponse':
3721
+ """
3722
+ The image reference.
3723
+ """
3724
+ return pulumi.get(self, "image_reference")
3725
+
3726
+ @property
3727
+ @pulumi.getter(name="osProfile")
3728
+ def os_profile(self) -> 'outputs.OSProfileResponse':
3729
+ """
3730
+ The OS profile.
3731
+ """
3732
+ return pulumi.get(self, "os_profile")
3733
+
3734
+ @property
3735
+ @pulumi.getter(name="vmSize")
3736
+ def vm_size(self) -> str:
3737
+ """
3738
+ The virtual machine size.
3739
+ """
3740
+ return pulumi.get(self, "vm_size")
3741
+
3742
+
3743
+ @pulumi.output_type
3744
+ class VirtualMachineResourceNamesResponse(dict):
3745
+ """
3746
+ The resource names object for virtual machine and related resources.
3747
+ """
3748
+ @staticmethod
3749
+ def __key_warning(key: str):
3750
+ suggest = None
3751
+ if key == "dataDiskNames":
3752
+ suggest = "data_disk_names"
3753
+ elif key == "hostName":
3754
+ suggest = "host_name"
3755
+ elif key == "networkInterfaces":
3756
+ suggest = "network_interfaces"
3757
+ elif key == "osDiskName":
3758
+ suggest = "os_disk_name"
3759
+ elif key == "vmName":
3760
+ suggest = "vm_name"
3761
+
3762
+ if suggest:
3763
+ pulumi.log.warn(f"Key '{key}' not found in VirtualMachineResourceNamesResponse. Access the value via the '{suggest}' property getter instead.")
3764
+
3765
+ def __getitem__(self, key: str) -> Any:
3766
+ VirtualMachineResourceNamesResponse.__key_warning(key)
3767
+ return super().__getitem__(key)
3768
+
3769
+ def get(self, key: str, default = None) -> Any:
3770
+ VirtualMachineResourceNamesResponse.__key_warning(key)
3771
+ return super().get(key, default)
3772
+
3773
+ def __init__(__self__, *,
3774
+ data_disk_names: Optional[Mapping[str, Sequence[str]]] = None,
3775
+ host_name: Optional[str] = None,
3776
+ network_interfaces: Optional[Sequence['outputs.NetworkInterfaceResourceNamesResponse']] = None,
3777
+ os_disk_name: Optional[str] = None,
3778
+ vm_name: Optional[str] = None):
3779
+ """
3780
+ The resource names object for virtual machine and related resources.
3781
+ :param Mapping[str, Sequence[str]] data_disk_names: The full resource names for virtual machine data disks. This is a dictionary containing list of names of data disks per volume. Currently supported volumes for database layer are ['hana/data', 'hana/log', hana/shared', 'usr/sap', 'os', 'backup']. For application and cs layers, only 'default' volume is supported
3782
+ :param str host_name: The full name for virtual-machine's host (computer name). Currently, ACSS only supports host names which are less than or equal to 13 characters long. If this value is not provided, vmName will be used as host name.
3783
+ :param Sequence['NetworkInterfaceResourceNamesResponse'] network_interfaces: The list of network interface name objects for the selected virtual machine. Currently, only one network interface is supported per virtual machine.
3784
+ :param str os_disk_name: The full name for OS disk attached to the VM. If this value is not provided, it will be named by ARM as per its default naming standards (prefixed with vm name). There is only one OS disk attached per Virtual Machine.
3785
+ :param str vm_name: The full name for virtual machine. The length of this field can be upto 64 characters. If name is not provided, service uses a default name based on the deployment type. For SingleServer, default name is {SID}vm. In case of HA-AvZone systems, default name will be {SID}{app/ascs/db}z{a/b}vm with an incrementor at the end in case of more than 1 vm per layer. For distributed and HA-AvSet systems, default name will be {SID}{app/ascs/db}vm with an incrementor at the end in case of more than 1 vm per layer.
3786
+ """
3787
+ if data_disk_names is not None:
3788
+ pulumi.set(__self__, "data_disk_names", data_disk_names)
3789
+ if host_name is not None:
3790
+ pulumi.set(__self__, "host_name", host_name)
3791
+ if network_interfaces is not None:
3792
+ pulumi.set(__self__, "network_interfaces", network_interfaces)
3793
+ if os_disk_name is not None:
3794
+ pulumi.set(__self__, "os_disk_name", os_disk_name)
3795
+ if vm_name is not None:
3796
+ pulumi.set(__self__, "vm_name", vm_name)
3797
+
3798
+ @property
3799
+ @pulumi.getter(name="dataDiskNames")
3800
+ def data_disk_names(self) -> Optional[Mapping[str, Sequence[str]]]:
3801
+ """
3802
+ The full resource names for virtual machine data disks. This is a dictionary containing list of names of data disks per volume. Currently supported volumes for database layer are ['hana/data', 'hana/log', hana/shared', 'usr/sap', 'os', 'backup']. For application and cs layers, only 'default' volume is supported
3803
+ """
3804
+ return pulumi.get(self, "data_disk_names")
3805
+
3806
+ @property
3807
+ @pulumi.getter(name="hostName")
3808
+ def host_name(self) -> Optional[str]:
3809
+ """
3810
+ The full name for virtual-machine's host (computer name). Currently, ACSS only supports host names which are less than or equal to 13 characters long. If this value is not provided, vmName will be used as host name.
3811
+ """
3812
+ return pulumi.get(self, "host_name")
3813
+
3814
+ @property
3815
+ @pulumi.getter(name="networkInterfaces")
3816
+ def network_interfaces(self) -> Optional[Sequence['outputs.NetworkInterfaceResourceNamesResponse']]:
3817
+ """
3818
+ The list of network interface name objects for the selected virtual machine. Currently, only one network interface is supported per virtual machine.
3819
+ """
3820
+ return pulumi.get(self, "network_interfaces")
3821
+
3822
+ @property
3823
+ @pulumi.getter(name="osDiskName")
3824
+ def os_disk_name(self) -> Optional[str]:
3825
+ """
3826
+ The full name for OS disk attached to the VM. If this value is not provided, it will be named by ARM as per its default naming standards (prefixed with vm name). There is only one OS disk attached per Virtual Machine.
3827
+ """
3828
+ return pulumi.get(self, "os_disk_name")
3829
+
3830
+ @property
3831
+ @pulumi.getter(name="vmName")
3832
+ def vm_name(self) -> Optional[str]:
3833
+ """
3834
+ The full name for virtual machine. The length of this field can be upto 64 characters. If name is not provided, service uses a default name based on the deployment type. For SingleServer, default name is {SID}vm. In case of HA-AvZone systems, default name will be {SID}{app/ascs/db}z{a/b}vm with an incrementor at the end in case of more than 1 vm per layer. For distributed and HA-AvSet systems, default name will be {SID}{app/ascs/db}vm with an incrementor at the end in case of more than 1 vm per layer.
3835
+ """
3836
+ return pulumi.get(self, "vm_name")
3837
+
3838
+
3839
+ @pulumi.output_type
3840
+ class WindowsConfigurationResponse(dict):
3841
+ """
3842
+ Specifies Windows operating system settings on the virtual machine.
3843
+ """
3844
+ @staticmethod
3845
+ def __key_warning(key: str):
3846
+ suggest = None
3847
+ if key == "osType":
3848
+ suggest = "os_type"
3849
+
3850
+ if suggest:
3851
+ pulumi.log.warn(f"Key '{key}' not found in WindowsConfigurationResponse. Access the value via the '{suggest}' property getter instead.")
3852
+
3853
+ def __getitem__(self, key: str) -> Any:
3854
+ WindowsConfigurationResponse.__key_warning(key)
3855
+ return super().__getitem__(key)
3856
+
3857
+ def get(self, key: str, default = None) -> Any:
3858
+ WindowsConfigurationResponse.__key_warning(key)
3859
+ return super().get(key, default)
3860
+
3861
+ def __init__(__self__, *,
3862
+ os_type: str):
3863
+ """
3864
+ Specifies Windows operating system settings on the virtual machine.
3865
+ :param str os_type: The OS Type
3866
+ Expected value is 'Windows'.
3867
+ """
3868
+ pulumi.set(__self__, "os_type", 'Windows')
3869
+
3870
+ @property
3871
+ @pulumi.getter(name="osType")
3872
+ def os_type(self) -> str:
3873
+ """
3874
+ The OS Type
3875
+ Expected value is 'Windows'.
3876
+ """
3877
+ return pulumi.get(self, "os_type")
3878
+
3879
+