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.
- pulumi_openstack/__init__.py +143 -1
- pulumi_openstack/_inputs.py +92 -26
- pulumi_openstack/_utilities.py +9 -5
- pulumi_openstack/bgpvpn/__init__.py +14 -0
- pulumi_openstack/bgpvpn/_inputs.py +129 -0
- pulumi_openstack/bgpvpn/network_associate_v2.py +398 -0
- pulumi_openstack/bgpvpn/outputs.py +103 -0
- pulumi_openstack/bgpvpn/port_associate_v2.py +521 -0
- pulumi_openstack/bgpvpn/router_associate_v2.py +452 -0
- pulumi_openstack/bgpvpn/v2.py +827 -0
- pulumi_openstack/bgpvpn_network_associate_v2.py +79 -72
- pulumi_openstack/bgpvpn_port_associate_v2.py +99 -92
- pulumi_openstack/bgpvpn_router_associate_v2.py +96 -89
- pulumi_openstack/bgpvpn_v2.py +217 -210
- pulumi_openstack/blockstorage/__init__.py +2 -1
- pulumi_openstack/blockstorage/_inputs.py +47 -47
- pulumi_openstack/blockstorage/get_availability_zones_v3.py +20 -20
- pulumi_openstack/blockstorage/get_quotaset_v3.py +34 -34
- pulumi_openstack/blockstorage/get_snapshot_v3.py +42 -42
- pulumi_openstack/blockstorage/get_volume_v3.py +53 -53
- pulumi_openstack/blockstorage/outputs.py +40 -40
- pulumi_openstack/blockstorage/qos_association_v3.py +54 -53
- pulumi_openstack/blockstorage/qos_v3.py +71 -70
- pulumi_openstack/blockstorage/quote_set_v3.py +173 -178
- pulumi_openstack/blockstorage/volume.py +317 -255
- pulumi_openstack/blockstorage/volume_attach.py +234 -233
- pulumi_openstack/blockstorage/volume_type_access_v3.py +54 -53
- pulumi_openstack/blockstorage/volume_type_v3.py +88 -87
- pulumi_openstack/compute/__init__.py +3 -1
- pulumi_openstack/compute/_inputs.py +231 -231
- pulumi_openstack/compute/aggregate_v2.py +88 -87
- pulumi_openstack/compute/flavor.py +207 -206
- pulumi_openstack/compute/flavor_access.py +54 -53
- pulumi_openstack/compute/get_aggregate_v2.py +49 -27
- pulumi_openstack/compute/get_availability_zones.py +20 -20
- pulumi_openstack/compute/get_flavor.py +80 -80
- pulumi_openstack/compute/get_hypervisor_v2.py +49 -27
- pulumi_openstack/compute/get_instance_v2.py +58 -51
- pulumi_openstack/compute/get_keypair.py +28 -28
- pulumi_openstack/compute/get_limits_v2.py +56 -56
- pulumi_openstack/compute/get_quota_set_v2.py +46 -46
- pulumi_openstack/compute/get_servergroup_v2.py +218 -0
- pulumi_openstack/compute/instance.py +498 -446
- pulumi_openstack/compute/interface_attach.py +208 -87
- pulumi_openstack/compute/keypair.py +106 -105
- pulumi_openstack/compute/outputs.py +168 -155
- pulumi_openstack/compute/quota_set_v2.py +275 -280
- pulumi_openstack/compute/server_group.py +83 -82
- pulumi_openstack/compute/volume_attach.py +214 -103
- pulumi_openstack/config/__init__.py +2 -1
- pulumi_openstack/config/__init__.pyi +14 -10
- pulumi_openstack/config/vars.py +46 -42
- pulumi_openstack/containerinfra/__init__.py +2 -1
- pulumi_openstack/containerinfra/cluster.py +376 -376
- pulumi_openstack/containerinfra/cluster_template.py +543 -543
- pulumi_openstack/containerinfra/get_cluster.py +68 -68
- pulumi_openstack/containerinfra/get_cluster_template.py +80 -80
- pulumi_openstack/containerinfra/get_node_group.py +46 -46
- pulumi_openstack/containerinfra/node_group.py +230 -229
- pulumi_openstack/database/__init__.py +2 -1
- pulumi_openstack/database/_inputs.py +110 -110
- pulumi_openstack/database/configuration.py +60 -59
- pulumi_openstack/database/database.py +64 -56
- pulumi_openstack/database/instance.py +173 -111
- pulumi_openstack/database/outputs.py +74 -74
- pulumi_openstack/database/user.py +111 -103
- pulumi_openstack/dns/__init__.py +5 -1
- pulumi_openstack/dns/get_dns_zone.py +108 -108
- pulumi_openstack/dns/get_zone_share_v2.py +230 -0
- pulumi_openstack/dns/quota_v2.py +495 -0
- pulumi_openstack/dns/record_set.py +173 -172
- pulumi_openstack/dns/transfer_accept.py +105 -111
- pulumi_openstack/dns/transfer_request.py +135 -141
- pulumi_openstack/dns/zone.py +209 -215
- pulumi_openstack/dns/zone_share_v2.py +381 -0
- pulumi_openstack/firewall/__init__.py +5 -1
- pulumi_openstack/firewall/get_group_v2.py +334 -0
- pulumi_openstack/firewall/get_policy_v2.py +271 -0
- pulumi_openstack/firewall/get_rule_v2.py +428 -0
- pulumi_openstack/firewall/group_v2.py +182 -181
- pulumi_openstack/firewall/policy_v2.py +139 -138
- pulumi_openstack/firewall/rule_v2.py +241 -240
- pulumi_openstack/get_fw_group_v2.py +80 -76
- pulumi_openstack/get_fw_policy_v2.py +62 -58
- pulumi_openstack/get_fw_rule_v2.py +108 -104
- pulumi_openstack/identity/__init__.py +4 -1
- pulumi_openstack/identity/_inputs.py +32 -32
- pulumi_openstack/identity/application_credential.py +134 -133
- pulumi_openstack/identity/ec2_credential_v3.py +81 -80
- pulumi_openstack/identity/endpoint_v3.py +123 -122
- pulumi_openstack/identity/get_auth_scope.py +48 -48
- pulumi_openstack/identity/get_endpoint.py +50 -50
- pulumi_openstack/identity/get_group.py +26 -26
- pulumi_openstack/identity/get_project.py +55 -53
- pulumi_openstack/identity/get_project_ids_v3.py +58 -54
- pulumi_openstack/identity/get_role.py +24 -24
- pulumi_openstack/identity/get_service.py +32 -32
- pulumi_openstack/identity/get_user.py +61 -59
- pulumi_openstack/identity/group_v3.py +71 -70
- pulumi_openstack/identity/inherit_role_assignment.py +128 -100
- pulumi_openstack/identity/limit_v3.py +532 -0
- pulumi_openstack/identity/outputs.py +64 -64
- pulumi_openstack/identity/project.py +139 -138
- pulumi_openstack/identity/registered_limit_v3.py +434 -0
- pulumi_openstack/identity/role.py +54 -53
- pulumi_openstack/identity/role_assignment.py +128 -100
- pulumi_openstack/identity/service_v3.py +88 -87
- pulumi_openstack/identity/user.py +210 -209
- pulumi_openstack/identity/user_membership_v3.py +54 -53
- pulumi_openstack/images/__init__.py +2 -1
- pulumi_openstack/images/get_image.py +122 -122
- pulumi_openstack/images/get_image_ids.py +98 -98
- pulumi_openstack/images/image.py +420 -419
- pulumi_openstack/images/image_access.py +98 -97
- pulumi_openstack/images/image_access_accept.py +98 -97
- pulumi_openstack/keymanager/__init__.py +2 -1
- pulumi_openstack/keymanager/_inputs.py +113 -113
- pulumi_openstack/keymanager/container_v1.py +107 -106
- pulumi_openstack/keymanager/get_container.py +33 -33
- pulumi_openstack/keymanager/get_secret.py +89 -89
- pulumi_openstack/keymanager/order_v1.py +121 -120
- pulumi_openstack/keymanager/outputs.py +129 -129
- pulumi_openstack/keymanager/secret_v1.py +290 -255
- pulumi_openstack/lb_flavorprofile_v2.py +111 -70
- pulumi_openstack/lb_loadbalancer_v2.py +266 -261
- pulumi_openstack/loadbalancer/__init__.py +10 -1
- pulumi_openstack/loadbalancer/_inputs.py +75 -75
- pulumi_openstack/loadbalancer/flavor_v2.py +447 -0
- pulumi_openstack/loadbalancer/flavorprofile_v2.py +430 -0
- pulumi_openstack/loadbalancer/get_flavor_v2.py +30 -30
- pulumi_openstack/loadbalancer/get_flavorprofile_v2.py +190 -0
- pulumi_openstack/loadbalancer/get_lb_flavor_deprecated.py +197 -0
- pulumi_openstack/loadbalancer/get_listener_v2.py +634 -0
- pulumi_openstack/loadbalancer/get_loadbalancer_v2.py +470 -0
- pulumi_openstack/loadbalancer/get_pool_v2.py +482 -0
- pulumi_openstack/loadbalancer/l7_policy_v2.py +209 -208
- pulumi_openstack/loadbalancer/l7_rule_v2.py +167 -166
- pulumi_openstack/loadbalancer/listener.py +481 -480
- pulumi_openstack/loadbalancer/load_balancer.py +1033 -0
- pulumi_openstack/loadbalancer/member.py +224 -223
- pulumi_openstack/loadbalancer/members.py +40 -39
- pulumi_openstack/loadbalancer/monitor.py +258 -257
- pulumi_openstack/loadbalancer/outputs.py +311 -51
- pulumi_openstack/loadbalancer/pool.py +291 -290
- pulumi_openstack/loadbalancer/quota.py +156 -161
- pulumi_openstack/networking/__init__.py +8 -1
- pulumi_openstack/networking/_inputs.py +234 -141
- pulumi_openstack/networking/address_group_v2.py +421 -0
- pulumi_openstack/networking/address_scope.py +88 -87
- pulumi_openstack/networking/bgp_peer_v2.py +550 -0
- pulumi_openstack/networking/bgp_speaker_v2.py +697 -0
- pulumi_openstack/networking/floating_ip.py +247 -247
- pulumi_openstack/networking/floating_ip_associate.py +67 -66
- pulumi_openstack/networking/get_address_scope.py +36 -36
- pulumi_openstack/networking/get_floating_ip.py +66 -66
- pulumi_openstack/networking/get_network.py +85 -85
- pulumi_openstack/networking/get_port.py +111 -111
- pulumi_openstack/networking/get_port_ids.py +106 -106
- pulumi_openstack/networking/get_qos_bandwidth_limit_rule.py +32 -32
- pulumi_openstack/networking/get_qos_dscp_marking_rule.py +24 -24
- pulumi_openstack/networking/get_qos_minimum_bandwidth_rule.py +28 -28
- pulumi_openstack/networking/get_qos_policy.py +56 -56
- pulumi_openstack/networking/get_quota_v2.py +36 -36
- pulumi_openstack/networking/get_router.py +102 -74
- pulumi_openstack/networking/get_sec_group.py +50 -50
- pulumi_openstack/networking/get_segment_v2.py +303 -0
- pulumi_openstack/networking/get_subnet.py +126 -107
- pulumi_openstack/networking/get_subnet_ids_v2.py +128 -109
- pulumi_openstack/networking/get_subnet_pool.py +94 -94
- pulumi_openstack/networking/get_trunk.py +63 -63
- pulumi_openstack/networking/network.py +270 -269
- pulumi_openstack/networking/outputs.py +287 -177
- pulumi_openstack/networking/port.py +356 -355
- pulumi_openstack/networking/port_forwarding_v2.py +139 -138
- pulumi_openstack/networking/port_sec_group_associate.py +80 -79
- pulumi_openstack/networking/qos_bandwidth_limit_rule.py +88 -87
- pulumi_openstack/networking/qos_dscp_marking_rule.py +54 -53
- pulumi_openstack/networking/qos_minimum_bandwidth_rule.py +71 -70
- pulumi_openstack/networking/qos_policy.py +175 -174
- pulumi_openstack/networking/quota_v2.py +190 -195
- pulumi_openstack/networking/rbac_policy_v2.py +95 -94
- pulumi_openstack/networking/router.py +286 -224
- pulumi_openstack/networking/router_interface.py +88 -87
- pulumi_openstack/networking/router_route.py +71 -70
- pulumi_openstack/networking/router_routes_v2.py +382 -0
- pulumi_openstack/networking/sec_group.py +131 -130
- pulumi_openstack/networking/sec_group_rule.py +258 -189
- pulumi_openstack/networking/segment_v2.py +633 -0
- pulumi_openstack/networking/subnet.py +399 -337
- pulumi_openstack/networking/subnet_pool.py +294 -293
- pulumi_openstack/networking/subnet_route.py +71 -70
- pulumi_openstack/networking/trunk.py +134 -133
- pulumi_openstack/objectstorage/__init__.py +2 -1
- pulumi_openstack/objectstorage/_inputs.py +22 -16
- pulumi_openstack/objectstorage/account_v1.py +99 -98
- pulumi_openstack/objectstorage/container.py +429 -308
- pulumi_openstack/objectstorage/container_object.py +298 -289
- pulumi_openstack/objectstorage/outputs.py +15 -11
- pulumi_openstack/objectstorage/temp_url.py +165 -164
- pulumi_openstack/orchestration/__init__.py +2 -1
- pulumi_openstack/orchestration/_inputs.py +18 -18
- pulumi_openstack/orchestration/outputs.py +12 -12
- pulumi_openstack/orchestration/stack_v1.py +278 -277
- pulumi_openstack/outputs.py +75 -18
- pulumi_openstack/provider.py +351 -316
- pulumi_openstack/pulumi-plugin.json +1 -1
- pulumi_openstack/sharedfilesystem/__init__.py +2 -1
- pulumi_openstack/sharedfilesystem/_inputs.py +12 -12
- pulumi_openstack/sharedfilesystem/get_availbility_zones.py +14 -14
- pulumi_openstack/sharedfilesystem/get_share.py +74 -70
- pulumi_openstack/sharedfilesystem/get_share_network.py +66 -66
- pulumi_openstack/sharedfilesystem/get_snapshot.py +44 -44
- pulumi_openstack/sharedfilesystem/outputs.py +14 -14
- pulumi_openstack/sharedfilesystem/security_service.py +182 -181
- pulumi_openstack/sharedfilesystem/share.py +263 -262
- pulumi_openstack/sharedfilesystem/share_access.py +123 -122
- pulumi_openstack/sharedfilesystem/share_network.py +150 -149
- pulumi_openstack/taas_tap_mirror_v2.py +653 -0
- pulumi_openstack/vpnaas/__init__.py +2 -1
- pulumi_openstack/vpnaas/_inputs.py +42 -42
- pulumi_openstack/vpnaas/endpoint_group.py +122 -121
- pulumi_openstack/vpnaas/ike_policy.py +213 -198
- pulumi_openstack/vpnaas/ip_sec_policy.py +213 -198
- pulumi_openstack/vpnaas/outputs.py +28 -28
- pulumi_openstack/vpnaas/service.py +166 -165
- pulumi_openstack/vpnaas/site_connection.py +312 -311
- pulumi_openstack/workflow_workflow_v2.py +244 -0
- {pulumi_openstack-5.1.0a1732601510.dist-info → pulumi_openstack-5.5.0a1767139866.dist-info}/METADATA +5 -5
- pulumi_openstack-5.5.0a1767139866.dist-info/RECORD +232 -0
- {pulumi_openstack-5.1.0a1732601510.dist-info → pulumi_openstack-5.5.0a1767139866.dist-info}/WHEEL +1 -1
- pulumi_openstack-5.1.0a1732601510.dist-info/RECORD +0 -200
- {pulumi_openstack-5.1.0a1732601510.dist-info → pulumi_openstack-5.5.0a1767139866.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,827 @@
|
|
|
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__ = ['V2Args', 'V2']
|
|
18
|
+
|
|
19
|
+
@pulumi.input_type
|
|
20
|
+
class V2Args:
|
|
21
|
+
def __init__(__self__, *,
|
|
22
|
+
export_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
23
|
+
import_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
24
|
+
local_pref: Optional[pulumi.Input[_builtins.int]] = None,
|
|
25
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
26
|
+
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
27
|
+
region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
28
|
+
route_distinguishers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
29
|
+
route_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
30
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
31
|
+
vni: Optional[pulumi.Input[_builtins.int]] = None):
|
|
32
|
+
"""
|
|
33
|
+
The set of arguments for constructing a V2 resource.
|
|
34
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] export_targets: A list of additional Route Targets that will be
|
|
35
|
+
used for export.
|
|
36
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] import_targets: A list of additional Route Targets that will be
|
|
37
|
+
imported.
|
|
38
|
+
:param pulumi.Input[_builtins.int] local_pref: The default BGP LOCAL\\_PREF of routes that will be
|
|
39
|
+
advertised to the BGP VPN, unless overridden per-route.
|
|
40
|
+
:param pulumi.Input[_builtins.str] name: The name of the BGP VPN. Changing this updates the name of
|
|
41
|
+
the existing BGP VPN.
|
|
42
|
+
:param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the BGPVPN. Only
|
|
43
|
+
administrative and users with `advsvc` role can specify a project ID other
|
|
44
|
+
than their own. Changing this creates a new BGP VPN.
|
|
45
|
+
:param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
|
|
46
|
+
A Networking client is needed to create a BGP VPN service. If omitted, the
|
|
47
|
+
`region` argument of the provider is used. Changing this creates a new
|
|
48
|
+
BGP VPN.
|
|
49
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] route_distinguishers: A list of route distinguisher strings. If
|
|
50
|
+
specified, one of these RDs will be used to advertise VPN routes.
|
|
51
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] route_targets: A list of Route Targets that will be both
|
|
52
|
+
imported and used for export.
|
|
53
|
+
:param pulumi.Input[_builtins.str] type: The type of the BGP VPN (either `l2` or `l3`). Changing this
|
|
54
|
+
creates a new BGP VPN. Defaults to `l3`.
|
|
55
|
+
:param pulumi.Input[_builtins.int] vni: The globally-assigned VXLAN VNI for the BGP VPN. Changing
|
|
56
|
+
this creates a new BGP VPN.
|
|
57
|
+
"""
|
|
58
|
+
if export_targets is not None:
|
|
59
|
+
pulumi.set(__self__, "export_targets", export_targets)
|
|
60
|
+
if import_targets is not None:
|
|
61
|
+
pulumi.set(__self__, "import_targets", import_targets)
|
|
62
|
+
if local_pref is not None:
|
|
63
|
+
pulumi.set(__self__, "local_pref", local_pref)
|
|
64
|
+
if name is not None:
|
|
65
|
+
pulumi.set(__self__, "name", name)
|
|
66
|
+
if project_id is not None:
|
|
67
|
+
pulumi.set(__self__, "project_id", project_id)
|
|
68
|
+
if region is not None:
|
|
69
|
+
pulumi.set(__self__, "region", region)
|
|
70
|
+
if route_distinguishers is not None:
|
|
71
|
+
pulumi.set(__self__, "route_distinguishers", route_distinguishers)
|
|
72
|
+
if route_targets is not None:
|
|
73
|
+
pulumi.set(__self__, "route_targets", route_targets)
|
|
74
|
+
if type is not None:
|
|
75
|
+
pulumi.set(__self__, "type", type)
|
|
76
|
+
if vni is not None:
|
|
77
|
+
pulumi.set(__self__, "vni", vni)
|
|
78
|
+
|
|
79
|
+
@_builtins.property
|
|
80
|
+
@pulumi.getter(name="exportTargets")
|
|
81
|
+
def export_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
82
|
+
"""
|
|
83
|
+
A list of additional Route Targets that will be
|
|
84
|
+
used for export.
|
|
85
|
+
"""
|
|
86
|
+
return pulumi.get(self, "export_targets")
|
|
87
|
+
|
|
88
|
+
@export_targets.setter
|
|
89
|
+
def export_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
90
|
+
pulumi.set(self, "export_targets", value)
|
|
91
|
+
|
|
92
|
+
@_builtins.property
|
|
93
|
+
@pulumi.getter(name="importTargets")
|
|
94
|
+
def import_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
95
|
+
"""
|
|
96
|
+
A list of additional Route Targets that will be
|
|
97
|
+
imported.
|
|
98
|
+
"""
|
|
99
|
+
return pulumi.get(self, "import_targets")
|
|
100
|
+
|
|
101
|
+
@import_targets.setter
|
|
102
|
+
def import_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
103
|
+
pulumi.set(self, "import_targets", value)
|
|
104
|
+
|
|
105
|
+
@_builtins.property
|
|
106
|
+
@pulumi.getter(name="localPref")
|
|
107
|
+
def local_pref(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
108
|
+
"""
|
|
109
|
+
The default BGP LOCAL\\_PREF of routes that will be
|
|
110
|
+
advertised to the BGP VPN, unless overridden per-route.
|
|
111
|
+
"""
|
|
112
|
+
return pulumi.get(self, "local_pref")
|
|
113
|
+
|
|
114
|
+
@local_pref.setter
|
|
115
|
+
def local_pref(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
116
|
+
pulumi.set(self, "local_pref", value)
|
|
117
|
+
|
|
118
|
+
@_builtins.property
|
|
119
|
+
@pulumi.getter
|
|
120
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
121
|
+
"""
|
|
122
|
+
The name of the BGP VPN. Changing this updates the name of
|
|
123
|
+
the existing BGP VPN.
|
|
124
|
+
"""
|
|
125
|
+
return pulumi.get(self, "name")
|
|
126
|
+
|
|
127
|
+
@name.setter
|
|
128
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
129
|
+
pulumi.set(self, "name", value)
|
|
130
|
+
|
|
131
|
+
@_builtins.property
|
|
132
|
+
@pulumi.getter(name="projectId")
|
|
133
|
+
def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
134
|
+
"""
|
|
135
|
+
The ID of the project that owns the BGPVPN. Only
|
|
136
|
+
administrative and users with `advsvc` role can specify a project ID other
|
|
137
|
+
than their own. Changing this creates a new BGP VPN.
|
|
138
|
+
"""
|
|
139
|
+
return pulumi.get(self, "project_id")
|
|
140
|
+
|
|
141
|
+
@project_id.setter
|
|
142
|
+
def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
143
|
+
pulumi.set(self, "project_id", value)
|
|
144
|
+
|
|
145
|
+
@_builtins.property
|
|
146
|
+
@pulumi.getter
|
|
147
|
+
def region(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
148
|
+
"""
|
|
149
|
+
The region in which to obtain the V2 Networking client.
|
|
150
|
+
A Networking client is needed to create a BGP VPN service. If omitted, the
|
|
151
|
+
`region` argument of the provider is used. Changing this creates a new
|
|
152
|
+
BGP VPN.
|
|
153
|
+
"""
|
|
154
|
+
return pulumi.get(self, "region")
|
|
155
|
+
|
|
156
|
+
@region.setter
|
|
157
|
+
def region(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
158
|
+
pulumi.set(self, "region", value)
|
|
159
|
+
|
|
160
|
+
@_builtins.property
|
|
161
|
+
@pulumi.getter(name="routeDistinguishers")
|
|
162
|
+
def route_distinguishers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
163
|
+
"""
|
|
164
|
+
A list of route distinguisher strings. If
|
|
165
|
+
specified, one of these RDs will be used to advertise VPN routes.
|
|
166
|
+
"""
|
|
167
|
+
return pulumi.get(self, "route_distinguishers")
|
|
168
|
+
|
|
169
|
+
@route_distinguishers.setter
|
|
170
|
+
def route_distinguishers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
171
|
+
pulumi.set(self, "route_distinguishers", value)
|
|
172
|
+
|
|
173
|
+
@_builtins.property
|
|
174
|
+
@pulumi.getter(name="routeTargets")
|
|
175
|
+
def route_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
176
|
+
"""
|
|
177
|
+
A list of Route Targets that will be both
|
|
178
|
+
imported and used for export.
|
|
179
|
+
"""
|
|
180
|
+
return pulumi.get(self, "route_targets")
|
|
181
|
+
|
|
182
|
+
@route_targets.setter
|
|
183
|
+
def route_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
184
|
+
pulumi.set(self, "route_targets", value)
|
|
185
|
+
|
|
186
|
+
@_builtins.property
|
|
187
|
+
@pulumi.getter
|
|
188
|
+
def type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
189
|
+
"""
|
|
190
|
+
The type of the BGP VPN (either `l2` or `l3`). Changing this
|
|
191
|
+
creates a new BGP VPN. Defaults to `l3`.
|
|
192
|
+
"""
|
|
193
|
+
return pulumi.get(self, "type")
|
|
194
|
+
|
|
195
|
+
@type.setter
|
|
196
|
+
def type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
197
|
+
pulumi.set(self, "type", value)
|
|
198
|
+
|
|
199
|
+
@_builtins.property
|
|
200
|
+
@pulumi.getter
|
|
201
|
+
def vni(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
202
|
+
"""
|
|
203
|
+
The globally-assigned VXLAN VNI for the BGP VPN. Changing
|
|
204
|
+
this creates a new BGP VPN.
|
|
205
|
+
"""
|
|
206
|
+
return pulumi.get(self, "vni")
|
|
207
|
+
|
|
208
|
+
@vni.setter
|
|
209
|
+
def vni(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
210
|
+
pulumi.set(self, "vni", value)
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
@pulumi.input_type
|
|
214
|
+
class _V2State:
|
|
215
|
+
def __init__(__self__, *,
|
|
216
|
+
export_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
217
|
+
import_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
218
|
+
local_pref: Optional[pulumi.Input[_builtins.int]] = None,
|
|
219
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
220
|
+
networks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
221
|
+
ports: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
222
|
+
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
223
|
+
region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
224
|
+
route_distinguishers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
225
|
+
route_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
226
|
+
routers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
227
|
+
shared: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
228
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
229
|
+
vni: Optional[pulumi.Input[_builtins.int]] = None):
|
|
230
|
+
"""
|
|
231
|
+
Input properties used for looking up and filtering V2 resources.
|
|
232
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] export_targets: A list of additional Route Targets that will be
|
|
233
|
+
used for export.
|
|
234
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] import_targets: A list of additional Route Targets that will be
|
|
235
|
+
imported.
|
|
236
|
+
:param pulumi.Input[_builtins.int] local_pref: The default BGP LOCAL\\_PREF of routes that will be
|
|
237
|
+
advertised to the BGP VPN, unless overridden per-route.
|
|
238
|
+
:param pulumi.Input[_builtins.str] name: The name of the BGP VPN. Changing this updates the name of
|
|
239
|
+
the existing BGP VPN.
|
|
240
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] networks: A list of network IDs that are associated with the BGP VPN.
|
|
241
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ports: A list of port IDs that are associated with the BGP VPN.
|
|
242
|
+
:param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the BGPVPN. Only
|
|
243
|
+
administrative and users with `advsvc` role can specify a project ID other
|
|
244
|
+
than their own. Changing this creates a new BGP VPN.
|
|
245
|
+
:param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
|
|
246
|
+
A Networking client is needed to create a BGP VPN service. If omitted, the
|
|
247
|
+
`region` argument of the provider is used. Changing this creates a new
|
|
248
|
+
BGP VPN.
|
|
249
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] route_distinguishers: A list of route distinguisher strings. If
|
|
250
|
+
specified, one of these RDs will be used to advertise VPN routes.
|
|
251
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] route_targets: A list of Route Targets that will be both
|
|
252
|
+
imported and used for export.
|
|
253
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] routers: A list of router IDs that are associated with the BGP VPN.
|
|
254
|
+
:param pulumi.Input[_builtins.bool] shared: Indicates whether the BGP VPN is shared across projects.
|
|
255
|
+
:param pulumi.Input[_builtins.str] type: The type of the BGP VPN (either `l2` or `l3`). Changing this
|
|
256
|
+
creates a new BGP VPN. Defaults to `l3`.
|
|
257
|
+
:param pulumi.Input[_builtins.int] vni: The globally-assigned VXLAN VNI for the BGP VPN. Changing
|
|
258
|
+
this creates a new BGP VPN.
|
|
259
|
+
"""
|
|
260
|
+
if export_targets is not None:
|
|
261
|
+
pulumi.set(__self__, "export_targets", export_targets)
|
|
262
|
+
if import_targets is not None:
|
|
263
|
+
pulumi.set(__self__, "import_targets", import_targets)
|
|
264
|
+
if local_pref is not None:
|
|
265
|
+
pulumi.set(__self__, "local_pref", local_pref)
|
|
266
|
+
if name is not None:
|
|
267
|
+
pulumi.set(__self__, "name", name)
|
|
268
|
+
if networks is not None:
|
|
269
|
+
pulumi.set(__self__, "networks", networks)
|
|
270
|
+
if ports is not None:
|
|
271
|
+
pulumi.set(__self__, "ports", ports)
|
|
272
|
+
if project_id is not None:
|
|
273
|
+
pulumi.set(__self__, "project_id", project_id)
|
|
274
|
+
if region is not None:
|
|
275
|
+
pulumi.set(__self__, "region", region)
|
|
276
|
+
if route_distinguishers is not None:
|
|
277
|
+
pulumi.set(__self__, "route_distinguishers", route_distinguishers)
|
|
278
|
+
if route_targets is not None:
|
|
279
|
+
pulumi.set(__self__, "route_targets", route_targets)
|
|
280
|
+
if routers is not None:
|
|
281
|
+
pulumi.set(__self__, "routers", routers)
|
|
282
|
+
if shared is not None:
|
|
283
|
+
pulumi.set(__self__, "shared", shared)
|
|
284
|
+
if type is not None:
|
|
285
|
+
pulumi.set(__self__, "type", type)
|
|
286
|
+
if vni is not None:
|
|
287
|
+
pulumi.set(__self__, "vni", vni)
|
|
288
|
+
|
|
289
|
+
@_builtins.property
|
|
290
|
+
@pulumi.getter(name="exportTargets")
|
|
291
|
+
def export_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
292
|
+
"""
|
|
293
|
+
A list of additional Route Targets that will be
|
|
294
|
+
used for export.
|
|
295
|
+
"""
|
|
296
|
+
return pulumi.get(self, "export_targets")
|
|
297
|
+
|
|
298
|
+
@export_targets.setter
|
|
299
|
+
def export_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
300
|
+
pulumi.set(self, "export_targets", value)
|
|
301
|
+
|
|
302
|
+
@_builtins.property
|
|
303
|
+
@pulumi.getter(name="importTargets")
|
|
304
|
+
def import_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
305
|
+
"""
|
|
306
|
+
A list of additional Route Targets that will be
|
|
307
|
+
imported.
|
|
308
|
+
"""
|
|
309
|
+
return pulumi.get(self, "import_targets")
|
|
310
|
+
|
|
311
|
+
@import_targets.setter
|
|
312
|
+
def import_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
313
|
+
pulumi.set(self, "import_targets", value)
|
|
314
|
+
|
|
315
|
+
@_builtins.property
|
|
316
|
+
@pulumi.getter(name="localPref")
|
|
317
|
+
def local_pref(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
318
|
+
"""
|
|
319
|
+
The default BGP LOCAL\\_PREF of routes that will be
|
|
320
|
+
advertised to the BGP VPN, unless overridden per-route.
|
|
321
|
+
"""
|
|
322
|
+
return pulumi.get(self, "local_pref")
|
|
323
|
+
|
|
324
|
+
@local_pref.setter
|
|
325
|
+
def local_pref(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
326
|
+
pulumi.set(self, "local_pref", value)
|
|
327
|
+
|
|
328
|
+
@_builtins.property
|
|
329
|
+
@pulumi.getter
|
|
330
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
331
|
+
"""
|
|
332
|
+
The name of the BGP VPN. Changing this updates the name of
|
|
333
|
+
the existing BGP VPN.
|
|
334
|
+
"""
|
|
335
|
+
return pulumi.get(self, "name")
|
|
336
|
+
|
|
337
|
+
@name.setter
|
|
338
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
339
|
+
pulumi.set(self, "name", value)
|
|
340
|
+
|
|
341
|
+
@_builtins.property
|
|
342
|
+
@pulumi.getter
|
|
343
|
+
def networks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
344
|
+
"""
|
|
345
|
+
A list of network IDs that are associated with the BGP VPN.
|
|
346
|
+
"""
|
|
347
|
+
return pulumi.get(self, "networks")
|
|
348
|
+
|
|
349
|
+
@networks.setter
|
|
350
|
+
def networks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
351
|
+
pulumi.set(self, "networks", value)
|
|
352
|
+
|
|
353
|
+
@_builtins.property
|
|
354
|
+
@pulumi.getter
|
|
355
|
+
def ports(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
356
|
+
"""
|
|
357
|
+
A list of port IDs that are associated with the BGP VPN.
|
|
358
|
+
"""
|
|
359
|
+
return pulumi.get(self, "ports")
|
|
360
|
+
|
|
361
|
+
@ports.setter
|
|
362
|
+
def ports(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
363
|
+
pulumi.set(self, "ports", value)
|
|
364
|
+
|
|
365
|
+
@_builtins.property
|
|
366
|
+
@pulumi.getter(name="projectId")
|
|
367
|
+
def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
368
|
+
"""
|
|
369
|
+
The ID of the project that owns the BGPVPN. Only
|
|
370
|
+
administrative and users with `advsvc` role can specify a project ID other
|
|
371
|
+
than their own. Changing this creates a new BGP VPN.
|
|
372
|
+
"""
|
|
373
|
+
return pulumi.get(self, "project_id")
|
|
374
|
+
|
|
375
|
+
@project_id.setter
|
|
376
|
+
def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
377
|
+
pulumi.set(self, "project_id", value)
|
|
378
|
+
|
|
379
|
+
@_builtins.property
|
|
380
|
+
@pulumi.getter
|
|
381
|
+
def region(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
382
|
+
"""
|
|
383
|
+
The region in which to obtain the V2 Networking client.
|
|
384
|
+
A Networking client is needed to create a BGP VPN service. If omitted, the
|
|
385
|
+
`region` argument of the provider is used. Changing this creates a new
|
|
386
|
+
BGP VPN.
|
|
387
|
+
"""
|
|
388
|
+
return pulumi.get(self, "region")
|
|
389
|
+
|
|
390
|
+
@region.setter
|
|
391
|
+
def region(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
392
|
+
pulumi.set(self, "region", value)
|
|
393
|
+
|
|
394
|
+
@_builtins.property
|
|
395
|
+
@pulumi.getter(name="routeDistinguishers")
|
|
396
|
+
def route_distinguishers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
397
|
+
"""
|
|
398
|
+
A list of route distinguisher strings. If
|
|
399
|
+
specified, one of these RDs will be used to advertise VPN routes.
|
|
400
|
+
"""
|
|
401
|
+
return pulumi.get(self, "route_distinguishers")
|
|
402
|
+
|
|
403
|
+
@route_distinguishers.setter
|
|
404
|
+
def route_distinguishers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
405
|
+
pulumi.set(self, "route_distinguishers", value)
|
|
406
|
+
|
|
407
|
+
@_builtins.property
|
|
408
|
+
@pulumi.getter(name="routeTargets")
|
|
409
|
+
def route_targets(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
410
|
+
"""
|
|
411
|
+
A list of Route Targets that will be both
|
|
412
|
+
imported and used for export.
|
|
413
|
+
"""
|
|
414
|
+
return pulumi.get(self, "route_targets")
|
|
415
|
+
|
|
416
|
+
@route_targets.setter
|
|
417
|
+
def route_targets(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
418
|
+
pulumi.set(self, "route_targets", value)
|
|
419
|
+
|
|
420
|
+
@_builtins.property
|
|
421
|
+
@pulumi.getter
|
|
422
|
+
def routers(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
|
|
423
|
+
"""
|
|
424
|
+
A list of router IDs that are associated with the BGP VPN.
|
|
425
|
+
"""
|
|
426
|
+
return pulumi.get(self, "routers")
|
|
427
|
+
|
|
428
|
+
@routers.setter
|
|
429
|
+
def routers(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
|
|
430
|
+
pulumi.set(self, "routers", value)
|
|
431
|
+
|
|
432
|
+
@_builtins.property
|
|
433
|
+
@pulumi.getter
|
|
434
|
+
def shared(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
|
435
|
+
"""
|
|
436
|
+
Indicates whether the BGP VPN is shared across projects.
|
|
437
|
+
"""
|
|
438
|
+
return pulumi.get(self, "shared")
|
|
439
|
+
|
|
440
|
+
@shared.setter
|
|
441
|
+
def shared(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
|
442
|
+
pulumi.set(self, "shared", value)
|
|
443
|
+
|
|
444
|
+
@_builtins.property
|
|
445
|
+
@pulumi.getter
|
|
446
|
+
def type(self) -> Optional[pulumi.Input[_builtins.str]]:
|
|
447
|
+
"""
|
|
448
|
+
The type of the BGP VPN (either `l2` or `l3`). Changing this
|
|
449
|
+
creates a new BGP VPN. Defaults to `l3`.
|
|
450
|
+
"""
|
|
451
|
+
return pulumi.get(self, "type")
|
|
452
|
+
|
|
453
|
+
@type.setter
|
|
454
|
+
def type(self, value: Optional[pulumi.Input[_builtins.str]]):
|
|
455
|
+
pulumi.set(self, "type", value)
|
|
456
|
+
|
|
457
|
+
@_builtins.property
|
|
458
|
+
@pulumi.getter
|
|
459
|
+
def vni(self) -> Optional[pulumi.Input[_builtins.int]]:
|
|
460
|
+
"""
|
|
461
|
+
The globally-assigned VXLAN VNI for the BGP VPN. Changing
|
|
462
|
+
this creates a new BGP VPN.
|
|
463
|
+
"""
|
|
464
|
+
return pulumi.get(self, "vni")
|
|
465
|
+
|
|
466
|
+
@vni.setter
|
|
467
|
+
def vni(self, value: Optional[pulumi.Input[_builtins.int]]):
|
|
468
|
+
pulumi.set(self, "vni", value)
|
|
469
|
+
|
|
470
|
+
|
|
471
|
+
@pulumi.type_token("openstack:bgpvpn/v2:V2")
|
|
472
|
+
class V2(pulumi.CustomResource):
|
|
473
|
+
@overload
|
|
474
|
+
def __init__(__self__,
|
|
475
|
+
resource_name: str,
|
|
476
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
477
|
+
export_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
478
|
+
import_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
479
|
+
local_pref: Optional[pulumi.Input[_builtins.int]] = None,
|
|
480
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
481
|
+
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
482
|
+
region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
483
|
+
route_distinguishers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
484
|
+
route_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
485
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
486
|
+
vni: Optional[pulumi.Input[_builtins.int]] = None,
|
|
487
|
+
__props__=None):
|
|
488
|
+
"""
|
|
489
|
+
Manages a V2 BGP VPN service resource within OpenStack.
|
|
490
|
+
|
|
491
|
+
## Example Usage
|
|
492
|
+
|
|
493
|
+
```python
|
|
494
|
+
import pulumi
|
|
495
|
+
import pulumi_openstack as openstack
|
|
496
|
+
|
|
497
|
+
bgpvpn1 = openstack.bgpvpn.V2("bgpvpn_1",
|
|
498
|
+
name="bgpvpn1",
|
|
499
|
+
route_distinguishers=["64512:1"],
|
|
500
|
+
route_targets=["64512:1"],
|
|
501
|
+
import_targets=["64512:2"],
|
|
502
|
+
export_targets=["64512:3"])
|
|
503
|
+
```
|
|
504
|
+
|
|
505
|
+
## Import
|
|
506
|
+
|
|
507
|
+
BGP VPNs can be imported using the `id`, e.g.
|
|
508
|
+
|
|
509
|
+
hcl
|
|
510
|
+
|
|
511
|
+
```sh
|
|
512
|
+
$ pulumi import openstack:bgpvpn/v2:V2 bgpvpn_1 1eec2c66-6be2-4305-af3f-354c9b81f18c
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
:param str resource_name: The name of the resource.
|
|
516
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
517
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] export_targets: A list of additional Route Targets that will be
|
|
518
|
+
used for export.
|
|
519
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] import_targets: A list of additional Route Targets that will be
|
|
520
|
+
imported.
|
|
521
|
+
:param pulumi.Input[_builtins.int] local_pref: The default BGP LOCAL\\_PREF of routes that will be
|
|
522
|
+
advertised to the BGP VPN, unless overridden per-route.
|
|
523
|
+
:param pulumi.Input[_builtins.str] name: The name of the BGP VPN. Changing this updates the name of
|
|
524
|
+
the existing BGP VPN.
|
|
525
|
+
:param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the BGPVPN. Only
|
|
526
|
+
administrative and users with `advsvc` role can specify a project ID other
|
|
527
|
+
than their own. Changing this creates a new BGP VPN.
|
|
528
|
+
:param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
|
|
529
|
+
A Networking client is needed to create a BGP VPN service. If omitted, the
|
|
530
|
+
`region` argument of the provider is used. Changing this creates a new
|
|
531
|
+
BGP VPN.
|
|
532
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] route_distinguishers: A list of route distinguisher strings. If
|
|
533
|
+
specified, one of these RDs will be used to advertise VPN routes.
|
|
534
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] route_targets: A list of Route Targets that will be both
|
|
535
|
+
imported and used for export.
|
|
536
|
+
:param pulumi.Input[_builtins.str] type: The type of the BGP VPN (either `l2` or `l3`). Changing this
|
|
537
|
+
creates a new BGP VPN. Defaults to `l3`.
|
|
538
|
+
:param pulumi.Input[_builtins.int] vni: The globally-assigned VXLAN VNI for the BGP VPN. Changing
|
|
539
|
+
this creates a new BGP VPN.
|
|
540
|
+
"""
|
|
541
|
+
...
|
|
542
|
+
@overload
|
|
543
|
+
def __init__(__self__,
|
|
544
|
+
resource_name: str,
|
|
545
|
+
args: Optional[V2Args] = None,
|
|
546
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
|
547
|
+
"""
|
|
548
|
+
Manages a V2 BGP VPN service resource within OpenStack.
|
|
549
|
+
|
|
550
|
+
## Example Usage
|
|
551
|
+
|
|
552
|
+
```python
|
|
553
|
+
import pulumi
|
|
554
|
+
import pulumi_openstack as openstack
|
|
555
|
+
|
|
556
|
+
bgpvpn1 = openstack.bgpvpn.V2("bgpvpn_1",
|
|
557
|
+
name="bgpvpn1",
|
|
558
|
+
route_distinguishers=["64512:1"],
|
|
559
|
+
route_targets=["64512:1"],
|
|
560
|
+
import_targets=["64512:2"],
|
|
561
|
+
export_targets=["64512:3"])
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
## Import
|
|
565
|
+
|
|
566
|
+
BGP VPNs can be imported using the `id`, e.g.
|
|
567
|
+
|
|
568
|
+
hcl
|
|
569
|
+
|
|
570
|
+
```sh
|
|
571
|
+
$ pulumi import openstack:bgpvpn/v2:V2 bgpvpn_1 1eec2c66-6be2-4305-af3f-354c9b81f18c
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
:param str resource_name: The name of the resource.
|
|
575
|
+
:param V2Args args: The arguments to use to populate this resource's properties.
|
|
576
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
577
|
+
"""
|
|
578
|
+
...
|
|
579
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
|
580
|
+
resource_args, opts = _utilities.get_resource_args_opts(V2Args, pulumi.ResourceOptions, *args, **kwargs)
|
|
581
|
+
if resource_args is not None:
|
|
582
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
|
583
|
+
else:
|
|
584
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
|
585
|
+
|
|
586
|
+
def _internal_init(__self__,
|
|
587
|
+
resource_name: str,
|
|
588
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
589
|
+
export_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
590
|
+
import_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
591
|
+
local_pref: Optional[pulumi.Input[_builtins.int]] = None,
|
|
592
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
593
|
+
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
594
|
+
region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
595
|
+
route_distinguishers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
596
|
+
route_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
597
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
598
|
+
vni: Optional[pulumi.Input[_builtins.int]] = None,
|
|
599
|
+
__props__=None):
|
|
600
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
|
601
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
|
602
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
|
603
|
+
if opts.id is None:
|
|
604
|
+
if __props__ is not None:
|
|
605
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
|
606
|
+
__props__ = V2Args.__new__(V2Args)
|
|
607
|
+
|
|
608
|
+
__props__.__dict__["export_targets"] = export_targets
|
|
609
|
+
__props__.__dict__["import_targets"] = import_targets
|
|
610
|
+
__props__.__dict__["local_pref"] = local_pref
|
|
611
|
+
__props__.__dict__["name"] = name
|
|
612
|
+
__props__.__dict__["project_id"] = project_id
|
|
613
|
+
__props__.__dict__["region"] = region
|
|
614
|
+
__props__.__dict__["route_distinguishers"] = route_distinguishers
|
|
615
|
+
__props__.__dict__["route_targets"] = route_targets
|
|
616
|
+
__props__.__dict__["type"] = type
|
|
617
|
+
__props__.__dict__["vni"] = vni
|
|
618
|
+
__props__.__dict__["networks"] = None
|
|
619
|
+
__props__.__dict__["ports"] = None
|
|
620
|
+
__props__.__dict__["routers"] = None
|
|
621
|
+
__props__.__dict__["shared"] = None
|
|
622
|
+
alias_opts = pulumi.ResourceOptions(aliases=[pulumi.Alias(type_="openstack:index/bgpvpnV2:BgpvpnV2")])
|
|
623
|
+
opts = pulumi.ResourceOptions.merge(opts, alias_opts)
|
|
624
|
+
super(V2, __self__).__init__(
|
|
625
|
+
'openstack:bgpvpn/v2:V2',
|
|
626
|
+
resource_name,
|
|
627
|
+
__props__,
|
|
628
|
+
opts)
|
|
629
|
+
|
|
630
|
+
@staticmethod
|
|
631
|
+
def get(resource_name: str,
|
|
632
|
+
id: pulumi.Input[str],
|
|
633
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
|
634
|
+
export_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
635
|
+
import_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
636
|
+
local_pref: Optional[pulumi.Input[_builtins.int]] = None,
|
|
637
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
|
638
|
+
networks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
639
|
+
ports: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
640
|
+
project_id: Optional[pulumi.Input[_builtins.str]] = None,
|
|
641
|
+
region: Optional[pulumi.Input[_builtins.str]] = None,
|
|
642
|
+
route_distinguishers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
643
|
+
route_targets: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
644
|
+
routers: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
|
|
645
|
+
shared: Optional[pulumi.Input[_builtins.bool]] = None,
|
|
646
|
+
type: Optional[pulumi.Input[_builtins.str]] = None,
|
|
647
|
+
vni: Optional[pulumi.Input[_builtins.int]] = None) -> 'V2':
|
|
648
|
+
"""
|
|
649
|
+
Get an existing V2 resource's state with the given name, id, and optional extra
|
|
650
|
+
properties used to qualify the lookup.
|
|
651
|
+
|
|
652
|
+
:param str resource_name: The unique name of the resulting resource.
|
|
653
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
|
654
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
|
655
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] export_targets: A list of additional Route Targets that will be
|
|
656
|
+
used for export.
|
|
657
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] import_targets: A list of additional Route Targets that will be
|
|
658
|
+
imported.
|
|
659
|
+
:param pulumi.Input[_builtins.int] local_pref: The default BGP LOCAL\\_PREF of routes that will be
|
|
660
|
+
advertised to the BGP VPN, unless overridden per-route.
|
|
661
|
+
:param pulumi.Input[_builtins.str] name: The name of the BGP VPN. Changing this updates the name of
|
|
662
|
+
the existing BGP VPN.
|
|
663
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] networks: A list of network IDs that are associated with the BGP VPN.
|
|
664
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ports: A list of port IDs that are associated with the BGP VPN.
|
|
665
|
+
:param pulumi.Input[_builtins.str] project_id: The ID of the project that owns the BGPVPN. Only
|
|
666
|
+
administrative and users with `advsvc` role can specify a project ID other
|
|
667
|
+
than their own. Changing this creates a new BGP VPN.
|
|
668
|
+
:param pulumi.Input[_builtins.str] region: The region in which to obtain the V2 Networking client.
|
|
669
|
+
A Networking client is needed to create a BGP VPN service. If omitted, the
|
|
670
|
+
`region` argument of the provider is used. Changing this creates a new
|
|
671
|
+
BGP VPN.
|
|
672
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] route_distinguishers: A list of route distinguisher strings. If
|
|
673
|
+
specified, one of these RDs will be used to advertise VPN routes.
|
|
674
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] route_targets: A list of Route Targets that will be both
|
|
675
|
+
imported and used for export.
|
|
676
|
+
:param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] routers: A list of router IDs that are associated with the BGP VPN.
|
|
677
|
+
:param pulumi.Input[_builtins.bool] shared: Indicates whether the BGP VPN is shared across projects.
|
|
678
|
+
:param pulumi.Input[_builtins.str] type: The type of the BGP VPN (either `l2` or `l3`). Changing this
|
|
679
|
+
creates a new BGP VPN. Defaults to `l3`.
|
|
680
|
+
:param pulumi.Input[_builtins.int] vni: The globally-assigned VXLAN VNI for the BGP VPN. Changing
|
|
681
|
+
this creates a new BGP VPN.
|
|
682
|
+
"""
|
|
683
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
|
684
|
+
|
|
685
|
+
__props__ = _V2State.__new__(_V2State)
|
|
686
|
+
|
|
687
|
+
__props__.__dict__["export_targets"] = export_targets
|
|
688
|
+
__props__.__dict__["import_targets"] = import_targets
|
|
689
|
+
__props__.__dict__["local_pref"] = local_pref
|
|
690
|
+
__props__.__dict__["name"] = name
|
|
691
|
+
__props__.__dict__["networks"] = networks
|
|
692
|
+
__props__.__dict__["ports"] = ports
|
|
693
|
+
__props__.__dict__["project_id"] = project_id
|
|
694
|
+
__props__.__dict__["region"] = region
|
|
695
|
+
__props__.__dict__["route_distinguishers"] = route_distinguishers
|
|
696
|
+
__props__.__dict__["route_targets"] = route_targets
|
|
697
|
+
__props__.__dict__["routers"] = routers
|
|
698
|
+
__props__.__dict__["shared"] = shared
|
|
699
|
+
__props__.__dict__["type"] = type
|
|
700
|
+
__props__.__dict__["vni"] = vni
|
|
701
|
+
return V2(resource_name, opts=opts, __props__=__props__)
|
|
702
|
+
|
|
703
|
+
@_builtins.property
|
|
704
|
+
@pulumi.getter(name="exportTargets")
|
|
705
|
+
def export_targets(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
706
|
+
"""
|
|
707
|
+
A list of additional Route Targets that will be
|
|
708
|
+
used for export.
|
|
709
|
+
"""
|
|
710
|
+
return pulumi.get(self, "export_targets")
|
|
711
|
+
|
|
712
|
+
@_builtins.property
|
|
713
|
+
@pulumi.getter(name="importTargets")
|
|
714
|
+
def import_targets(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
715
|
+
"""
|
|
716
|
+
A list of additional Route Targets that will be
|
|
717
|
+
imported.
|
|
718
|
+
"""
|
|
719
|
+
return pulumi.get(self, "import_targets")
|
|
720
|
+
|
|
721
|
+
@_builtins.property
|
|
722
|
+
@pulumi.getter(name="localPref")
|
|
723
|
+
def local_pref(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
724
|
+
"""
|
|
725
|
+
The default BGP LOCAL\\_PREF of routes that will be
|
|
726
|
+
advertised to the BGP VPN, unless overridden per-route.
|
|
727
|
+
"""
|
|
728
|
+
return pulumi.get(self, "local_pref")
|
|
729
|
+
|
|
730
|
+
@_builtins.property
|
|
731
|
+
@pulumi.getter
|
|
732
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
|
733
|
+
"""
|
|
734
|
+
The name of the BGP VPN. Changing this updates the name of
|
|
735
|
+
the existing BGP VPN.
|
|
736
|
+
"""
|
|
737
|
+
return pulumi.get(self, "name")
|
|
738
|
+
|
|
739
|
+
@_builtins.property
|
|
740
|
+
@pulumi.getter
|
|
741
|
+
def networks(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
742
|
+
"""
|
|
743
|
+
A list of network IDs that are associated with the BGP VPN.
|
|
744
|
+
"""
|
|
745
|
+
return pulumi.get(self, "networks")
|
|
746
|
+
|
|
747
|
+
@_builtins.property
|
|
748
|
+
@pulumi.getter
|
|
749
|
+
def ports(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
750
|
+
"""
|
|
751
|
+
A list of port IDs that are associated with the BGP VPN.
|
|
752
|
+
"""
|
|
753
|
+
return pulumi.get(self, "ports")
|
|
754
|
+
|
|
755
|
+
@_builtins.property
|
|
756
|
+
@pulumi.getter(name="projectId")
|
|
757
|
+
def project_id(self) -> pulumi.Output[_builtins.str]:
|
|
758
|
+
"""
|
|
759
|
+
The ID of the project that owns the BGPVPN. Only
|
|
760
|
+
administrative and users with `advsvc` role can specify a project ID other
|
|
761
|
+
than their own. Changing this creates a new BGP VPN.
|
|
762
|
+
"""
|
|
763
|
+
return pulumi.get(self, "project_id")
|
|
764
|
+
|
|
765
|
+
@_builtins.property
|
|
766
|
+
@pulumi.getter
|
|
767
|
+
def region(self) -> pulumi.Output[_builtins.str]:
|
|
768
|
+
"""
|
|
769
|
+
The region in which to obtain the V2 Networking client.
|
|
770
|
+
A Networking client is needed to create a BGP VPN service. If omitted, the
|
|
771
|
+
`region` argument of the provider is used. Changing this creates a new
|
|
772
|
+
BGP VPN.
|
|
773
|
+
"""
|
|
774
|
+
return pulumi.get(self, "region")
|
|
775
|
+
|
|
776
|
+
@_builtins.property
|
|
777
|
+
@pulumi.getter(name="routeDistinguishers")
|
|
778
|
+
def route_distinguishers(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
779
|
+
"""
|
|
780
|
+
A list of route distinguisher strings. If
|
|
781
|
+
specified, one of these RDs will be used to advertise VPN routes.
|
|
782
|
+
"""
|
|
783
|
+
return pulumi.get(self, "route_distinguishers")
|
|
784
|
+
|
|
785
|
+
@_builtins.property
|
|
786
|
+
@pulumi.getter(name="routeTargets")
|
|
787
|
+
def route_targets(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
788
|
+
"""
|
|
789
|
+
A list of Route Targets that will be both
|
|
790
|
+
imported and used for export.
|
|
791
|
+
"""
|
|
792
|
+
return pulumi.get(self, "route_targets")
|
|
793
|
+
|
|
794
|
+
@_builtins.property
|
|
795
|
+
@pulumi.getter
|
|
796
|
+
def routers(self) -> pulumi.Output[Sequence[_builtins.str]]:
|
|
797
|
+
"""
|
|
798
|
+
A list of router IDs that are associated with the BGP VPN.
|
|
799
|
+
"""
|
|
800
|
+
return pulumi.get(self, "routers")
|
|
801
|
+
|
|
802
|
+
@_builtins.property
|
|
803
|
+
@pulumi.getter
|
|
804
|
+
def shared(self) -> pulumi.Output[_builtins.bool]:
|
|
805
|
+
"""
|
|
806
|
+
Indicates whether the BGP VPN is shared across projects.
|
|
807
|
+
"""
|
|
808
|
+
return pulumi.get(self, "shared")
|
|
809
|
+
|
|
810
|
+
@_builtins.property
|
|
811
|
+
@pulumi.getter
|
|
812
|
+
def type(self) -> pulumi.Output[_builtins.str]:
|
|
813
|
+
"""
|
|
814
|
+
The type of the BGP VPN (either `l2` or `l3`). Changing this
|
|
815
|
+
creates a new BGP VPN. Defaults to `l3`.
|
|
816
|
+
"""
|
|
817
|
+
return pulumi.get(self, "type")
|
|
818
|
+
|
|
819
|
+
@_builtins.property
|
|
820
|
+
@pulumi.getter
|
|
821
|
+
def vni(self) -> pulumi.Output[Optional[_builtins.int]]:
|
|
822
|
+
"""
|
|
823
|
+
The globally-assigned VXLAN VNI for the BGP VPN. Changing
|
|
824
|
+
this creates a new BGP VPN.
|
|
825
|
+
"""
|
|
826
|
+
return pulumi.get(self, "vni")
|
|
827
|
+
|