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,521 @@
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
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['PortAssociateV2Args', 'PortAssociateV2']
20
+
21
+ @pulumi.input_type
22
+ class PortAssociateV2Args:
23
+ def __init__(__self__, *,
24
+ bgpvpn_id: pulumi.Input[_builtins.str],
25
+ port_id: pulumi.Input[_builtins.str],
26
+ advertise_fixed_ips: Optional[pulumi.Input[_builtins.bool]] = None,
27
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
28
+ region: Optional[pulumi.Input[_builtins.str]] = None,
29
+ routes: Optional[pulumi.Input[Sequence[pulumi.Input['PortAssociateV2RouteArgs']]]] = None):
30
+ """
31
+ The set of arguments for constructing a PortAssociateV2 resource.
32
+ :param pulumi.Input[_builtins.str] bgpvpn_id: The ID of the BGP VPN to which the port will be
33
+ associated. Changing this creates a new BGP VPN port association.
34
+ :param pulumi.Input[_builtins.str] port_id: The ID of the port to be associated with the BGP VPN.
35
+ Changing this creates a new BGP VPN port association.
36
+ :param pulumi.Input[_builtins.bool] advertise_fixed_ips: A boolean flag indicating whether fixed
37
+ IPs should be advertised. Defaults to true.
38
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the port
39
+ association. Only administrative and users with `advsvc` role can specify a
40
+ project ID other than their own. Changing this creates a new BGP VPN port
41
+ association.
42
+ :param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
43
+ A Networking client is needed to create a BGP VPN port association. If
44
+ omitted, the `region` argument of the provider is used. Changing this creates
45
+ a new BGP VPN port association.
46
+ :param pulumi.Input[Sequence[pulumi.Input['PortAssociateV2RouteArgs']]] routes: A list of dictionaries containing the following keys:
47
+ """
48
+ pulumi.set(__self__, "bgpvpn_id", bgpvpn_id)
49
+ pulumi.set(__self__, "port_id", port_id)
50
+ if advertise_fixed_ips is not None:
51
+ pulumi.set(__self__, "advertise_fixed_ips", advertise_fixed_ips)
52
+ if project_id is not None:
53
+ pulumi.set(__self__, "project_id", project_id)
54
+ if region is not None:
55
+ pulumi.set(__self__, "region", region)
56
+ if routes is not None:
57
+ pulumi.set(__self__, "routes", routes)
58
+
59
+ @_builtins.property
60
+ @pulumi.getter(name="bgpvpnId")
61
+ def bgpvpn_id(self) -> pulumi.Input[_builtins.str]:
62
+ """
63
+ The ID of the BGP VPN to which the port will be
64
+ associated. Changing this creates a new BGP VPN port association.
65
+ """
66
+ return pulumi.get(self, "bgpvpn_id")
67
+
68
+ @bgpvpn_id.setter
69
+ def bgpvpn_id(self, value: pulumi.Input[_builtins.str]):
70
+ pulumi.set(self, "bgpvpn_id", value)
71
+
72
+ @_builtins.property
73
+ @pulumi.getter(name="portId")
74
+ def port_id(self) -> pulumi.Input[_builtins.str]:
75
+ """
76
+ The ID of the port to be associated with the BGP VPN.
77
+ Changing this creates a new BGP VPN port association.
78
+ """
79
+ return pulumi.get(self, "port_id")
80
+
81
+ @port_id.setter
82
+ def port_id(self, value: pulumi.Input[_builtins.str]):
83
+ pulumi.set(self, "port_id", value)
84
+
85
+ @_builtins.property
86
+ @pulumi.getter(name="advertiseFixedIps")
87
+ def advertise_fixed_ips(self) -> Optional[pulumi.Input[_builtins.bool]]:
88
+ """
89
+ A boolean flag indicating whether fixed
90
+ IPs should be advertised. Defaults to true.
91
+ """
92
+ return pulumi.get(self, "advertise_fixed_ips")
93
+
94
+ @advertise_fixed_ips.setter
95
+ def advertise_fixed_ips(self, value: Optional[pulumi.Input[_builtins.bool]]):
96
+ pulumi.set(self, "advertise_fixed_ips", value)
97
+
98
+ @_builtins.property
99
+ @pulumi.getter(name="projectId")
100
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
101
+ """
102
+ The ID of the project that owns the port
103
+ association. Only administrative and users with `advsvc` role can specify a
104
+ project ID other than their own. Changing this creates a new BGP VPN port
105
+ association.
106
+ """
107
+ return pulumi.get(self, "project_id")
108
+
109
+ @project_id.setter
110
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
111
+ pulumi.set(self, "project_id", value)
112
+
113
+ @_builtins.property
114
+ @pulumi.getter
115
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
116
+ """
117
+ The region in which to obtain the V2 Networking client.
118
+ A Networking client is needed to create a BGP VPN port association. If
119
+ omitted, the `region` argument of the provider is used. Changing this creates
120
+ a new BGP VPN port association.
121
+ """
122
+ return pulumi.get(self, "region")
123
+
124
+ @region.setter
125
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
126
+ pulumi.set(self, "region", value)
127
+
128
+ @_builtins.property
129
+ @pulumi.getter
130
+ def routes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PortAssociateV2RouteArgs']]]]:
131
+ """
132
+ A list of dictionaries containing the following keys:
133
+ """
134
+ return pulumi.get(self, "routes")
135
+
136
+ @routes.setter
137
+ def routes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PortAssociateV2RouteArgs']]]]):
138
+ pulumi.set(self, "routes", value)
139
+
140
+
141
+ @pulumi.input_type
142
+ class _PortAssociateV2State:
143
+ def __init__(__self__, *,
144
+ advertise_fixed_ips: Optional[pulumi.Input[_builtins.bool]] = None,
145
+ bgpvpn_id: Optional[pulumi.Input[_builtins.str]] = None,
146
+ port_id: Optional[pulumi.Input[_builtins.str]] = None,
147
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
148
+ region: Optional[pulumi.Input[_builtins.str]] = None,
149
+ routes: Optional[pulumi.Input[Sequence[pulumi.Input['PortAssociateV2RouteArgs']]]] = None):
150
+ """
151
+ Input properties used for looking up and filtering PortAssociateV2 resources.
152
+ :param pulumi.Input[_builtins.bool] advertise_fixed_ips: A boolean flag indicating whether fixed
153
+ IPs should be advertised. Defaults to true.
154
+ :param pulumi.Input[_builtins.str] bgpvpn_id: The ID of the BGP VPN to which the port will be
155
+ associated. Changing this creates a new BGP VPN port association.
156
+ :param pulumi.Input[_builtins.str] port_id: The ID of the port to be associated with the BGP VPN.
157
+ Changing this creates a new BGP VPN port association.
158
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the port
159
+ association. Only administrative and users with `advsvc` role can specify a
160
+ project ID other than their own. Changing this creates a new BGP VPN port
161
+ association.
162
+ :param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
163
+ A Networking client is needed to create a BGP VPN port association. If
164
+ omitted, the `region` argument of the provider is used. Changing this creates
165
+ a new BGP VPN port association.
166
+ :param pulumi.Input[Sequence[pulumi.Input['PortAssociateV2RouteArgs']]] routes: A list of dictionaries containing the following keys:
167
+ """
168
+ if advertise_fixed_ips is not None:
169
+ pulumi.set(__self__, "advertise_fixed_ips", advertise_fixed_ips)
170
+ if bgpvpn_id is not None:
171
+ pulumi.set(__self__, "bgpvpn_id", bgpvpn_id)
172
+ if port_id is not None:
173
+ pulumi.set(__self__, "port_id", port_id)
174
+ if project_id is not None:
175
+ pulumi.set(__self__, "project_id", project_id)
176
+ if region is not None:
177
+ pulumi.set(__self__, "region", region)
178
+ if routes is not None:
179
+ pulumi.set(__self__, "routes", routes)
180
+
181
+ @_builtins.property
182
+ @pulumi.getter(name="advertiseFixedIps")
183
+ def advertise_fixed_ips(self) -> Optional[pulumi.Input[_builtins.bool]]:
184
+ """
185
+ A boolean flag indicating whether fixed
186
+ IPs should be advertised. Defaults to true.
187
+ """
188
+ return pulumi.get(self, "advertise_fixed_ips")
189
+
190
+ @advertise_fixed_ips.setter
191
+ def advertise_fixed_ips(self, value: Optional[pulumi.Input[_builtins.bool]]):
192
+ pulumi.set(self, "advertise_fixed_ips", value)
193
+
194
+ @_builtins.property
195
+ @pulumi.getter(name="bgpvpnId")
196
+ def bgpvpn_id(self) -> Optional[pulumi.Input[_builtins.str]]:
197
+ """
198
+ The ID of the BGP VPN to which the port will be
199
+ associated. Changing this creates a new BGP VPN port association.
200
+ """
201
+ return pulumi.get(self, "bgpvpn_id")
202
+
203
+ @bgpvpn_id.setter
204
+ def bgpvpn_id(self, value: Optional[pulumi.Input[_builtins.str]]):
205
+ pulumi.set(self, "bgpvpn_id", value)
206
+
207
+ @_builtins.property
208
+ @pulumi.getter(name="portId")
209
+ def port_id(self) -> Optional[pulumi.Input[_builtins.str]]:
210
+ """
211
+ The ID of the port to be associated with the BGP VPN.
212
+ Changing this creates a new BGP VPN port association.
213
+ """
214
+ return pulumi.get(self, "port_id")
215
+
216
+ @port_id.setter
217
+ def port_id(self, value: Optional[pulumi.Input[_builtins.str]]):
218
+ pulumi.set(self, "port_id", value)
219
+
220
+ @_builtins.property
221
+ @pulumi.getter(name="projectId")
222
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
223
+ """
224
+ The ID of the project that owns the port
225
+ association. Only administrative and users with `advsvc` role can specify a
226
+ project ID other than their own. Changing this creates a new BGP VPN port
227
+ association.
228
+ """
229
+ return pulumi.get(self, "project_id")
230
+
231
+ @project_id.setter
232
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
233
+ pulumi.set(self, "project_id", value)
234
+
235
+ @_builtins.property
236
+ @pulumi.getter
237
+ def region(self) -> Optional[pulumi.Input[_builtins.str]]:
238
+ """
239
+ The region in which to obtain the V2 Networking client.
240
+ A Networking client is needed to create a BGP VPN port association. If
241
+ omitted, the `region` argument of the provider is used. Changing this creates
242
+ a new BGP VPN port association.
243
+ """
244
+ return pulumi.get(self, "region")
245
+
246
+ @region.setter
247
+ def region(self, value: Optional[pulumi.Input[_builtins.str]]):
248
+ pulumi.set(self, "region", value)
249
+
250
+ @_builtins.property
251
+ @pulumi.getter
252
+ def routes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['PortAssociateV2RouteArgs']]]]:
253
+ """
254
+ A list of dictionaries containing the following keys:
255
+ """
256
+ return pulumi.get(self, "routes")
257
+
258
+ @routes.setter
259
+ def routes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['PortAssociateV2RouteArgs']]]]):
260
+ pulumi.set(self, "routes", value)
261
+
262
+
263
+ @pulumi.type_token("openstack:bgpvpn/portAssociateV2:PortAssociateV2")
264
+ class PortAssociateV2(pulumi.CustomResource):
265
+ @overload
266
+ def __init__(__self__,
267
+ resource_name: str,
268
+ opts: Optional[pulumi.ResourceOptions] = None,
269
+ advertise_fixed_ips: Optional[pulumi.Input[_builtins.bool]] = None,
270
+ bgpvpn_id: Optional[pulumi.Input[_builtins.str]] = None,
271
+ port_id: Optional[pulumi.Input[_builtins.str]] = None,
272
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
273
+ region: Optional[pulumi.Input[_builtins.str]] = None,
274
+ routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PortAssociateV2RouteArgs', 'PortAssociateV2RouteArgsDict']]]]] = None,
275
+ __props__=None):
276
+ """
277
+ Manages a V2 BGP VPN port association resource within OpenStack.
278
+
279
+ ## Example Usage
280
+
281
+ ```python
282
+ import pulumi
283
+ import pulumi_openstack as openstack
284
+
285
+ association1 = openstack.bgpvpn.PortAssociateV2("association_1",
286
+ bgpvpn_id="19382ec5-8098-47d9-a9c6-6270c91103f4",
287
+ port_id="b83a95b8-c2c8-4eac-9a9e-ddc85bd1266f",
288
+ routes=[
289
+ {
290
+ "type": "prefix",
291
+ "prefix": "192.168.170.1/32",
292
+ },
293
+ {
294
+ "type": "bgpvpn",
295
+ "bgpvpn_id": "35af1cc6-3d0f-4c5d-86f8-8cdb508d3f0c",
296
+ },
297
+ ])
298
+ ```
299
+
300
+ ## Import
301
+
302
+ BGP VPN port associations can be imported using the BGP VPN ID and BGP VPN port
303
+
304
+ association ID separated by a slash, e.g.:
305
+
306
+ hcl
307
+
308
+ ```sh
309
+ $ pulumi import openstack:bgpvpn/portAssociateV2:PortAssociateV2 association_1 5bb44ecf-f8fe-4d75-8fc5-313f96ee2696/8f8fc660-3f28-414e-896a-0c7c51162fcf
310
+ ```
311
+
312
+ :param str resource_name: The name of the resource.
313
+ :param pulumi.ResourceOptions opts: Options for the resource.
314
+ :param pulumi.Input[_builtins.bool] advertise_fixed_ips: A boolean flag indicating whether fixed
315
+ IPs should be advertised. Defaults to true.
316
+ :param pulumi.Input[_builtins.str] bgpvpn_id: The ID of the BGP VPN to which the port will be
317
+ associated. Changing this creates a new BGP VPN port association.
318
+ :param pulumi.Input[_builtins.str] port_id: The ID of the port to be associated with the BGP VPN.
319
+ Changing this creates a new BGP VPN port association.
320
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the port
321
+ association. Only administrative and users with `advsvc` role can specify a
322
+ project ID other than their own. Changing this creates a new BGP VPN port
323
+ association.
324
+ :param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
325
+ A Networking client is needed to create a BGP VPN port association. If
326
+ omitted, the `region` argument of the provider is used. Changing this creates
327
+ a new BGP VPN port association.
328
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PortAssociateV2RouteArgs', 'PortAssociateV2RouteArgsDict']]]] routes: A list of dictionaries containing the following keys:
329
+ """
330
+ ...
331
+ @overload
332
+ def __init__(__self__,
333
+ resource_name: str,
334
+ args: PortAssociateV2Args,
335
+ opts: Optional[pulumi.ResourceOptions] = None):
336
+ """
337
+ Manages a V2 BGP VPN port association resource within OpenStack.
338
+
339
+ ## Example Usage
340
+
341
+ ```python
342
+ import pulumi
343
+ import pulumi_openstack as openstack
344
+
345
+ association1 = openstack.bgpvpn.PortAssociateV2("association_1",
346
+ bgpvpn_id="19382ec5-8098-47d9-a9c6-6270c91103f4",
347
+ port_id="b83a95b8-c2c8-4eac-9a9e-ddc85bd1266f",
348
+ routes=[
349
+ {
350
+ "type": "prefix",
351
+ "prefix": "192.168.170.1/32",
352
+ },
353
+ {
354
+ "type": "bgpvpn",
355
+ "bgpvpn_id": "35af1cc6-3d0f-4c5d-86f8-8cdb508d3f0c",
356
+ },
357
+ ])
358
+ ```
359
+
360
+ ## Import
361
+
362
+ BGP VPN port associations can be imported using the BGP VPN ID and BGP VPN port
363
+
364
+ association ID separated by a slash, e.g.:
365
+
366
+ hcl
367
+
368
+ ```sh
369
+ $ pulumi import openstack:bgpvpn/portAssociateV2:PortAssociateV2 association_1 5bb44ecf-f8fe-4d75-8fc5-313f96ee2696/8f8fc660-3f28-414e-896a-0c7c51162fcf
370
+ ```
371
+
372
+ :param str resource_name: The name of the resource.
373
+ :param PortAssociateV2Args args: The arguments to use to populate this resource's properties.
374
+ :param pulumi.ResourceOptions opts: Options for the resource.
375
+ """
376
+ ...
377
+ def __init__(__self__, resource_name: str, *args, **kwargs):
378
+ resource_args, opts = _utilities.get_resource_args_opts(PortAssociateV2Args, pulumi.ResourceOptions, *args, **kwargs)
379
+ if resource_args is not None:
380
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
381
+ else:
382
+ __self__._internal_init(resource_name, *args, **kwargs)
383
+
384
+ def _internal_init(__self__,
385
+ resource_name: str,
386
+ opts: Optional[pulumi.ResourceOptions] = None,
387
+ advertise_fixed_ips: Optional[pulumi.Input[_builtins.bool]] = None,
388
+ bgpvpn_id: Optional[pulumi.Input[_builtins.str]] = None,
389
+ port_id: Optional[pulumi.Input[_builtins.str]] = None,
390
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
391
+ region: Optional[pulumi.Input[_builtins.str]] = None,
392
+ routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PortAssociateV2RouteArgs', 'PortAssociateV2RouteArgsDict']]]]] = None,
393
+ __props__=None):
394
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
395
+ if not isinstance(opts, pulumi.ResourceOptions):
396
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
397
+ if opts.id is None:
398
+ if __props__ is not None:
399
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
400
+ __props__ = PortAssociateV2Args.__new__(PortAssociateV2Args)
401
+
402
+ __props__.__dict__["advertise_fixed_ips"] = advertise_fixed_ips
403
+ if bgpvpn_id is None and not opts.urn:
404
+ raise TypeError("Missing required property 'bgpvpn_id'")
405
+ __props__.__dict__["bgpvpn_id"] = bgpvpn_id
406
+ if port_id is None and not opts.urn:
407
+ raise TypeError("Missing required property 'port_id'")
408
+ __props__.__dict__["port_id"] = port_id
409
+ __props__.__dict__["project_id"] = project_id
410
+ __props__.__dict__["region"] = region
411
+ __props__.__dict__["routes"] = routes
412
+ alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="openstack:index/bgpvpnPortAssociateV2:BgpvpnPortAssociateV2")])
413
+ opts = pulumi.ResourceOptions.merge(opts, alias_opts)
414
+ super(PortAssociateV2, __self__).__init__(
415
+ 'openstack:bgpvpn/portAssociateV2:PortAssociateV2',
416
+ resource_name,
417
+ __props__,
418
+ opts)
419
+
420
+ @staticmethod
421
+ def get(resource_name: str,
422
+ id: pulumi.Input[str],
423
+ opts: Optional[pulumi.ResourceOptions] = None,
424
+ advertise_fixed_ips: Optional[pulumi.Input[_builtins.bool]] = None,
425
+ bgpvpn_id: Optional[pulumi.Input[_builtins.str]] = None,
426
+ port_id: Optional[pulumi.Input[_builtins.str]] = None,
427
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
428
+ region: Optional[pulumi.Input[_builtins.str]] = None,
429
+ routes: Optional[pulumi.Input[Sequence[pulumi.Input[Union['PortAssociateV2RouteArgs', 'PortAssociateV2RouteArgsDict']]]]] = None) -> 'PortAssociateV2':
430
+ """
431
+ Get an existing PortAssociateV2 resource's state with the given name, id, and optional extra
432
+ properties used to qualify the lookup.
433
+
434
+ :param str resource_name: The unique name of the resulting resource.
435
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
436
+ :param pulumi.ResourceOptions opts: Options for the resource.
437
+ :param pulumi.Input[_builtins.bool] advertise_fixed_ips: A boolean flag indicating whether fixed
438
+ IPs should be advertised. Defaults to true.
439
+ :param pulumi.Input[_builtins.str] bgpvpn_id: The ID of the BGP VPN to which the port will be
440
+ associated. Changing this creates a new BGP VPN port association.
441
+ :param pulumi.Input[_builtins.str] port_id: The ID of the port to be associated with the BGP VPN.
442
+ Changing this creates a new BGP VPN port association.
443
+ :param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the port
444
+ association. Only administrative and users with `advsvc` role can specify a
445
+ project ID other than their own. Changing this creates a new BGP VPN port
446
+ association.
447
+ :param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
448
+ A Networking client is needed to create a BGP VPN port association. If
449
+ omitted, the `region` argument of the provider is used. Changing this creates
450
+ a new BGP VPN port association.
451
+ :param pulumi.Input[Sequence[pulumi.Input[Union['PortAssociateV2RouteArgs', 'PortAssociateV2RouteArgsDict']]]] routes: A list of dictionaries containing the following keys:
452
+ """
453
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
454
+
455
+ __props__ = _PortAssociateV2State.__new__(_PortAssociateV2State)
456
+
457
+ __props__.__dict__["advertise_fixed_ips"] = advertise_fixed_ips
458
+ __props__.__dict__["bgpvpn_id"] = bgpvpn_id
459
+ __props__.__dict__["port_id"] = port_id
460
+ __props__.__dict__["project_id"] = project_id
461
+ __props__.__dict__["region"] = region
462
+ __props__.__dict__["routes"] = routes
463
+ return PortAssociateV2(resource_name, opts=opts, __props__=__props__)
464
+
465
+ @_builtins.property
466
+ @pulumi.getter(name="advertiseFixedIps")
467
+ def advertise_fixed_ips(self) -> pulumi.Output[_builtins.bool]:
468
+ """
469
+ A boolean flag indicating whether fixed
470
+ IPs should be advertised. Defaults to true.
471
+ """
472
+ return pulumi.get(self, "advertise_fixed_ips")
473
+
474
+ @_builtins.property
475
+ @pulumi.getter(name="bgpvpnId")
476
+ def bgpvpn_id(self) -> pulumi.Output[_builtins.str]:
477
+ """
478
+ The ID of the BGP VPN to which the port will be
479
+ associated. Changing this creates a new BGP VPN port association.
480
+ """
481
+ return pulumi.get(self, "bgpvpn_id")
482
+
483
+ @_builtins.property
484
+ @pulumi.getter(name="portId")
485
+ def port_id(self) -> pulumi.Output[_builtins.str]:
486
+ """
487
+ The ID of the port to be associated with the BGP VPN.
488
+ Changing this creates a new BGP VPN port association.
489
+ """
490
+ return pulumi.get(self, "port_id")
491
+
492
+ @_builtins.property
493
+ @pulumi.getter(name="projectId")
494
+ def project_id(self) -> pulumi.Output[_builtins.str]:
495
+ """
496
+ The ID of the project that owns the port
497
+ association. Only administrative and users with `advsvc` role can specify a
498
+ project ID other than their own. Changing this creates a new BGP VPN port
499
+ association.
500
+ """
501
+ return pulumi.get(self, "project_id")
502
+
503
+ @_builtins.property
504
+ @pulumi.getter
505
+ def region(self) -> pulumi.Output[_builtins.str]:
506
+ """
507
+ The region in which to obtain the V2 Networking client.
508
+ A Networking client is needed to create a BGP VPN port association. If
509
+ omitted, the `region` argument of the provider is used. Changing this creates
510
+ a new BGP VPN port association.
511
+ """
512
+ return pulumi.get(self, "region")
513
+
514
+ @_builtins.property
515
+ @pulumi.getter
516
+ def routes(self) -> pulumi.Output[Optional[Sequence['outputs.PortAssociateV2Route']]]:
517
+ """
518
+ A list of dictionaries containing the following keys:
519
+ """
520
+ return pulumi.get(self, "routes")
521
+