pulumi-openstack 5.1.0a1732601510__py3-none-any.whl → 5.5.0a1767139866__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.
Files changed (232) hide show
  1. pulumi_openstack/__init__.py +143 -1
  2. pulumi_openstack/_inputs.py +92 -26
  3. pulumi_openstack/_utilities.py +9 -5
  4. pulumi_openstack/bgpvpn/__init__.py +14 -0
  5. pulumi_openstack/bgpvpn/_inputs.py +129 -0
  6. pulumi_openstack/bgpvpn/network_associate_v2.py +398 -0
  7. pulumi_openstack/bgpvpn/outputs.py +103 -0
  8. pulumi_openstack/bgpvpn/port_associate_v2.py +521 -0
  9. pulumi_openstack/bgpvpn/router_associate_v2.py +452 -0
  10. pulumi_openstack/bgpvpn/v2.py +827 -0
  11. pulumi_openstack/bgpvpn_network_associate_v2.py +79 -72
  12. pulumi_openstack/bgpvpn_port_associate_v2.py +99 -92
  13. pulumi_openstack/bgpvpn_router_associate_v2.py +96 -89
  14. pulumi_openstack/bgpvpn_v2.py +217 -210
  15. pulumi_openstack/blockstorage/__init__.py +2 -1
  16. pulumi_openstack/blockstorage/_inputs.py +47 -47
  17. pulumi_openstack/blockstorage/get_availability_zones_v3.py +20 -20
  18. pulumi_openstack/blockstorage/get_quotaset_v3.py +34 -34
  19. pulumi_openstack/blockstorage/get_snapshot_v3.py +42 -42
  20. pulumi_openstack/blockstorage/get_volume_v3.py +53 -53
  21. pulumi_openstack/blockstorage/outputs.py +40 -40
  22. pulumi_openstack/blockstorage/qos_association_v3.py +54 -53
  23. pulumi_openstack/blockstorage/qos_v3.py +71 -70
  24. pulumi_openstack/blockstorage/quote_set_v3.py +173 -178
  25. pulumi_openstack/blockstorage/volume.py +317 -255
  26. pulumi_openstack/blockstorage/volume_attach.py +234 -233
  27. pulumi_openstack/blockstorage/volume_type_access_v3.py +54 -53
  28. pulumi_openstack/blockstorage/volume_type_v3.py +88 -87
  29. pulumi_openstack/compute/__init__.py +3 -1
  30. pulumi_openstack/compute/_inputs.py +231 -231
  31. pulumi_openstack/compute/aggregate_v2.py +88 -87
  32. pulumi_openstack/compute/flavor.py +207 -206
  33. pulumi_openstack/compute/flavor_access.py +54 -53
  34. pulumi_openstack/compute/get_aggregate_v2.py +49 -27
  35. pulumi_openstack/compute/get_availability_zones.py +20 -20
  36. pulumi_openstack/compute/get_flavor.py +80 -80
  37. pulumi_openstack/compute/get_hypervisor_v2.py +49 -27
  38. pulumi_openstack/compute/get_instance_v2.py +58 -51
  39. pulumi_openstack/compute/get_keypair.py +28 -28
  40. pulumi_openstack/compute/get_limits_v2.py +56 -56
  41. pulumi_openstack/compute/get_quota_set_v2.py +46 -46
  42. pulumi_openstack/compute/get_servergroup_v2.py +218 -0
  43. pulumi_openstack/compute/instance.py +498 -446
  44. pulumi_openstack/compute/interface_attach.py +208 -87
  45. pulumi_openstack/compute/keypair.py +106 -105
  46. pulumi_openstack/compute/outputs.py +168 -155
  47. pulumi_openstack/compute/quota_set_v2.py +275 -280
  48. pulumi_openstack/compute/server_group.py +83 -82
  49. pulumi_openstack/compute/volume_attach.py +214 -103
  50. pulumi_openstack/config/__init__.py +2 -1
  51. pulumi_openstack/config/__init__.pyi +14 -10
  52. pulumi_openstack/config/vars.py +46 -42
  53. pulumi_openstack/containerinfra/__init__.py +2 -1
  54. pulumi_openstack/containerinfra/cluster.py +376 -376
  55. pulumi_openstack/containerinfra/cluster_template.py +543 -543
  56. pulumi_openstack/containerinfra/get_cluster.py +68 -68
  57. pulumi_openstack/containerinfra/get_cluster_template.py +80 -80
  58. pulumi_openstack/containerinfra/get_node_group.py +46 -46
  59. pulumi_openstack/containerinfra/node_group.py +230 -229
  60. pulumi_openstack/database/__init__.py +2 -1
  61. pulumi_openstack/database/_inputs.py +110 -110
  62. pulumi_openstack/database/configuration.py +60 -59
  63. pulumi_openstack/database/database.py +64 -56
  64. pulumi_openstack/database/instance.py +173 -111
  65. pulumi_openstack/database/outputs.py +74 -74
  66. pulumi_openstack/database/user.py +111 -103
  67. pulumi_openstack/dns/__init__.py +5 -1
  68. pulumi_openstack/dns/get_dns_zone.py +108 -108
  69. pulumi_openstack/dns/get_zone_share_v2.py +230 -0
  70. pulumi_openstack/dns/quota_v2.py +495 -0
  71. pulumi_openstack/dns/record_set.py +173 -172
  72. pulumi_openstack/dns/transfer_accept.py +105 -111
  73. pulumi_openstack/dns/transfer_request.py +135 -141
  74. pulumi_openstack/dns/zone.py +209 -215
  75. pulumi_openstack/dns/zone_share_v2.py +381 -0
  76. pulumi_openstack/firewall/__init__.py +5 -1
  77. pulumi_openstack/firewall/get_group_v2.py +334 -0
  78. pulumi_openstack/firewall/get_policy_v2.py +271 -0
  79. pulumi_openstack/firewall/get_rule_v2.py +428 -0
  80. pulumi_openstack/firewall/group_v2.py +182 -181
  81. pulumi_openstack/firewall/policy_v2.py +139 -138
  82. pulumi_openstack/firewall/rule_v2.py +241 -240
  83. pulumi_openstack/get_fw_group_v2.py +80 -76
  84. pulumi_openstack/get_fw_policy_v2.py +62 -58
  85. pulumi_openstack/get_fw_rule_v2.py +108 -104
  86. pulumi_openstack/identity/__init__.py +4 -1
  87. pulumi_openstack/identity/_inputs.py +32 -32
  88. pulumi_openstack/identity/application_credential.py +134 -133
  89. pulumi_openstack/identity/ec2_credential_v3.py +81 -80
  90. pulumi_openstack/identity/endpoint_v3.py +123 -122
  91. pulumi_openstack/identity/get_auth_scope.py +48 -48
  92. pulumi_openstack/identity/get_endpoint.py +50 -50
  93. pulumi_openstack/identity/get_group.py +26 -26
  94. pulumi_openstack/identity/get_project.py +55 -53
  95. pulumi_openstack/identity/get_project_ids_v3.py +58 -54
  96. pulumi_openstack/identity/get_role.py +24 -24
  97. pulumi_openstack/identity/get_service.py +32 -32
  98. pulumi_openstack/identity/get_user.py +61 -59
  99. pulumi_openstack/identity/group_v3.py +71 -70
  100. pulumi_openstack/identity/inherit_role_assignment.py +128 -100
  101. pulumi_openstack/identity/limit_v3.py +532 -0
  102. pulumi_openstack/identity/outputs.py +64 -64
  103. pulumi_openstack/identity/project.py +139 -138
  104. pulumi_openstack/identity/registered_limit_v3.py +434 -0
  105. pulumi_openstack/identity/role.py +54 -53
  106. pulumi_openstack/identity/role_assignment.py +128 -100
  107. pulumi_openstack/identity/service_v3.py +88 -87
  108. pulumi_openstack/identity/user.py +210 -209
  109. pulumi_openstack/identity/user_membership_v3.py +54 -53
  110. pulumi_openstack/images/__init__.py +2 -1
  111. pulumi_openstack/images/get_image.py +122 -122
  112. pulumi_openstack/images/get_image_ids.py +98 -98
  113. pulumi_openstack/images/image.py +420 -419
  114. pulumi_openstack/images/image_access.py +98 -97
  115. pulumi_openstack/images/image_access_accept.py +98 -97
  116. pulumi_openstack/keymanager/__init__.py +2 -1
  117. pulumi_openstack/keymanager/_inputs.py +113 -113
  118. pulumi_openstack/keymanager/container_v1.py +107 -106
  119. pulumi_openstack/keymanager/get_container.py +33 -33
  120. pulumi_openstack/keymanager/get_secret.py +89 -89
  121. pulumi_openstack/keymanager/order_v1.py +121 -120
  122. pulumi_openstack/keymanager/outputs.py +129 -129
  123. pulumi_openstack/keymanager/secret_v1.py +290 -255
  124. pulumi_openstack/lb_flavorprofile_v2.py +111 -70
  125. pulumi_openstack/lb_loadbalancer_v2.py +266 -261
  126. pulumi_openstack/loadbalancer/__init__.py +10 -1
  127. pulumi_openstack/loadbalancer/_inputs.py +75 -75
  128. pulumi_openstack/loadbalancer/flavor_v2.py +447 -0
  129. pulumi_openstack/loadbalancer/flavorprofile_v2.py +430 -0
  130. pulumi_openstack/loadbalancer/get_flavor_v2.py +30 -30
  131. pulumi_openstack/loadbalancer/get_flavorprofile_v2.py +190 -0
  132. pulumi_openstack/loadbalancer/get_lb_flavor_deprecated.py +197 -0
  133. pulumi_openstack/loadbalancer/get_listener_v2.py +634 -0
  134. pulumi_openstack/loadbalancer/get_loadbalancer_v2.py +470 -0
  135. pulumi_openstack/loadbalancer/get_pool_v2.py +482 -0
  136. pulumi_openstack/loadbalancer/l7_policy_v2.py +209 -208
  137. pulumi_openstack/loadbalancer/l7_rule_v2.py +167 -166
  138. pulumi_openstack/loadbalancer/listener.py +481 -480
  139. pulumi_openstack/loadbalancer/load_balancer.py +1033 -0
  140. pulumi_openstack/loadbalancer/member.py +224 -223
  141. pulumi_openstack/loadbalancer/members.py +40 -39
  142. pulumi_openstack/loadbalancer/monitor.py +258 -257
  143. pulumi_openstack/loadbalancer/outputs.py +311 -51
  144. pulumi_openstack/loadbalancer/pool.py +291 -290
  145. pulumi_openstack/loadbalancer/quota.py +156 -161
  146. pulumi_openstack/networking/__init__.py +8 -1
  147. pulumi_openstack/networking/_inputs.py +234 -141
  148. pulumi_openstack/networking/address_group_v2.py +421 -0
  149. pulumi_openstack/networking/address_scope.py +88 -87
  150. pulumi_openstack/networking/bgp_peer_v2.py +550 -0
  151. pulumi_openstack/networking/bgp_speaker_v2.py +697 -0
  152. pulumi_openstack/networking/floating_ip.py +247 -247
  153. pulumi_openstack/networking/floating_ip_associate.py +67 -66
  154. pulumi_openstack/networking/get_address_scope.py +36 -36
  155. pulumi_openstack/networking/get_floating_ip.py +66 -66
  156. pulumi_openstack/networking/get_network.py +85 -85
  157. pulumi_openstack/networking/get_port.py +111 -111
  158. pulumi_openstack/networking/get_port_ids.py +106 -106
  159. pulumi_openstack/networking/get_qos_bandwidth_limit_rule.py +32 -32
  160. pulumi_openstack/networking/get_qos_dscp_marking_rule.py +24 -24
  161. pulumi_openstack/networking/get_qos_minimum_bandwidth_rule.py +28 -28
  162. pulumi_openstack/networking/get_qos_policy.py +56 -56
  163. pulumi_openstack/networking/get_quota_v2.py +36 -36
  164. pulumi_openstack/networking/get_router.py +102 -74
  165. pulumi_openstack/networking/get_sec_group.py +50 -50
  166. pulumi_openstack/networking/get_segment_v2.py +303 -0
  167. pulumi_openstack/networking/get_subnet.py +126 -107
  168. pulumi_openstack/networking/get_subnet_ids_v2.py +128 -109
  169. pulumi_openstack/networking/get_subnet_pool.py +94 -94
  170. pulumi_openstack/networking/get_trunk.py +63 -63
  171. pulumi_openstack/networking/network.py +270 -269
  172. pulumi_openstack/networking/outputs.py +287 -177
  173. pulumi_openstack/networking/port.py +356 -355
  174. pulumi_openstack/networking/port_forwarding_v2.py +139 -138
  175. pulumi_openstack/networking/port_sec_group_associate.py +80 -79
  176. pulumi_openstack/networking/qos_bandwidth_limit_rule.py +88 -87
  177. pulumi_openstack/networking/qos_dscp_marking_rule.py +54 -53
  178. pulumi_openstack/networking/qos_minimum_bandwidth_rule.py +71 -70
  179. pulumi_openstack/networking/qos_policy.py +175 -174
  180. pulumi_openstack/networking/quota_v2.py +190 -195
  181. pulumi_openstack/networking/rbac_policy_v2.py +95 -94
  182. pulumi_openstack/networking/router.py +286 -224
  183. pulumi_openstack/networking/router_interface.py +88 -87
  184. pulumi_openstack/networking/router_route.py +71 -70
  185. pulumi_openstack/networking/router_routes_v2.py +382 -0
  186. pulumi_openstack/networking/sec_group.py +131 -130
  187. pulumi_openstack/networking/sec_group_rule.py +258 -189
  188. pulumi_openstack/networking/segment_v2.py +633 -0
  189. pulumi_openstack/networking/subnet.py +399 -337
  190. pulumi_openstack/networking/subnet_pool.py +294 -293
  191. pulumi_openstack/networking/subnet_route.py +71 -70
  192. pulumi_openstack/networking/trunk.py +134 -133
  193. pulumi_openstack/objectstorage/__init__.py +2 -1
  194. pulumi_openstack/objectstorage/_inputs.py +22 -16
  195. pulumi_openstack/objectstorage/account_v1.py +99 -98
  196. pulumi_openstack/objectstorage/container.py +429 -308
  197. pulumi_openstack/objectstorage/container_object.py +298 -289
  198. pulumi_openstack/objectstorage/outputs.py +15 -11
  199. pulumi_openstack/objectstorage/temp_url.py +165 -164
  200. pulumi_openstack/orchestration/__init__.py +2 -1
  201. pulumi_openstack/orchestration/_inputs.py +18 -18
  202. pulumi_openstack/orchestration/outputs.py +12 -12
  203. pulumi_openstack/orchestration/stack_v1.py +278 -277
  204. pulumi_openstack/outputs.py +75 -18
  205. pulumi_openstack/provider.py +351 -316
  206. pulumi_openstack/pulumi-plugin.json +1 -1
  207. pulumi_openstack/sharedfilesystem/__init__.py +2 -1
  208. pulumi_openstack/sharedfilesystem/_inputs.py +12 -12
  209. pulumi_openstack/sharedfilesystem/get_availbility_zones.py +14 -14
  210. pulumi_openstack/sharedfilesystem/get_share.py +74 -70
  211. pulumi_openstack/sharedfilesystem/get_share_network.py +66 -66
  212. pulumi_openstack/sharedfilesystem/get_snapshot.py +44 -44
  213. pulumi_openstack/sharedfilesystem/outputs.py +14 -14
  214. pulumi_openstack/sharedfilesystem/security_service.py +182 -181
  215. pulumi_openstack/sharedfilesystem/share.py +263 -262
  216. pulumi_openstack/sharedfilesystem/share_access.py +123 -122
  217. pulumi_openstack/sharedfilesystem/share_network.py +150 -149
  218. pulumi_openstack/taas_tap_mirror_v2.py +653 -0
  219. pulumi_openstack/vpnaas/__init__.py +2 -1
  220. pulumi_openstack/vpnaas/_inputs.py +42 -42
  221. pulumi_openstack/vpnaas/endpoint_group.py +122 -121
  222. pulumi_openstack/vpnaas/ike_policy.py +213 -198
  223. pulumi_openstack/vpnaas/ip_sec_policy.py +213 -198
  224. pulumi_openstack/vpnaas/outputs.py +28 -28
  225. pulumi_openstack/vpnaas/service.py +166 -165
  226. pulumi_openstack/vpnaas/site_connection.py +312 -311
  227. pulumi_openstack/workflow_workflow_v2.py +244 -0
  228. {pulumi_openstack-5.1.0a1732601510.dist-info → pulumi_openstack-5.5.0a1767139866.dist-info}/METADATA +5 -5
  229. pulumi_openstack-5.5.0a1767139866.dist-info/RECORD +232 -0
  230. {pulumi_openstack-5.1.0a1732601510.dist-info → pulumi_openstack-5.5.0a1767139866.dist-info}/WHEEL +1 -1
  231. pulumi_openstack-5.1.0a1732601510.dist-info/RECORD +0 -200
  232. {pulumi_openstack-5.1.0a1732601510.dist-info → pulumi_openstack-5.5.0a1767139866.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,398 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = ['NetworkAssociateV2Args', 'NetworkAssociateV2']
18
+
19
+ @pulumi.input_type
20
+ class NetworkAssociateV2Args:
21
+ def __init__(__self__, *,
22
+ bgpvpn_id: pulumi.Input[_builtins.str],
23
+ network_id: pulumi.Input[_builtins.str],
24
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
25
+ region: Optional[pulumi.Input[_builtins.str]] = None):
26
+ """
27
+ The set of arguments for constructing a NetworkAssociateV2 resource.
28
+ :param pulumi.Input[_builtins.str] bgpvpn_id: The ID of the BGP VPN to which the network will be
29
+ associated. Changing this creates a new BGP VPN network association
30
+ :param pulumi.Input[_builtins.str] network_id: The ID of the network to be associated with the BGP
31
+ VPN. Changing this creates a new BGP VPN network association.
32
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the BGP VPN network
33
+ association. Only administrative and users with `advsvc` role can specify a
34
+ project ID other than their own. Changing this creates a new BGP VPN network
35
+ association.
36
+ :param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
37
+ A Networking client is needed to create a BGP VPN network association. If
38
+ omitted, the `region` argument of the provider is used. Changing this creates
39
+ a new BGP VPN network association.
40
+ """
41
+ pulumi.set(__self__, "bgpvpn_id", bgpvpn_id)
42
+ pulumi.set(__self__, "network_id", network_id)
43
+ if project_id is not None:
44
+ pulumi.set(__self__, "project_id", project_id)
45
+ if region is not None:
46
+ pulumi.set(__self__, "region", region)
47
+
48
+ @_builtins.property
49
+ @pulumi.getter(name="bgpvpnId")
50
+ def bgpvpn_id(self) -> pulumi.Input[_builtins.str]:
51
+ """
52
+ The ID of the BGP VPN to which the network will be
53
+ associated. Changing this creates a new BGP VPN network association
54
+ """
55
+ return pulumi.get(self, "bgpvpn_id")
56
+
57
+ @bgpvpn_id.setter
58
+ def bgpvpn_id(self, value: pulumi.Input[_builtins.str]):
59
+ pulumi.set(self, "bgpvpn_id", value)
60
+
61
+ @_builtins.property
62
+ @pulumi.getter(name="networkId")
63
+ def network_id(self) -> pulumi.Input[_builtins.str]:
64
+ """
65
+ The ID of the network to be associated with the BGP
66
+ VPN. Changing this creates a new BGP VPN network association.
67
+ """
68
+ return pulumi.get(self, "network_id")
69
+
70
+ @network_id.setter
71
+ def network_id(self, value: pulumi.Input[_builtins.str]):
72
+ pulumi.set(self, "network_id", value)
73
+
74
+ @_builtins.property
75
+ @pulumi.getter(name="projectId")
76
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
77
+ """
78
+ The ID of the project that owns the BGP VPN network
79
+ association. Only administrative and users with `advsvc` role can specify a
80
+ project ID other than their own. Changing this creates a new BGP VPN network
81
+ association.
82
+ """
83
+ return pulumi.get(self, "project_id")
84
+
85
+ @project_id.setter
86
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
87
+ pulumi.set(self, "project_id", value)
88
+
89
+ @_builtins.property
90
+ @pulumi.getter
91
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
92
+ """
93
+ The region in which to obtain the V2 Networking client.
94
+ A Networking client is needed to create a BGP VPN network association. If
95
+ omitted, the `region` argument of the provider is used. Changing this creates
96
+ a new BGP VPN network association.
97
+ """
98
+ return pulumi.get(self, "region")
99
+
100
+ @region.setter
101
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
102
+ pulumi.set(self, "region", value)
103
+
104
+
105
+ @pulumi.input_type
106
+ class _NetworkAssociateV2State:
107
+ def __init__(__self__, *,
108
+ bgpvpn_id: Optional[pulumi.Input[_builtins.str]] = None,
109
+ network_id: Optional[pulumi.Input[_builtins.str]] = None,
110
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
111
+ region: Optional[pulumi.Input[_builtins.str]] = None):
112
+ """
113
+ Input properties used for looking up and filtering NetworkAssociateV2 resources.
114
+ :param pulumi.Input[_builtins.str] bgpvpn_id: The ID of the BGP VPN to which the network will be
115
+ associated. Changing this creates a new BGP VPN network association
116
+ :param pulumi.Input[_builtins.str] network_id: The ID of the network to be associated with the BGP
117
+ VPN. Changing this creates a new BGP VPN network association.
118
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the BGP VPN network
119
+ association. Only administrative and users with `advsvc` role can specify a
120
+ project ID other than their own. Changing this creates a new BGP VPN network
121
+ association.
122
+ :param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
123
+ A Networking client is needed to create a BGP VPN network association. If
124
+ omitted, the `region` argument of the provider is used. Changing this creates
125
+ a new BGP VPN network association.
126
+ """
127
+ if bgpvpn_id is not None:
128
+ pulumi.set(__self__, "bgpvpn_id", bgpvpn_id)
129
+ if network_id is not None:
130
+ pulumi.set(__self__, "network_id", network_id)
131
+ if project_id is not None:
132
+ pulumi.set(__self__, "project_id", project_id)
133
+ if region is not None:
134
+ pulumi.set(__self__, "region", region)
135
+
136
+ @_builtins.property
137
+ @pulumi.getter(name="bgpvpnId")
138
+ def bgpvpn_id(self) -> Optional[pulumi.Input[_builtins.str]]:
139
+ """
140
+ The ID of the BGP VPN to which the network will be
141
+ associated. Changing this creates a new BGP VPN network association
142
+ """
143
+ return pulumi.get(self, "bgpvpn_id")
144
+
145
+ @bgpvpn_id.setter
146
+ def bgpvpn_id(self, value: Optional[pulumi.Input[_builtins.str]]):
147
+ pulumi.set(self, "bgpvpn_id", value)
148
+
149
+ @_builtins.property
150
+ @pulumi.getter(name="networkId")
151
+ def network_id(self) -> Optional[pulumi.Input[_builtins.str]]:
152
+ """
153
+ The ID of the network to be associated with the BGP
154
+ VPN. Changing this creates a new BGP VPN network association.
155
+ """
156
+ return pulumi.get(self, "network_id")
157
+
158
+ @network_id.setter
159
+ def network_id(self, value: Optional[pulumi.Input[_builtins.str]]):
160
+ pulumi.set(self, "network_id", value)
161
+
162
+ @_builtins.property
163
+ @pulumi.getter(name="projectId")
164
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
165
+ """
166
+ The ID of the project that owns the BGP VPN network
167
+ association. Only administrative and users with `advsvc` role can specify a
168
+ project ID other than their own. Changing this creates a new BGP VPN network
169
+ association.
170
+ """
171
+ return pulumi.get(self, "project_id")
172
+
173
+ @project_id.setter
174
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
175
+ pulumi.set(self, "project_id", value)
176
+
177
+ @_builtins.property
178
+ @pulumi.getter
179
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
180
+ """
181
+ The region in which to obtain the V2 Networking client.
182
+ A Networking client is needed to create a BGP VPN network association. If
183
+ omitted, the `region` argument of the provider is used. Changing this creates
184
+ a new BGP VPN network association.
185
+ """
186
+ return pulumi.get(self, "region")
187
+
188
+ @region.setter
189
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
190
+ pulumi.set(self, "region", value)
191
+
192
+
193
+ @pulumi.type_token("openstack:bgpvpn/networkAssociateV2:NetworkAssociateV2")
194
+ class NetworkAssociateV2(pulumi.CustomResource):
195
+ @overload
196
+ def __init__(__self__,
197
+ resource_name: str,
198
+ opts: Optional[pulumi.ResourceOptions] = None,
199
+ bgpvpn_id: Optional[pulumi.Input[_builtins.str]] = None,
200
+ network_id: Optional[pulumi.Input[_builtins.str]] = None,
201
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
202
+ region: Optional[pulumi.Input[_builtins.str]] = None,
203
+ __props__=None):
204
+ """
205
+ Manages a V2 BGP VPN network association resource within OpenStack.
206
+
207
+ ## Example Usage
208
+
209
+ ```python
210
+ import pulumi
211
+ import pulumi_openstack as openstack
212
+
213
+ association1 = openstack.bgpvpn.NetworkAssociateV2("association_1",
214
+ bgpvpn_id="e7189337-5684-46ee-bcb1-44f1a57066c9",
215
+ network_id="de83d56c-4d2f-44f7-ac24-af393252204f")
216
+ ```
217
+
218
+ ## Import
219
+
220
+ BGP VPN network associations can be imported using the BGP VPN ID and BGP VPN
221
+
222
+ network association ID separated by a slash, e.g.:
223
+
224
+ hcl
225
+
226
+ ```sh
227
+ $ pulumi import openstack:bgpvpn/networkAssociateV2:NetworkAssociateV2 association_1 2145aaa9-edaa-44fb-9815-e47a96677a72/67bb952a-f9d1-4fc8-ae84-082253a879d4
228
+ ```
229
+
230
+ :param str resource_name: The name of the resource.
231
+ :param pulumi.ResourceOptions opts: Options for the resource.
232
+ :param pulumi.Input[_builtins.str] bgpvpn_id: The ID of the BGP VPN to which the network will be
233
+ associated. Changing this creates a new BGP VPN network association
234
+ :param pulumi.Input[_builtins.str] network_id: The ID of the network to be associated with the BGP
235
+ VPN. Changing this creates a new BGP VPN network association.
236
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the BGP VPN network
237
+ association. Only administrative and users with `advsvc` role can specify a
238
+ project ID other than their own. Changing this creates a new BGP VPN network
239
+ association.
240
+ :param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
241
+ A Networking client is needed to create a BGP VPN network association. If
242
+ omitted, the `region` argument of the provider is used. Changing this creates
243
+ a new BGP VPN network association.
244
+ """
245
+ ...
246
+ @overload
247
+ def __init__(__self__,
248
+ resource_name: str,
249
+ args: NetworkAssociateV2Args,
250
+ opts: Optional[pulumi.ResourceOptions] = None):
251
+ """
252
+ Manages a V2 BGP VPN network association resource within OpenStack.
253
+
254
+ ## Example Usage
255
+
256
+ ```python
257
+ import pulumi
258
+ import pulumi_openstack as openstack
259
+
260
+ association1 = openstack.bgpvpn.NetworkAssociateV2("association_1",
261
+ bgpvpn_id="e7189337-5684-46ee-bcb1-44f1a57066c9",
262
+ network_id="de83d56c-4d2f-44f7-ac24-af393252204f")
263
+ ```
264
+
265
+ ## Import
266
+
267
+ BGP VPN network associations can be imported using the BGP VPN ID and BGP VPN
268
+
269
+ network association ID separated by a slash, e.g.:
270
+
271
+ hcl
272
+
273
+ ```sh
274
+ $ pulumi import openstack:bgpvpn/networkAssociateV2:NetworkAssociateV2 association_1 2145aaa9-edaa-44fb-9815-e47a96677a72/67bb952a-f9d1-4fc8-ae84-082253a879d4
275
+ ```
276
+
277
+ :param str resource_name: The name of the resource.
278
+ :param NetworkAssociateV2Args args: The arguments to use to populate this resource's properties.
279
+ :param pulumi.ResourceOptions opts: Options for the resource.
280
+ """
281
+ ...
282
+ def __init__(__self__, resource_name: str, *args, **kwargs):
283
+ resource_args, opts = _utilities.get_resource_args_opts(NetworkAssociateV2Args, pulumi.ResourceOptions, *args, **kwargs)
284
+ if resource_args is not None:
285
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
286
+ else:
287
+ __self__._internal_init(resource_name, *args, **kwargs)
288
+
289
+ def _internal_init(__self__,
290
+ resource_name: str,
291
+ opts: Optional[pulumi.ResourceOptions] = None,
292
+ bgpvpn_id: Optional[pulumi.Input[_builtins.str]] = None,
293
+ network_id: Optional[pulumi.Input[_builtins.str]] = None,
294
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
295
+ region: Optional[pulumi.Input[_builtins.str]] = None,
296
+ __props__=None):
297
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
298
+ if not isinstance(opts, pulumi.ResourceOptions):
299
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
300
+ if opts.id is None:
301
+ if __props__ is not None:
302
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
303
+ __props__ = NetworkAssociateV2Args.__new__(NetworkAssociateV2Args)
304
+
305
+ if bgpvpn_id is None and not opts.urn:
306
+ raise TypeError("Missing required property 'bgpvpn_id'")
307
+ __props__.__dict__["bgpvpn_id"] = bgpvpn_id
308
+ if network_id is None and not opts.urn:
309
+ raise TypeError("Missing required property 'network_id'")
310
+ __props__.__dict__["network_id"] = network_id
311
+ __props__.__dict__["project_id"] = project_id
312
+ __props__.__dict__["region"] = region
313
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="openstack:index/bgpvpnNetworkAssociateV2:BgpvpnNetworkAssociateV2")])
314
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
315
+ super(NetworkAssociateV2, __self__).__init__(
316
+ 'openstack:bgpvpn/networkAssociateV2:NetworkAssociateV2',
317
+ resource_name,
318
+ __props__,
319
+ opts)
320
+
321
+ @staticmethod
322
+ def get(resource_name: str,
323
+ id: pulumi.Input[str],
324
+ opts: Optional[pulumi.ResourceOptions] = None,
325
+ bgpvpn_id: Optional[pulumi.Input[_builtins.str]] = None,
326
+ network_id: Optional[pulumi.Input[_builtins.str]] = None,
327
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
328
+ region: Optional[pulumi.Input[_builtins.str]] = None) -> 'NetworkAssociateV2':
329
+ """
330
+ Get an existing NetworkAssociateV2 resource's state with the given name, id, and optional extra
331
+ properties used to qualify the lookup.
332
+
333
+ :param str resource_name: The unique name of the resulting resource.
334
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
335
+ :param pulumi.ResourceOptions opts: Options for the resource.
336
+ :param pulumi.Input[_builtins.str] bgpvpn_id: The ID of the BGP VPN to which the network will be
337
+ associated. Changing this creates a new BGP VPN network association
338
+ :param pulumi.Input[_builtins.str] network_id: The ID of the network to be associated with the BGP
339
+ VPN. Changing this creates a new BGP VPN network association.
340
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the BGP VPN network
341
+ association. Only administrative and users with `advsvc` role can specify a
342
+ project ID other than their own. Changing this creates a new BGP VPN network
343
+ association.
344
+ :param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
345
+ A Networking client is needed to create a BGP VPN network association. If
346
+ omitted, the `region` argument of the provider is used. Changing this creates
347
+ a new BGP VPN network association.
348
+ """
349
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
350
+
351
+ __props__ = _NetworkAssociateV2State.__new__(_NetworkAssociateV2State)
352
+
353
+ __props__.__dict__["bgpvpn_id"] = bgpvpn_id
354
+ __props__.__dict__["network_id"] = network_id
355
+ __props__.__dict__["project_id"] = project_id
356
+ __props__.__dict__["region"] = region
357
+ return NetworkAssociateV2(resource_name, opts=opts, __props__=__props__)
358
+
359
+ @_builtins.property
360
+ @pulumi.getter(name="bgpvpnId")
361
+ def bgpvpn_id(self) -> pulumi.Output[_builtins.str]:
362
+ """
363
+ The ID of the BGP VPN to which the network will be
364
+ associated. Changing this creates a new BGP VPN network association
365
+ """
366
+ return pulumi.get(self, "bgpvpn_id")
367
+
368
+ @_builtins.property
369
+ @pulumi.getter(name="networkId")
370
+ def network_id(self) -> pulumi.Output[_builtins.str]:
371
+ """
372
+ The ID of the network to be associated with the BGP
373
+ VPN. Changing this creates a new BGP VPN network association.
374
+ """
375
+ return pulumi.get(self, "network_id")
376
+
377
+ @_builtins.property
378
+ @pulumi.getter(name="projectId")
379
+ def project_id(self) -> pulumi.Output[_builtins.str]:
380
+ """
381
+ The ID of the project that owns the BGP VPN network
382
+ association. Only administrative and users with `advsvc` role can specify a
383
+ project ID other than their own. Changing this creates a new BGP VPN network
384
+ association.
385
+ """
386
+ return pulumi.get(self, "project_id")
387
+
388
+ @_builtins.property
389
+ @pulumi.getter
390
+ def region(self) -> pulumi.Output[_builtins.str]:
391
+ """
392
+ The region in which to obtain the V2 Networking client.
393
+ A Networking client is needed to create a BGP VPN network association. If
394
+ omitted, the `region` argument of the provider is used. Changing this creates
395
+ a new BGP VPN network association.
396
+ """
397
+ return pulumi.get(self, "region")
398
+
@@ -0,0 +1,103 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+
17
+ __all__ = [
18
+ 'PortAssociateV2Route',
19
+ ]
20
+
21
+ @pulumi.output_type
22
+ class PortAssociateV2Route(dict):
23
+ @staticmethod
24
+ def __key_warning(key: str):
25
+ suggest = None
26
+ if key == "bgpvpnId":
27
+ suggest = "bgpvpn_id"
28
+ elif key == "localPref":
29
+ suggest = "local_pref"
30
+
31
+ if suggest:
32
+ pulumi.log.warn(f"Key '{key}' not found in PortAssociateV2Route. Access the value via the '{suggest}' property getter instead.")
33
+
34
+ def __getitem__(self, key: str) -> Any:
35
+ PortAssociateV2Route.__key_warning(key)
36
+ return super().__getitem__(key)
37
+
38
+ def get(self, key: str, default = None) -> Any:
39
+ PortAssociateV2Route.__key_warning(key)
40
+ return super().get(key, default)
41
+
42
+ def __init__(__self__, *,
43
+ type: _builtins.str,
44
+ bgpvpn_id: Optional[_builtins.str] = None,
45
+ local_pref: Optional[_builtins.int] = None,
46
+ prefix: Optional[_builtins.str] = None):
47
+ """
48
+ :param _builtins.str type: Can be `prefix` or `bgpvpn`. For the `prefix` type, the
49
+ CIDR prefix (v4 or v6) must be specified in the `prefix` key. For the
50
+ `bgpvpn` type, the BGP VPN ID must be specified in the `bgpvpn_id` key.
51
+ :param _builtins.str bgpvpn_id: The ID of the BGP VPN to be advertised. Required
52
+ if `type` is `bgpvpn`. Conflicts with `prefix`.
53
+ :param _builtins.int local_pref: The BGP LOCAL\\_PREF value of the routes that will
54
+ be advertised.
55
+ :param _builtins.str prefix: The CIDR prefix (v4 or v6) to be advertised. Required
56
+ if `type` is `prefix`. Conflicts with `bgpvpn_id`.
57
+ """
58
+ pulumi.set(__self__, "type", type)
59
+ if bgpvpn_id is not None:
60
+ pulumi.set(__self__, "bgpvpn_id", bgpvpn_id)
61
+ if local_pref is not None:
62
+ pulumi.set(__self__, "local_pref", local_pref)
63
+ if prefix is not None:
64
+ pulumi.set(__self__, "prefix", prefix)
65
+
66
+ @_builtins.property
67
+ @pulumi.getter
68
+ def type(self) -> _builtins.str:
69
+ """
70
+ Can be `prefix` or `bgpvpn`. For the `prefix` type, the
71
+ CIDR prefix (v4 or v6) must be specified in the `prefix` key. For the
72
+ `bgpvpn` type, the BGP VPN ID must be specified in the `bgpvpn_id` key.
73
+ """
74
+ return pulumi.get(self, "type")
75
+
76
+ @_builtins.property
77
+ @pulumi.getter(name="bgpvpnId")
78
+ def bgpvpn_id(self) -> Optional[_builtins.str]:
79
+ """
80
+ The ID of the BGP VPN to be advertised. Required
81
+ if `type` is `bgpvpn`. Conflicts with `prefix`.
82
+ """
83
+ return pulumi.get(self, "bgpvpn_id")
84
+
85
+ @_builtins.property
86
+ @pulumi.getter(name="localPref")
87
+ def local_pref(self) -> Optional[_builtins.int]:
88
+ """
89
+ The BGP LOCAL\\_PREF value of the routes that will
90
+ be advertised.
91
+ """
92
+ return pulumi.get(self, "local_pref")
93
+
94
+ @_builtins.property
95
+ @pulumi.getter
96
+ def prefix(self) -> Optional[_builtins.str]:
97
+ """
98
+ The CIDR prefix (v4 or v6) to be advertised. Required
99
+ if `type` is `prefix`. Conflicts with `bgpvpn_id`.
100
+ """
101
+ return pulumi.get(self, "prefix")
102
+
103
+