Type { get; set; } = null!;
diff --git a/sdk/dotnet/ObjectStorage/Outputs/ContainerVersioningLegacy.cs b/sdk/dotnet/ObjectStorage/Outputs/ContainerVersioningLegacy.cs
index b628dc030..a06610c01 100644
--- a/sdk/dotnet/ObjectStorage/Outputs/ContainerVersioningLegacy.cs
+++ b/sdk/dotnet/ObjectStorage/Outputs/ContainerVersioningLegacy.cs
@@ -13,7 +13,13 @@ namespace Pulumi.OpenStack.ObjectStorage.Outputs
[OutputType]
public sealed class ContainerVersioningLegacy
{
+ ///
+ /// Container in which versions will be stored.
+ ///
public readonly string Location;
+ ///
+ /// Versioning type which can be `versions` or `history` according to [Openstack documentation](https://docs.openstack.org/swift/latest/api/object_versioning.html).
+ ///
public readonly string Type;
[OutputConstructor]
diff --git a/sdk/go/openstack/init.go b/sdk/go/openstack/init.go
index fd9a4fbfe..9aa0e069c 100644
--- a/sdk/go/openstack/init.go
+++ b/sdk/go/openstack/init.go
@@ -11,6 +11,26 @@ import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
+type module struct {
+ version semver.Version
+}
+
+func (m *module) Version() semver.Version {
+ return m.version
+}
+
+func (m *module) Construct(ctx *pulumi.Context, name, typ, urn string) (r pulumi.Resource, err error) {
+ switch typ {
+ case "openstack:index/lbLoadbalancerV2:LbLoadbalancerV2":
+ r = &LbLoadbalancerV2{}
+ default:
+ return nil, fmt.Errorf("unknown resource type: %s", typ)
+ }
+
+ err = ctx.RegisterResource(typ, name, nil, r, pulumi.URN_(urn))
+ return
+}
+
type pkg struct {
version semver.Version
}
@@ -34,6 +54,11 @@ func init() {
if err != nil {
version = semver.Version{Major: 1}
}
+ pulumi.RegisterResourceModule(
+ "openstack",
+ "index/lbLoadbalancerV2",
+ &module{version},
+ )
pulumi.RegisterResourcePackage(
"openstack",
&pkg{version},
diff --git a/sdk/go/openstack/keymanager/containerV1.go b/sdk/go/openstack/keymanager/containerV1.go
index ed2b8453d..204319314 100644
--- a/sdk/go/openstack/keymanager/containerV1.go
+++ b/sdk/go/openstack/keymanager/containerV1.go
@@ -25,6 +25,7 @@ import (
//
// import (
//
+// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack"
// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/keymanager"
// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/loadbalancer"
// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/networking"
@@ -107,7 +108,7 @@ import (
// if err != nil {
// return err
// }
-// lb1, err := loadbalancer.NewLoadBalancer(ctx, "lb_1", &loadbalancer.LoadBalancerArgs{
+// lb1, err := openstack.NewLbLoadbalancerV2(ctx, "lb_1", &openstack.LbLoadbalancerV2Args{
// Name: pulumi.String("loadbalancer"),
// VipSubnetId: pulumi.String(subnet1.Id),
// })
diff --git a/sdk/go/openstack/lbLoadbalancerV2.go b/sdk/go/openstack/lbLoadbalancerV2.go
new file mode 100644
index 000000000..4f6cf4ab0
--- /dev/null
+++ b/sdk/go/openstack/lbLoadbalancerV2.go
@@ -0,0 +1,597 @@
+// Code generated by the Pulumi Terraform Bridge (tfgen) Tool DO NOT EDIT.
+// *** WARNING: Do not edit by hand unless you're certain you know what you are doing! ***
+
+package openstack
+
+import (
+ "context"
+ "reflect"
+
+ "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/internal"
+ "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+)
+
+// Manages a V2 loadbalancer resource within OpenStack.
+//
+// > **Note:** This resource has attributes that depend on octavia minor versions.
+// Please ensure your Openstack cloud supports the required minor version.
+//
+// ## Example Usage
+//
+// ```go
+// package main
+//
+// import (
+//
+// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack"
+// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
+//
+// )
+//
+// func main() {
+// pulumi.Run(func(ctx *pulumi.Context) error {
+// _, err := openstack.NewLbLoadbalancerV2(ctx, "lb_1", &openstack.LbLoadbalancerV2Args{
+// VipSubnetId: pulumi.String("d9415786-5f1a-428b-b35f-2f1523e146d2"),
+// })
+// if err != nil {
+// return err
+// }
+// return nil
+// })
+// }
+//
+// ```
+//
+// ## Import
+//
+// Load Balancer can be imported using the Load Balancer ID, e.g.:
+//
+// ```sh
+// $ pulumi import openstack:index/lbLoadbalancerV2:LbLoadbalancerV2 loadbalancer_1 19bcfdc7-c521-4a7e-9459-6750bd16df76
+// ```
+type LbLoadbalancerV2 struct {
+ pulumi.CustomResourceState
+
+ // The administrative state of the Loadbalancer.
+ // A valid value is true (UP) or false (DOWN).
+ AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
+ // The availability zone of the Loadbalancer.
+ // Changing this creates a new loadbalancer. Available only for Octavia
+ // **minor version 2.14 or later**.
+ AvailabilityZone pulumi.StringPtrOutput `pulumi:"availabilityZone"`
+ // Human-readable description for the Loadbalancer.
+ Description pulumi.StringPtrOutput `pulumi:"description"`
+ // The UUID of a flavor. Changing this creates a new
+ // loadbalancer.
+ FlavorId pulumi.StringOutput `pulumi:"flavorId"`
+ // The name of the provider. Changing this
+ // creates a new loadbalancer.
+ LoadbalancerProvider pulumi.StringOutput `pulumi:"loadbalancerProvider"`
+ // Human-readable name for the Loadbalancer. Does not have
+ // to be unique.
+ Name pulumi.StringOutput `pulumi:"name"`
+ // The region in which to obtain the V2 Networking client.
+ // A Networking client is needed to create an LB member. If omitted, the
+ // `region` argument of the provider is used. Changing this creates a new
+ // LB member.
+ Region pulumi.StringOutput `pulumi:"region"`
+ // A list of security group IDs to apply to the
+ // loadbalancer. The security groups must be specified by ID and not name (as
+ // opposed to how they are configured with the Compute Instance).
+ SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
+ // A list of simple strings assigned to the loadbalancer.
+ // Available only for Octavia **minor version 2.5 or later**.
+ Tags pulumi.StringArrayOutput `pulumi:"tags"`
+ // Required for admins. The UUID of the tenant who owns
+ // the Loadbalancer. Only administrative users can specify a tenant UUID
+ // other than their own. Changing this creates a new loadbalancer.
+ TenantId pulumi.StringOutput `pulumi:"tenantId"`
+ // The ip address of the load balancer.
+ // Changing this creates a new loadbalancer.
+ VipAddress pulumi.StringOutput `pulumi:"vipAddress"`
+ // The network on which to allocate the
+ // Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ // authorized by policy (e.g. networks that belong to them or networks that
+ // are shared). Changing this creates a new loadbalancer.
+ // It is available only for Octavia.
+ VipNetworkId pulumi.StringOutput `pulumi:"vipNetworkId"`
+ // The port UUID that the loadbalancer will use.
+ // Changing this creates a new loadbalancer. It is available only for Octavia.
+ VipPortId pulumi.StringOutput `pulumi:"vipPortId"`
+ // The subnet on which to allocate the
+ // Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ // authorized by policy (e.g. networks that belong to them or networks that
+ // are shared). Changing this creates a new loadbalancer.
+ // It is required to Neutron LBaaS but optional for Octavia.
+ VipSubnetId pulumi.StringOutput `pulumi:"vipSubnetId"`
+}
+
+// NewLbLoadbalancerV2 registers a new resource with the given unique name, arguments, and options.
+func NewLbLoadbalancerV2(ctx *pulumi.Context,
+ name string, args *LbLoadbalancerV2Args, opts ...pulumi.ResourceOption) (*LbLoadbalancerV2, error) {
+ if args == nil {
+ args = &LbLoadbalancerV2Args{}
+ }
+
+ aliases := pulumi.Aliases([]pulumi.Alias{
+ {
+ Type: pulumi.String("openstack:loadbalancer/loadBalancer:LoadBalancer"),
+ },
+ })
+ opts = append(opts, aliases)
+ opts = internal.PkgResourceDefaultOpts(opts)
+ var resource LbLoadbalancerV2
+ err := ctx.RegisterResource("openstack:index/lbLoadbalancerV2:LbLoadbalancerV2", name, args, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// GetLbLoadbalancerV2 gets an existing LbLoadbalancerV2 resource's state with the given name, ID, and optional
+// state properties that are used to uniquely qualify the lookup (nil if not required).
+func GetLbLoadbalancerV2(ctx *pulumi.Context,
+ name string, id pulumi.IDInput, state *LbLoadbalancerV2State, opts ...pulumi.ResourceOption) (*LbLoadbalancerV2, error) {
+ var resource LbLoadbalancerV2
+ err := ctx.ReadResource("openstack:index/lbLoadbalancerV2:LbLoadbalancerV2", name, id, state, &resource, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return &resource, nil
+}
+
+// Input properties used for looking up and filtering LbLoadbalancerV2 resources.
+type lbLoadbalancerV2State struct {
+ // The administrative state of the Loadbalancer.
+ // A valid value is true (UP) or false (DOWN).
+ AdminStateUp *bool `pulumi:"adminStateUp"`
+ // The availability zone of the Loadbalancer.
+ // Changing this creates a new loadbalancer. Available only for Octavia
+ // **minor version 2.14 or later**.
+ AvailabilityZone *string `pulumi:"availabilityZone"`
+ // Human-readable description for the Loadbalancer.
+ Description *string `pulumi:"description"`
+ // The UUID of a flavor. Changing this creates a new
+ // loadbalancer.
+ FlavorId *string `pulumi:"flavorId"`
+ // The name of the provider. Changing this
+ // creates a new loadbalancer.
+ LoadbalancerProvider *string `pulumi:"loadbalancerProvider"`
+ // Human-readable name for the Loadbalancer. Does not have
+ // to be unique.
+ Name *string `pulumi:"name"`
+ // The region in which to obtain the V2 Networking client.
+ // A Networking client is needed to create an LB member. If omitted, the
+ // `region` argument of the provider is used. Changing this creates a new
+ // LB member.
+ Region *string `pulumi:"region"`
+ // A list of security group IDs to apply to the
+ // loadbalancer. The security groups must be specified by ID and not name (as
+ // opposed to how they are configured with the Compute Instance).
+ SecurityGroupIds []string `pulumi:"securityGroupIds"`
+ // A list of simple strings assigned to the loadbalancer.
+ // Available only for Octavia **minor version 2.5 or later**.
+ Tags []string `pulumi:"tags"`
+ // Required for admins. The UUID of the tenant who owns
+ // the Loadbalancer. Only administrative users can specify a tenant UUID
+ // other than their own. Changing this creates a new loadbalancer.
+ TenantId *string `pulumi:"tenantId"`
+ // The ip address of the load balancer.
+ // Changing this creates a new loadbalancer.
+ VipAddress *string `pulumi:"vipAddress"`
+ // The network on which to allocate the
+ // Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ // authorized by policy (e.g. networks that belong to them or networks that
+ // are shared). Changing this creates a new loadbalancer.
+ // It is available only for Octavia.
+ VipNetworkId *string `pulumi:"vipNetworkId"`
+ // The port UUID that the loadbalancer will use.
+ // Changing this creates a new loadbalancer. It is available only for Octavia.
+ VipPortId *string `pulumi:"vipPortId"`
+ // The subnet on which to allocate the
+ // Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ // authorized by policy (e.g. networks that belong to them or networks that
+ // are shared). Changing this creates a new loadbalancer.
+ // It is required to Neutron LBaaS but optional for Octavia.
+ VipSubnetId *string `pulumi:"vipSubnetId"`
+}
+
+type LbLoadbalancerV2State struct {
+ // The administrative state of the Loadbalancer.
+ // A valid value is true (UP) or false (DOWN).
+ AdminStateUp pulumi.BoolPtrInput
+ // The availability zone of the Loadbalancer.
+ // Changing this creates a new loadbalancer. Available only for Octavia
+ // **minor version 2.14 or later**.
+ AvailabilityZone pulumi.StringPtrInput
+ // Human-readable description for the Loadbalancer.
+ Description pulumi.StringPtrInput
+ // The UUID of a flavor. Changing this creates a new
+ // loadbalancer.
+ FlavorId pulumi.StringPtrInput
+ // The name of the provider. Changing this
+ // creates a new loadbalancer.
+ LoadbalancerProvider pulumi.StringPtrInput
+ // Human-readable name for the Loadbalancer. Does not have
+ // to be unique.
+ Name pulumi.StringPtrInput
+ // The region in which to obtain the V2 Networking client.
+ // A Networking client is needed to create an LB member. If omitted, the
+ // `region` argument of the provider is used. Changing this creates a new
+ // LB member.
+ Region pulumi.StringPtrInput
+ // A list of security group IDs to apply to the
+ // loadbalancer. The security groups must be specified by ID and not name (as
+ // opposed to how they are configured with the Compute Instance).
+ SecurityGroupIds pulumi.StringArrayInput
+ // A list of simple strings assigned to the loadbalancer.
+ // Available only for Octavia **minor version 2.5 or later**.
+ Tags pulumi.StringArrayInput
+ // Required for admins. The UUID of the tenant who owns
+ // the Loadbalancer. Only administrative users can specify a tenant UUID
+ // other than their own. Changing this creates a new loadbalancer.
+ TenantId pulumi.StringPtrInput
+ // The ip address of the load balancer.
+ // Changing this creates a new loadbalancer.
+ VipAddress pulumi.StringPtrInput
+ // The network on which to allocate the
+ // Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ // authorized by policy (e.g. networks that belong to them or networks that
+ // are shared). Changing this creates a new loadbalancer.
+ // It is available only for Octavia.
+ VipNetworkId pulumi.StringPtrInput
+ // The port UUID that the loadbalancer will use.
+ // Changing this creates a new loadbalancer. It is available only for Octavia.
+ VipPortId pulumi.StringPtrInput
+ // The subnet on which to allocate the
+ // Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ // authorized by policy (e.g. networks that belong to them or networks that
+ // are shared). Changing this creates a new loadbalancer.
+ // It is required to Neutron LBaaS but optional for Octavia.
+ VipSubnetId pulumi.StringPtrInput
+}
+
+func (LbLoadbalancerV2State) ElementType() reflect.Type {
+ return reflect.TypeOf((*lbLoadbalancerV2State)(nil)).Elem()
+}
+
+type lbLoadbalancerV2Args struct {
+ // The administrative state of the Loadbalancer.
+ // A valid value is true (UP) or false (DOWN).
+ AdminStateUp *bool `pulumi:"adminStateUp"`
+ // The availability zone of the Loadbalancer.
+ // Changing this creates a new loadbalancer. Available only for Octavia
+ // **minor version 2.14 or later**.
+ AvailabilityZone *string `pulumi:"availabilityZone"`
+ // Human-readable description for the Loadbalancer.
+ Description *string `pulumi:"description"`
+ // The UUID of a flavor. Changing this creates a new
+ // loadbalancer.
+ FlavorId *string `pulumi:"flavorId"`
+ // The name of the provider. Changing this
+ // creates a new loadbalancer.
+ LoadbalancerProvider *string `pulumi:"loadbalancerProvider"`
+ // Human-readable name for the Loadbalancer. Does not have
+ // to be unique.
+ Name *string `pulumi:"name"`
+ // The region in which to obtain the V2 Networking client.
+ // A Networking client is needed to create an LB member. If omitted, the
+ // `region` argument of the provider is used. Changing this creates a new
+ // LB member.
+ Region *string `pulumi:"region"`
+ // A list of security group IDs to apply to the
+ // loadbalancer. The security groups must be specified by ID and not name (as
+ // opposed to how they are configured with the Compute Instance).
+ SecurityGroupIds []string `pulumi:"securityGroupIds"`
+ // A list of simple strings assigned to the loadbalancer.
+ // Available only for Octavia **minor version 2.5 or later**.
+ Tags []string `pulumi:"tags"`
+ // Required for admins. The UUID of the tenant who owns
+ // the Loadbalancer. Only administrative users can specify a tenant UUID
+ // other than their own. Changing this creates a new loadbalancer.
+ TenantId *string `pulumi:"tenantId"`
+ // The ip address of the load balancer.
+ // Changing this creates a new loadbalancer.
+ VipAddress *string `pulumi:"vipAddress"`
+ // The network on which to allocate the
+ // Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ // authorized by policy (e.g. networks that belong to them or networks that
+ // are shared). Changing this creates a new loadbalancer.
+ // It is available only for Octavia.
+ VipNetworkId *string `pulumi:"vipNetworkId"`
+ // The port UUID that the loadbalancer will use.
+ // Changing this creates a new loadbalancer. It is available only for Octavia.
+ VipPortId *string `pulumi:"vipPortId"`
+ // The subnet on which to allocate the
+ // Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ // authorized by policy (e.g. networks that belong to them or networks that
+ // are shared). Changing this creates a new loadbalancer.
+ // It is required to Neutron LBaaS but optional for Octavia.
+ VipSubnetId *string `pulumi:"vipSubnetId"`
+}
+
+// The set of arguments for constructing a LbLoadbalancerV2 resource.
+type LbLoadbalancerV2Args struct {
+ // The administrative state of the Loadbalancer.
+ // A valid value is true (UP) or false (DOWN).
+ AdminStateUp pulumi.BoolPtrInput
+ // The availability zone of the Loadbalancer.
+ // Changing this creates a new loadbalancer. Available only for Octavia
+ // **minor version 2.14 or later**.
+ AvailabilityZone pulumi.StringPtrInput
+ // Human-readable description for the Loadbalancer.
+ Description pulumi.StringPtrInput
+ // The UUID of a flavor. Changing this creates a new
+ // loadbalancer.
+ FlavorId pulumi.StringPtrInput
+ // The name of the provider. Changing this
+ // creates a new loadbalancer.
+ LoadbalancerProvider pulumi.StringPtrInput
+ // Human-readable name for the Loadbalancer. Does not have
+ // to be unique.
+ Name pulumi.StringPtrInput
+ // The region in which to obtain the V2 Networking client.
+ // A Networking client is needed to create an LB member. If omitted, the
+ // `region` argument of the provider is used. Changing this creates a new
+ // LB member.
+ Region pulumi.StringPtrInput
+ // A list of security group IDs to apply to the
+ // loadbalancer. The security groups must be specified by ID and not name (as
+ // opposed to how they are configured with the Compute Instance).
+ SecurityGroupIds pulumi.StringArrayInput
+ // A list of simple strings assigned to the loadbalancer.
+ // Available only for Octavia **minor version 2.5 or later**.
+ Tags pulumi.StringArrayInput
+ // Required for admins. The UUID of the tenant who owns
+ // the Loadbalancer. Only administrative users can specify a tenant UUID
+ // other than their own. Changing this creates a new loadbalancer.
+ TenantId pulumi.StringPtrInput
+ // The ip address of the load balancer.
+ // Changing this creates a new loadbalancer.
+ VipAddress pulumi.StringPtrInput
+ // The network on which to allocate the
+ // Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ // authorized by policy (e.g. networks that belong to them or networks that
+ // are shared). Changing this creates a new loadbalancer.
+ // It is available only for Octavia.
+ VipNetworkId pulumi.StringPtrInput
+ // The port UUID that the loadbalancer will use.
+ // Changing this creates a new loadbalancer. It is available only for Octavia.
+ VipPortId pulumi.StringPtrInput
+ // The subnet on which to allocate the
+ // Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ // authorized by policy (e.g. networks that belong to them or networks that
+ // are shared). Changing this creates a new loadbalancer.
+ // It is required to Neutron LBaaS but optional for Octavia.
+ VipSubnetId pulumi.StringPtrInput
+}
+
+func (LbLoadbalancerV2Args) ElementType() reflect.Type {
+ return reflect.TypeOf((*lbLoadbalancerV2Args)(nil)).Elem()
+}
+
+type LbLoadbalancerV2Input interface {
+ pulumi.Input
+
+ ToLbLoadbalancerV2Output() LbLoadbalancerV2Output
+ ToLbLoadbalancerV2OutputWithContext(ctx context.Context) LbLoadbalancerV2Output
+}
+
+func (*LbLoadbalancerV2) ElementType() reflect.Type {
+ return reflect.TypeOf((**LbLoadbalancerV2)(nil)).Elem()
+}
+
+func (i *LbLoadbalancerV2) ToLbLoadbalancerV2Output() LbLoadbalancerV2Output {
+ return i.ToLbLoadbalancerV2OutputWithContext(context.Background())
+}
+
+func (i *LbLoadbalancerV2) ToLbLoadbalancerV2OutputWithContext(ctx context.Context) LbLoadbalancerV2Output {
+ return pulumi.ToOutputWithContext(ctx, i).(LbLoadbalancerV2Output)
+}
+
+// LbLoadbalancerV2ArrayInput is an input type that accepts LbLoadbalancerV2Array and LbLoadbalancerV2ArrayOutput values.
+// You can construct a concrete instance of `LbLoadbalancerV2ArrayInput` via:
+//
+// LbLoadbalancerV2Array{ LbLoadbalancerV2Args{...} }
+type LbLoadbalancerV2ArrayInput interface {
+ pulumi.Input
+
+ ToLbLoadbalancerV2ArrayOutput() LbLoadbalancerV2ArrayOutput
+ ToLbLoadbalancerV2ArrayOutputWithContext(context.Context) LbLoadbalancerV2ArrayOutput
+}
+
+type LbLoadbalancerV2Array []LbLoadbalancerV2Input
+
+func (LbLoadbalancerV2Array) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*LbLoadbalancerV2)(nil)).Elem()
+}
+
+func (i LbLoadbalancerV2Array) ToLbLoadbalancerV2ArrayOutput() LbLoadbalancerV2ArrayOutput {
+ return i.ToLbLoadbalancerV2ArrayOutputWithContext(context.Background())
+}
+
+func (i LbLoadbalancerV2Array) ToLbLoadbalancerV2ArrayOutputWithContext(ctx context.Context) LbLoadbalancerV2ArrayOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(LbLoadbalancerV2ArrayOutput)
+}
+
+// LbLoadbalancerV2MapInput is an input type that accepts LbLoadbalancerV2Map and LbLoadbalancerV2MapOutput values.
+// You can construct a concrete instance of `LbLoadbalancerV2MapInput` via:
+//
+// LbLoadbalancerV2Map{ "key": LbLoadbalancerV2Args{...} }
+type LbLoadbalancerV2MapInput interface {
+ pulumi.Input
+
+ ToLbLoadbalancerV2MapOutput() LbLoadbalancerV2MapOutput
+ ToLbLoadbalancerV2MapOutputWithContext(context.Context) LbLoadbalancerV2MapOutput
+}
+
+type LbLoadbalancerV2Map map[string]LbLoadbalancerV2Input
+
+func (LbLoadbalancerV2Map) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*LbLoadbalancerV2)(nil)).Elem()
+}
+
+func (i LbLoadbalancerV2Map) ToLbLoadbalancerV2MapOutput() LbLoadbalancerV2MapOutput {
+ return i.ToLbLoadbalancerV2MapOutputWithContext(context.Background())
+}
+
+func (i LbLoadbalancerV2Map) ToLbLoadbalancerV2MapOutputWithContext(ctx context.Context) LbLoadbalancerV2MapOutput {
+ return pulumi.ToOutputWithContext(ctx, i).(LbLoadbalancerV2MapOutput)
+}
+
+type LbLoadbalancerV2Output struct{ *pulumi.OutputState }
+
+func (LbLoadbalancerV2Output) ElementType() reflect.Type {
+ return reflect.TypeOf((**LbLoadbalancerV2)(nil)).Elem()
+}
+
+func (o LbLoadbalancerV2Output) ToLbLoadbalancerV2Output() LbLoadbalancerV2Output {
+ return o
+}
+
+func (o LbLoadbalancerV2Output) ToLbLoadbalancerV2OutputWithContext(ctx context.Context) LbLoadbalancerV2Output {
+ return o
+}
+
+// The administrative state of the Loadbalancer.
+// A valid value is true (UP) or false (DOWN).
+func (o LbLoadbalancerV2Output) AdminStateUp() pulumi.BoolPtrOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.BoolPtrOutput { return v.AdminStateUp }).(pulumi.BoolPtrOutput)
+}
+
+// The availability zone of the Loadbalancer.
+// Changing this creates a new loadbalancer. Available only for Octavia
+// **minor version 2.14 or later**.
+func (o LbLoadbalancerV2Output) AvailabilityZone() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringPtrOutput { return v.AvailabilityZone }).(pulumi.StringPtrOutput)
+}
+
+// Human-readable description for the Loadbalancer.
+func (o LbLoadbalancerV2Output) Description() pulumi.StringPtrOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
+}
+
+// The UUID of a flavor. Changing this creates a new
+// loadbalancer.
+func (o LbLoadbalancerV2Output) FlavorId() pulumi.StringOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringOutput { return v.FlavorId }).(pulumi.StringOutput)
+}
+
+// The name of the provider. Changing this
+// creates a new loadbalancer.
+func (o LbLoadbalancerV2Output) LoadbalancerProvider() pulumi.StringOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringOutput { return v.LoadbalancerProvider }).(pulumi.StringOutput)
+}
+
+// Human-readable name for the Loadbalancer. Does not have
+// to be unique.
+func (o LbLoadbalancerV2Output) Name() pulumi.StringOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
+}
+
+// The region in which to obtain the V2 Networking client.
+// A Networking client is needed to create an LB member. If omitted, the
+// `region` argument of the provider is used. Changing this creates a new
+// LB member.
+func (o LbLoadbalancerV2Output) Region() pulumi.StringOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput)
+}
+
+// A list of security group IDs to apply to the
+// loadbalancer. The security groups must be specified by ID and not name (as
+// opposed to how they are configured with the Compute Instance).
+func (o LbLoadbalancerV2Output) SecurityGroupIds() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput)
+}
+
+// A list of simple strings assigned to the loadbalancer.
+// Available only for Octavia **minor version 2.5 or later**.
+func (o LbLoadbalancerV2Output) Tags() pulumi.StringArrayOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput)
+}
+
+// Required for admins. The UUID of the tenant who owns
+// the Loadbalancer. Only administrative users can specify a tenant UUID
+// other than their own. Changing this creates a new loadbalancer.
+func (o LbLoadbalancerV2Output) TenantId() pulumi.StringOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringOutput { return v.TenantId }).(pulumi.StringOutput)
+}
+
+// The ip address of the load balancer.
+// Changing this creates a new loadbalancer.
+func (o LbLoadbalancerV2Output) VipAddress() pulumi.StringOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringOutput { return v.VipAddress }).(pulumi.StringOutput)
+}
+
+// The network on which to allocate the
+// Loadbalancer's address. A tenant can only create Loadbalancers on networks
+// authorized by policy (e.g. networks that belong to them or networks that
+// are shared). Changing this creates a new loadbalancer.
+// It is available only for Octavia.
+func (o LbLoadbalancerV2Output) VipNetworkId() pulumi.StringOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringOutput { return v.VipNetworkId }).(pulumi.StringOutput)
+}
+
+// The port UUID that the loadbalancer will use.
+// Changing this creates a new loadbalancer. It is available only for Octavia.
+func (o LbLoadbalancerV2Output) VipPortId() pulumi.StringOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringOutput { return v.VipPortId }).(pulumi.StringOutput)
+}
+
+// The subnet on which to allocate the
+// Loadbalancer's address. A tenant can only create Loadbalancers on networks
+// authorized by policy (e.g. networks that belong to them or networks that
+// are shared). Changing this creates a new loadbalancer.
+// It is required to Neutron LBaaS but optional for Octavia.
+func (o LbLoadbalancerV2Output) VipSubnetId() pulumi.StringOutput {
+ return o.ApplyT(func(v *LbLoadbalancerV2) pulumi.StringOutput { return v.VipSubnetId }).(pulumi.StringOutput)
+}
+
+type LbLoadbalancerV2ArrayOutput struct{ *pulumi.OutputState }
+
+func (LbLoadbalancerV2ArrayOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*[]*LbLoadbalancerV2)(nil)).Elem()
+}
+
+func (o LbLoadbalancerV2ArrayOutput) ToLbLoadbalancerV2ArrayOutput() LbLoadbalancerV2ArrayOutput {
+ return o
+}
+
+func (o LbLoadbalancerV2ArrayOutput) ToLbLoadbalancerV2ArrayOutputWithContext(ctx context.Context) LbLoadbalancerV2ArrayOutput {
+ return o
+}
+
+func (o LbLoadbalancerV2ArrayOutput) Index(i pulumi.IntInput) LbLoadbalancerV2Output {
+ return pulumi.All(o, i).ApplyT(func(vs []interface{}) *LbLoadbalancerV2 {
+ return vs[0].([]*LbLoadbalancerV2)[vs[1].(int)]
+ }).(LbLoadbalancerV2Output)
+}
+
+type LbLoadbalancerV2MapOutput struct{ *pulumi.OutputState }
+
+func (LbLoadbalancerV2MapOutput) ElementType() reflect.Type {
+ return reflect.TypeOf((*map[string]*LbLoadbalancerV2)(nil)).Elem()
+}
+
+func (o LbLoadbalancerV2MapOutput) ToLbLoadbalancerV2MapOutput() LbLoadbalancerV2MapOutput {
+ return o
+}
+
+func (o LbLoadbalancerV2MapOutput) ToLbLoadbalancerV2MapOutputWithContext(ctx context.Context) LbLoadbalancerV2MapOutput {
+ return o
+}
+
+func (o LbLoadbalancerV2MapOutput) MapIndex(k pulumi.StringInput) LbLoadbalancerV2Output {
+ return pulumi.All(o, k).ApplyT(func(vs []interface{}) *LbLoadbalancerV2 {
+ return vs[0].(map[string]*LbLoadbalancerV2)[vs[1].(string)]
+ }).(LbLoadbalancerV2Output)
+}
+
+func init() {
+ pulumi.RegisterInputType(reflect.TypeOf((*LbLoadbalancerV2Input)(nil)).Elem(), &LbLoadbalancerV2{})
+ pulumi.RegisterInputType(reflect.TypeOf((*LbLoadbalancerV2ArrayInput)(nil)).Elem(), LbLoadbalancerV2Array{})
+ pulumi.RegisterInputType(reflect.TypeOf((*LbLoadbalancerV2MapInput)(nil)).Elem(), LbLoadbalancerV2Map{})
+ pulumi.RegisterOutputType(LbLoadbalancerV2Output{})
+ pulumi.RegisterOutputType(LbLoadbalancerV2ArrayOutput{})
+ pulumi.RegisterOutputType(LbLoadbalancerV2MapOutput{})
+}
diff --git a/sdk/go/openstack/loadbalancer/l7policyV2.go b/sdk/go/openstack/loadbalancer/l7policyV2.go
index 832bcce5c..6a5146e2a 100644
--- a/sdk/go/openstack/loadbalancer/l7policyV2.go
+++ b/sdk/go/openstack/loadbalancer/l7policyV2.go
@@ -21,6 +21,7 @@ import (
//
// import (
//
+// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack"
// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/loadbalancer"
// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/networking"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
@@ -45,7 +46,7 @@ import (
// if err != nil {
// return err
// }
-// loadbalancer1, err := loadbalancer.NewLoadBalancer(ctx, "loadbalancer_1", &loadbalancer.LoadBalancerArgs{
+// loadbalancer1, err := openstack.NewLbLoadbalancerV2(ctx, "loadbalancer_1", &openstack.LbLoadbalancerV2Args{
// Name: pulumi.String("loadbalancer_1"),
// VipSubnetId: subnet1.ID(),
// })
diff --git a/sdk/go/openstack/loadbalancer/l7ruleV2.go b/sdk/go/openstack/loadbalancer/l7ruleV2.go
index 402b12d5c..b71981b0d 100644
--- a/sdk/go/openstack/loadbalancer/l7ruleV2.go
+++ b/sdk/go/openstack/loadbalancer/l7ruleV2.go
@@ -21,6 +21,7 @@ import (
//
// import (
//
+// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack"
// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/loadbalancer"
// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/networking"
// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
@@ -45,7 +46,7 @@ import (
// if err != nil {
// return err
// }
-// loadbalancer1, err := loadbalancer.NewLoadBalancer(ctx, "loadbalancer_1", &loadbalancer.LoadBalancerArgs{
+// loadbalancer1, err := openstack.NewLbLoadbalancerV2(ctx, "loadbalancer_1", &openstack.LbLoadbalancerV2Args{
// Name: pulumi.String("loadbalancer_1"),
// VipSubnetId: subnet1.ID(),
// })
diff --git a/sdk/go/openstack/loadbalancer/loadBalancer.go b/sdk/go/openstack/loadbalancer/loadBalancer.go
index f4d6fcc3e..4baef0f0a 100644
--- a/sdk/go/openstack/loadbalancer/loadBalancer.go
+++ b/sdk/go/openstack/loadbalancer/loadBalancer.go
@@ -11,99 +11,24 @@ import (
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
-// Manages a V2 loadbalancer resource within OpenStack.
-//
-// > **Note:** This resource has attributes that depend on octavia minor versions.
-// Please ensure your Openstack cloud supports the required minor version.
-//
-// ## Example Usage
-//
-// ```go
-// package main
-//
-// import (
-//
-// "github.com/pulumi/pulumi-openstack/sdk/v4/go/openstack/loadbalancer"
-// "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
-//
-// )
-//
-// func main() {
-// pulumi.Run(func(ctx *pulumi.Context) error {
-// _, err := loadbalancer.NewLoadBalancer(ctx, "lb_1", &loadbalancer.LoadBalancerArgs{
-// VipSubnetId: pulumi.String("d9415786-5f1a-428b-b35f-2f1523e146d2"),
-// })
-// if err != nil {
-// return err
-// }
-// return nil
-// })
-// }
-//
-// ```
-//
-// ## Import
-//
-// Load Balancer can be imported using the Load Balancer ID, e.g.:
-//
-// ```sh
-// $ pulumi import openstack:loadbalancer/loadBalancer:LoadBalancer loadbalancer_1 19bcfdc7-c521-4a7e-9459-6750bd16df76
-// ```
+// Deprecated: openstack.loadbalancer/loadbalancer.LoadBalancer has been deprecated in favor of openstack.index/lbloadbalancerv2.LbLoadbalancerV2
type LoadBalancer struct {
pulumi.CustomResourceState
- // The administrative state of the Loadbalancer.
- // A valid value is true (UP) or false (DOWN).
- AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
- // The availability zone of the Loadbalancer.
- // Changing this creates a new loadbalancer. Available only for Octavia
- // **minor version 2.14 or later**.
- AvailabilityZone pulumi.StringPtrOutput `pulumi:"availabilityZone"`
- // Human-readable description for the Loadbalancer.
- Description pulumi.StringPtrOutput `pulumi:"description"`
- // The UUID of a flavor. Changing this creates a new
- // loadbalancer.
- FlavorId pulumi.StringOutput `pulumi:"flavorId"`
- // The name of the provider. Changing this
- // creates a new loadbalancer.
- LoadbalancerProvider pulumi.StringOutput `pulumi:"loadbalancerProvider"`
- // Human-readable name for the Loadbalancer. Does not have
- // to be unique.
- Name pulumi.StringOutput `pulumi:"name"`
- // The region in which to obtain the V2 Networking client.
- // A Networking client is needed to create an LB member. If omitted, the
- // `region` argument of the provider is used. Changing this creates a new
- // LB member.
- Region pulumi.StringOutput `pulumi:"region"`
- // A list of security group IDs to apply to the
- // loadbalancer. The security groups must be specified by ID and not name (as
- // opposed to how they are configured with the Compute Instance).
- SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
- // A list of simple strings assigned to the loadbalancer.
- // Available only for Octavia **minor version 2.5 or later**.
- Tags pulumi.StringArrayOutput `pulumi:"tags"`
- // Required for admins. The UUID of the tenant who owns
- // the Loadbalancer. Only administrative users can specify a tenant UUID
- // other than their own. Changing this creates a new loadbalancer.
- TenantId pulumi.StringOutput `pulumi:"tenantId"`
- // The ip address of the load balancer.
- // Changing this creates a new loadbalancer.
- VipAddress pulumi.StringOutput `pulumi:"vipAddress"`
- // The network on which to allocate the
- // Loadbalancer's address. A tenant can only create Loadbalancers on networks
- // authorized by policy (e.g. networks that belong to them or networks that
- // are shared). Changing this creates a new loadbalancer.
- // It is available only for Octavia.
- VipNetworkId pulumi.StringOutput `pulumi:"vipNetworkId"`
- // The port UUID that the loadbalancer will use.
- // Changing this creates a new loadbalancer. It is available only for Octavia.
- VipPortId pulumi.StringOutput `pulumi:"vipPortId"`
- // The subnet on which to allocate the
- // Loadbalancer's address. A tenant can only create Loadbalancers on networks
- // authorized by policy (e.g. networks that belong to them or networks that
- // are shared). Changing this creates a new loadbalancer.
- // It is required to Neutron LBaaS but optional for Octavia.
- VipSubnetId pulumi.StringOutput `pulumi:"vipSubnetId"`
+ AdminStateUp pulumi.BoolPtrOutput `pulumi:"adminStateUp"`
+ AvailabilityZone pulumi.StringPtrOutput `pulumi:"availabilityZone"`
+ Description pulumi.StringPtrOutput `pulumi:"description"`
+ FlavorId pulumi.StringOutput `pulumi:"flavorId"`
+ LoadbalancerProvider pulumi.StringOutput `pulumi:"loadbalancerProvider"`
+ Name pulumi.StringOutput `pulumi:"name"`
+ Region pulumi.StringOutput `pulumi:"region"`
+ SecurityGroupIds pulumi.StringArrayOutput `pulumi:"securityGroupIds"`
+ Tags pulumi.StringArrayOutput `pulumi:"tags"`
+ TenantId pulumi.StringOutput `pulumi:"tenantId"`
+ VipAddress pulumi.StringOutput `pulumi:"vipAddress"`
+ VipNetworkId pulumi.StringOutput `pulumi:"vipNetworkId"`
+ VipPortId pulumi.StringOutput `pulumi:"vipPortId"`
+ VipSubnetId pulumi.StringOutput `pulumi:"vipSubnetId"`
}
// NewLoadBalancer registers a new resource with the given unique name, arguments, and options.
@@ -136,113 +61,37 @@ func GetLoadBalancer(ctx *pulumi.Context,
// Input properties used for looking up and filtering LoadBalancer resources.
type loadBalancerState struct {
- // The administrative state of the Loadbalancer.
- // A valid value is true (UP) or false (DOWN).
- AdminStateUp *bool `pulumi:"adminStateUp"`
- // The availability zone of the Loadbalancer.
- // Changing this creates a new loadbalancer. Available only for Octavia
- // **minor version 2.14 or later**.
- AvailabilityZone *string `pulumi:"availabilityZone"`
- // Human-readable description for the Loadbalancer.
- Description *string `pulumi:"description"`
- // The UUID of a flavor. Changing this creates a new
- // loadbalancer.
- FlavorId *string `pulumi:"flavorId"`
- // The name of the provider. Changing this
- // creates a new loadbalancer.
- LoadbalancerProvider *string `pulumi:"loadbalancerProvider"`
- // Human-readable name for the Loadbalancer. Does not have
- // to be unique.
- Name *string `pulumi:"name"`
- // The region in which to obtain the V2 Networking client.
- // A Networking client is needed to create an LB member. If omitted, the
- // `region` argument of the provider is used. Changing this creates a new
- // LB member.
- Region *string `pulumi:"region"`
- // A list of security group IDs to apply to the
- // loadbalancer. The security groups must be specified by ID and not name (as
- // opposed to how they are configured with the Compute Instance).
- SecurityGroupIds []string `pulumi:"securityGroupIds"`
- // A list of simple strings assigned to the loadbalancer.
- // Available only for Octavia **minor version 2.5 or later**.
- Tags []string `pulumi:"tags"`
- // Required for admins. The UUID of the tenant who owns
- // the Loadbalancer. Only administrative users can specify a tenant UUID
- // other than their own. Changing this creates a new loadbalancer.
- TenantId *string `pulumi:"tenantId"`
- // The ip address of the load balancer.
- // Changing this creates a new loadbalancer.
- VipAddress *string `pulumi:"vipAddress"`
- // The network on which to allocate the
- // Loadbalancer's address. A tenant can only create Loadbalancers on networks
- // authorized by policy (e.g. networks that belong to them or networks that
- // are shared). Changing this creates a new loadbalancer.
- // It is available only for Octavia.
- VipNetworkId *string `pulumi:"vipNetworkId"`
- // The port UUID that the loadbalancer will use.
- // Changing this creates a new loadbalancer. It is available only for Octavia.
- VipPortId *string `pulumi:"vipPortId"`
- // The subnet on which to allocate the
- // Loadbalancer's address. A tenant can only create Loadbalancers on networks
- // authorized by policy (e.g. networks that belong to them or networks that
- // are shared). Changing this creates a new loadbalancer.
- // It is required to Neutron LBaaS but optional for Octavia.
- VipSubnetId *string `pulumi:"vipSubnetId"`
+ AdminStateUp *bool `pulumi:"adminStateUp"`
+ AvailabilityZone *string `pulumi:"availabilityZone"`
+ Description *string `pulumi:"description"`
+ FlavorId *string `pulumi:"flavorId"`
+ LoadbalancerProvider *string `pulumi:"loadbalancerProvider"`
+ Name *string `pulumi:"name"`
+ Region *string `pulumi:"region"`
+ SecurityGroupIds []string `pulumi:"securityGroupIds"`
+ Tags []string `pulumi:"tags"`
+ TenantId *string `pulumi:"tenantId"`
+ VipAddress *string `pulumi:"vipAddress"`
+ VipNetworkId *string `pulumi:"vipNetworkId"`
+ VipPortId *string `pulumi:"vipPortId"`
+ VipSubnetId *string `pulumi:"vipSubnetId"`
}
type LoadBalancerState struct {
- // The administrative state of the Loadbalancer.
- // A valid value is true (UP) or false (DOWN).
- AdminStateUp pulumi.BoolPtrInput
- // The availability zone of the Loadbalancer.
- // Changing this creates a new loadbalancer. Available only for Octavia
- // **minor version 2.14 or later**.
- AvailabilityZone pulumi.StringPtrInput
- // Human-readable description for the Loadbalancer.
- Description pulumi.StringPtrInput
- // The UUID of a flavor. Changing this creates a new
- // loadbalancer.
- FlavorId pulumi.StringPtrInput
- // The name of the provider. Changing this
- // creates a new loadbalancer.
+ AdminStateUp pulumi.BoolPtrInput
+ AvailabilityZone pulumi.StringPtrInput
+ Description pulumi.StringPtrInput
+ FlavorId pulumi.StringPtrInput
LoadbalancerProvider pulumi.StringPtrInput
- // Human-readable name for the Loadbalancer. Does not have
- // to be unique.
- Name pulumi.StringPtrInput
- // The region in which to obtain the V2 Networking client.
- // A Networking client is needed to create an LB member. If omitted, the
- // `region` argument of the provider is used. Changing this creates a new
- // LB member.
- Region pulumi.StringPtrInput
- // A list of security group IDs to apply to the
- // loadbalancer. The security groups must be specified by ID and not name (as
- // opposed to how they are configured with the Compute Instance).
- SecurityGroupIds pulumi.StringArrayInput
- // A list of simple strings assigned to the loadbalancer.
- // Available only for Octavia **minor version 2.5 or later**.
- Tags pulumi.StringArrayInput
- // Required for admins. The UUID of the tenant who owns
- // the Loadbalancer. Only administrative users can specify a tenant UUID
- // other than their own. Changing this creates a new loadbalancer.
- TenantId pulumi.StringPtrInput
- // The ip address of the load balancer.
- // Changing this creates a new loadbalancer.
- VipAddress pulumi.StringPtrInput
- // The network on which to allocate the
- // Loadbalancer's address. A tenant can only create Loadbalancers on networks
- // authorized by policy (e.g. networks that belong to them or networks that
- // are shared). Changing this creates a new loadbalancer.
- // It is available only for Octavia.
- VipNetworkId pulumi.StringPtrInput
- // The port UUID that the loadbalancer will use.
- // Changing this creates a new loadbalancer. It is available only for Octavia.
- VipPortId pulumi.StringPtrInput
- // The subnet on which to allocate the
- // Loadbalancer's address. A tenant can only create Loadbalancers on networks
- // authorized by policy (e.g. networks that belong to them or networks that
- // are shared). Changing this creates a new loadbalancer.
- // It is required to Neutron LBaaS but optional for Octavia.
- VipSubnetId pulumi.StringPtrInput
+ Name pulumi.StringPtrInput
+ Region pulumi.StringPtrInput
+ SecurityGroupIds pulumi.StringArrayInput
+ Tags pulumi.StringArrayInput
+ TenantId pulumi.StringPtrInput
+ VipAddress pulumi.StringPtrInput
+ VipNetworkId pulumi.StringPtrInput
+ VipPortId pulumi.StringPtrInput
+ VipSubnetId pulumi.StringPtrInput
}
func (LoadBalancerState) ElementType() reflect.Type {
@@ -250,114 +99,38 @@ func (LoadBalancerState) ElementType() reflect.Type {
}
type loadBalancerArgs struct {
- // The administrative state of the Loadbalancer.
- // A valid value is true (UP) or false (DOWN).
- AdminStateUp *bool `pulumi:"adminStateUp"`
- // The availability zone of the Loadbalancer.
- // Changing this creates a new loadbalancer. Available only for Octavia
- // **minor version 2.14 or later**.
- AvailabilityZone *string `pulumi:"availabilityZone"`
- // Human-readable description for the Loadbalancer.
- Description *string `pulumi:"description"`
- // The UUID of a flavor. Changing this creates a new
- // loadbalancer.
- FlavorId *string `pulumi:"flavorId"`
- // The name of the provider. Changing this
- // creates a new loadbalancer.
- LoadbalancerProvider *string `pulumi:"loadbalancerProvider"`
- // Human-readable name for the Loadbalancer. Does not have
- // to be unique.
- Name *string `pulumi:"name"`
- // The region in which to obtain the V2 Networking client.
- // A Networking client is needed to create an LB member. If omitted, the
- // `region` argument of the provider is used. Changing this creates a new
- // LB member.
- Region *string `pulumi:"region"`
- // A list of security group IDs to apply to the
- // loadbalancer. The security groups must be specified by ID and not name (as
- // opposed to how they are configured with the Compute Instance).
- SecurityGroupIds []string `pulumi:"securityGroupIds"`
- // A list of simple strings assigned to the loadbalancer.
- // Available only for Octavia **minor version 2.5 or later**.
- Tags []string `pulumi:"tags"`
- // Required for admins. The UUID of the tenant who owns
- // the Loadbalancer. Only administrative users can specify a tenant UUID
- // other than their own. Changing this creates a new loadbalancer.
- TenantId *string `pulumi:"tenantId"`
- // The ip address of the load balancer.
- // Changing this creates a new loadbalancer.
- VipAddress *string `pulumi:"vipAddress"`
- // The network on which to allocate the
- // Loadbalancer's address. A tenant can only create Loadbalancers on networks
- // authorized by policy (e.g. networks that belong to them or networks that
- // are shared). Changing this creates a new loadbalancer.
- // It is available only for Octavia.
- VipNetworkId *string `pulumi:"vipNetworkId"`
- // The port UUID that the loadbalancer will use.
- // Changing this creates a new loadbalancer. It is available only for Octavia.
- VipPortId *string `pulumi:"vipPortId"`
- // The subnet on which to allocate the
- // Loadbalancer's address. A tenant can only create Loadbalancers on networks
- // authorized by policy (e.g. networks that belong to them or networks that
- // are shared). Changing this creates a new loadbalancer.
- // It is required to Neutron LBaaS but optional for Octavia.
- VipSubnetId *string `pulumi:"vipSubnetId"`
+ AdminStateUp *bool `pulumi:"adminStateUp"`
+ AvailabilityZone *string `pulumi:"availabilityZone"`
+ Description *string `pulumi:"description"`
+ FlavorId *string `pulumi:"flavorId"`
+ LoadbalancerProvider *string `pulumi:"loadbalancerProvider"`
+ Name *string `pulumi:"name"`
+ Region *string `pulumi:"region"`
+ SecurityGroupIds []string `pulumi:"securityGroupIds"`
+ Tags []string `pulumi:"tags"`
+ TenantId *string `pulumi:"tenantId"`
+ VipAddress *string `pulumi:"vipAddress"`
+ VipNetworkId *string `pulumi:"vipNetworkId"`
+ VipPortId *string `pulumi:"vipPortId"`
+ VipSubnetId *string `pulumi:"vipSubnetId"`
}
// The set of arguments for constructing a LoadBalancer resource.
type LoadBalancerArgs struct {
- // The administrative state of the Loadbalancer.
- // A valid value is true (UP) or false (DOWN).
- AdminStateUp pulumi.BoolPtrInput
- // The availability zone of the Loadbalancer.
- // Changing this creates a new loadbalancer. Available only for Octavia
- // **minor version 2.14 or later**.
- AvailabilityZone pulumi.StringPtrInput
- // Human-readable description for the Loadbalancer.
- Description pulumi.StringPtrInput
- // The UUID of a flavor. Changing this creates a new
- // loadbalancer.
- FlavorId pulumi.StringPtrInput
- // The name of the provider. Changing this
- // creates a new loadbalancer.
+ AdminStateUp pulumi.BoolPtrInput
+ AvailabilityZone pulumi.StringPtrInput
+ Description pulumi.StringPtrInput
+ FlavorId pulumi.StringPtrInput
LoadbalancerProvider pulumi.StringPtrInput
- // Human-readable name for the Loadbalancer. Does not have
- // to be unique.
- Name pulumi.StringPtrInput
- // The region in which to obtain the V2 Networking client.
- // A Networking client is needed to create an LB member. If omitted, the
- // `region` argument of the provider is used. Changing this creates a new
- // LB member.
- Region pulumi.StringPtrInput
- // A list of security group IDs to apply to the
- // loadbalancer. The security groups must be specified by ID and not name (as
- // opposed to how they are configured with the Compute Instance).
- SecurityGroupIds pulumi.StringArrayInput
- // A list of simple strings assigned to the loadbalancer.
- // Available only for Octavia **minor version 2.5 or later**.
- Tags pulumi.StringArrayInput
- // Required for admins. The UUID of the tenant who owns
- // the Loadbalancer. Only administrative users can specify a tenant UUID
- // other than their own. Changing this creates a new loadbalancer.
- TenantId pulumi.StringPtrInput
- // The ip address of the load balancer.
- // Changing this creates a new loadbalancer.
- VipAddress pulumi.StringPtrInput
- // The network on which to allocate the
- // Loadbalancer's address. A tenant can only create Loadbalancers on networks
- // authorized by policy (e.g. networks that belong to them or networks that
- // are shared). Changing this creates a new loadbalancer.
- // It is available only for Octavia.
- VipNetworkId pulumi.StringPtrInput
- // The port UUID that the loadbalancer will use.
- // Changing this creates a new loadbalancer. It is available only for Octavia.
- VipPortId pulumi.StringPtrInput
- // The subnet on which to allocate the
- // Loadbalancer's address. A tenant can only create Loadbalancers on networks
- // authorized by policy (e.g. networks that belong to them or networks that
- // are shared). Changing this creates a new loadbalancer.
- // It is required to Neutron LBaaS but optional for Octavia.
- VipSubnetId pulumi.StringPtrInput
+ Name pulumi.StringPtrInput
+ Region pulumi.StringPtrInput
+ SecurityGroupIds pulumi.StringArrayInput
+ Tags pulumi.StringArrayInput
+ TenantId pulumi.StringPtrInput
+ VipAddress pulumi.StringPtrInput
+ VipNetworkId pulumi.StringPtrInput
+ VipPortId pulumi.StringPtrInput
+ VipSubnetId pulumi.StringPtrInput
}
func (LoadBalancerArgs) ElementType() reflect.Type {
@@ -447,96 +220,58 @@ func (o LoadBalancerOutput) ToLoadBalancerOutputWithContext(ctx context.Context)
return o
}
-// The administrative state of the Loadbalancer.
-// A valid value is true (UP) or false (DOWN).
func (o LoadBalancerOutput) AdminStateUp() pulumi.BoolPtrOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.BoolPtrOutput { return v.AdminStateUp }).(pulumi.BoolPtrOutput)
}
-// The availability zone of the Loadbalancer.
-// Changing this creates a new loadbalancer. Available only for Octavia
-// **minor version 2.14 or later**.
func (o LoadBalancerOutput) AvailabilityZone() pulumi.StringPtrOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringPtrOutput { return v.AvailabilityZone }).(pulumi.StringPtrOutput)
}
-// Human-readable description for the Loadbalancer.
func (o LoadBalancerOutput) Description() pulumi.StringPtrOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringPtrOutput { return v.Description }).(pulumi.StringPtrOutput)
}
-// The UUID of a flavor. Changing this creates a new
-// loadbalancer.
func (o LoadBalancerOutput) FlavorId() pulumi.StringOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.FlavorId }).(pulumi.StringOutput)
}
-// The name of the provider. Changing this
-// creates a new loadbalancer.
func (o LoadBalancerOutput) LoadbalancerProvider() pulumi.StringOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.LoadbalancerProvider }).(pulumi.StringOutput)
}
-// Human-readable name for the Loadbalancer. Does not have
-// to be unique.
func (o LoadBalancerOutput) Name() pulumi.StringOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.Name }).(pulumi.StringOutput)
}
-// The region in which to obtain the V2 Networking client.
-// A Networking client is needed to create an LB member. If omitted, the
-// `region` argument of the provider is used. Changing this creates a new
-// LB member.
func (o LoadBalancerOutput) Region() pulumi.StringOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.Region }).(pulumi.StringOutput)
}
-// A list of security group IDs to apply to the
-// loadbalancer. The security groups must be specified by ID and not name (as
-// opposed to how they are configured with the Compute Instance).
func (o LoadBalancerOutput) SecurityGroupIds() pulumi.StringArrayOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringArrayOutput { return v.SecurityGroupIds }).(pulumi.StringArrayOutput)
}
-// A list of simple strings assigned to the loadbalancer.
-// Available only for Octavia **minor version 2.5 or later**.
func (o LoadBalancerOutput) Tags() pulumi.StringArrayOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringArrayOutput { return v.Tags }).(pulumi.StringArrayOutput)
}
-// Required for admins. The UUID of the tenant who owns
-// the Loadbalancer. Only administrative users can specify a tenant UUID
-// other than their own. Changing this creates a new loadbalancer.
func (o LoadBalancerOutput) TenantId() pulumi.StringOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.TenantId }).(pulumi.StringOutput)
}
-// The ip address of the load balancer.
-// Changing this creates a new loadbalancer.
func (o LoadBalancerOutput) VipAddress() pulumi.StringOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.VipAddress }).(pulumi.StringOutput)
}
-// The network on which to allocate the
-// Loadbalancer's address. A tenant can only create Loadbalancers on networks
-// authorized by policy (e.g. networks that belong to them or networks that
-// are shared). Changing this creates a new loadbalancer.
-// It is available only for Octavia.
func (o LoadBalancerOutput) VipNetworkId() pulumi.StringOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.VipNetworkId }).(pulumi.StringOutput)
}
-// The port UUID that the loadbalancer will use.
-// Changing this creates a new loadbalancer. It is available only for Octavia.
func (o LoadBalancerOutput) VipPortId() pulumi.StringOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.VipPortId }).(pulumi.StringOutput)
}
-// The subnet on which to allocate the
-// Loadbalancer's address. A tenant can only create Loadbalancers on networks
-// authorized by policy (e.g. networks that belong to them or networks that
-// are shared). Changing this creates a new loadbalancer.
-// It is required to Neutron LBaaS but optional for Octavia.
func (o LoadBalancerOutput) VipSubnetId() pulumi.StringOutput {
return o.ApplyT(func(v *LoadBalancer) pulumi.StringOutput { return v.VipSubnetId }).(pulumi.StringOutput)
}
diff --git a/sdk/go/openstack/objectstorage/pulumiTypes.go b/sdk/go/openstack/objectstorage/pulumiTypes.go
index 28710fbdf..d3e91e2a6 100644
--- a/sdk/go/openstack/objectstorage/pulumiTypes.go
+++ b/sdk/go/openstack/objectstorage/pulumiTypes.go
@@ -14,8 +14,10 @@ import (
var _ = internal.GetEnvOrDefault
type ContainerVersioningLegacy struct {
+ // Container in which versions will be stored.
Location string `pulumi:"location"`
- Type string `pulumi:"type"`
+ // Versioning type which can be `versions` or `history` according to [Openstack documentation](https://docs.openstack.org/swift/latest/api/object_versioning.html).
+ Type string `pulumi:"type"`
}
// ContainerVersioningLegacyInput is an input type that accepts ContainerVersioningLegacyArgs and ContainerVersioningLegacyOutput values.
@@ -30,8 +32,10 @@ type ContainerVersioningLegacyInput interface {
}
type ContainerVersioningLegacyArgs struct {
+ // Container in which versions will be stored.
Location pulumi.StringInput `pulumi:"location"`
- Type pulumi.StringInput `pulumi:"type"`
+ // Versioning type which can be `versions` or `history` according to [Openstack documentation](https://docs.openstack.org/swift/latest/api/object_versioning.html).
+ Type pulumi.StringInput `pulumi:"type"`
}
func (ContainerVersioningLegacyArgs) ElementType() reflect.Type {
@@ -111,10 +115,12 @@ func (o ContainerVersioningLegacyOutput) ToContainerVersioningLegacyPtrOutputWit
}).(ContainerVersioningLegacyPtrOutput)
}
+// Container in which versions will be stored.
func (o ContainerVersioningLegacyOutput) Location() pulumi.StringOutput {
return o.ApplyT(func(v ContainerVersioningLegacy) string { return v.Location }).(pulumi.StringOutput)
}
+// Versioning type which can be `versions` or `history` according to [Openstack documentation](https://docs.openstack.org/swift/latest/api/object_versioning.html).
func (o ContainerVersioningLegacyOutput) Type() pulumi.StringOutput {
return o.ApplyT(func(v ContainerVersioningLegacy) string { return v.Type }).(pulumi.StringOutput)
}
@@ -143,6 +149,7 @@ func (o ContainerVersioningLegacyPtrOutput) Elem() ContainerVersioningLegacyOutp
}).(ContainerVersioningLegacyOutput)
}
+// Container in which versions will be stored.
func (o ContainerVersioningLegacyPtrOutput) Location() pulumi.StringPtrOutput {
return o.ApplyT(func(v *ContainerVersioningLegacy) *string {
if v == nil {
@@ -152,6 +159,7 @@ func (o ContainerVersioningLegacyPtrOutput) Location() pulumi.StringPtrOutput {
}).(pulumi.StringPtrOutput)
}
+// Versioning type which can be `versions` or `history` according to [Openstack documentation](https://docs.openstack.org/swift/latest/api/object_versioning.html).
func (o ContainerVersioningLegacyPtrOutput) Type() pulumi.StringPtrOutput {
return o.ApplyT(func(v *ContainerVersioningLegacy) *string {
if v == nil {
diff --git a/sdk/java/src/main/java/com/pulumi/openstack/LbLoadbalancerV2.java b/sdk/java/src/main/java/com/pulumi/openstack/LbLoadbalancerV2.java
new file mode 100644
index 000000000..f852e589a
--- /dev/null
+++ b/sdk/java/src/main/java/com/pulumi/openstack/LbLoadbalancerV2.java
@@ -0,0 +1,368 @@
+// *** WARNING: this file was generated by pulumi-java-gen. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+package com.pulumi.openstack;
+
+import com.pulumi.core.Alias;
+import com.pulumi.core.Output;
+import com.pulumi.core.annotations.Export;
+import com.pulumi.core.annotations.ResourceType;
+import com.pulumi.core.internal.Codegen;
+import com.pulumi.openstack.LbLoadbalancerV2Args;
+import com.pulumi.openstack.Utilities;
+import com.pulumi.openstack.inputs.LbLoadbalancerV2State;
+import java.lang.Boolean;
+import java.lang.String;
+import java.util.List;
+import java.util.Optional;
+import javax.annotation.Nullable;
+
+/**
+ * Manages a V2 loadbalancer resource within OpenStack.
+ *
+ * > **Note:** This resource has attributes that depend on octavia minor versions.
+ * Please ensure your Openstack cloud supports the required minor version.
+ *
+ * ## Example Usage
+ *
+ * <!--Start PulumiCodeChooser -->
+ *
+ * {@code
+ * package generated_program;
+ *
+ * import com.pulumi.Context;
+ * import com.pulumi.Pulumi;
+ * import com.pulumi.core.Output;
+ * import com.pulumi.openstack.LbLoadbalancerV2;
+ * import com.pulumi.openstack.LbLoadbalancerV2Args;
+ * import java.util.List;
+ * import java.util.ArrayList;
+ * import java.util.Map;
+ * import java.io.File;
+ * import java.nio.file.Files;
+ * import java.nio.file.Paths;
+ *
+ * public class App {
+ * public static void main(String[] args) {
+ * Pulumi.run(App::stack);
+ * }
+ *
+ * public static void stack(Context ctx) {
+ * var lb1 = new LbLoadbalancerV2("lb1", LbLoadbalancerV2Args.builder()
+ * .vipSubnetId("d9415786-5f1a-428b-b35f-2f1523e146d2")
+ * .build());
+ *
+ * }
+ * }
+ * }
+ *
+ * <!--End PulumiCodeChooser -->
+ *
+ * ## Import
+ *
+ * Load Balancer can be imported using the Load Balancer ID, e.g.:
+ *
+ * ```sh
+ * $ pulumi import openstack:index/lbLoadbalancerV2:LbLoadbalancerV2 loadbalancer_1 19bcfdc7-c521-4a7e-9459-6750bd16df76
+ * ```
+ *
+ */
+@ResourceType(type="openstack:index/lbLoadbalancerV2:LbLoadbalancerV2")
+public class LbLoadbalancerV2 extends com.pulumi.resources.CustomResource {
+ /**
+ * The administrative state of the Loadbalancer.
+ * A valid value is true (UP) or false (DOWN).
+ *
+ */
+ @Export(name="adminStateUp", refs={Boolean.class}, tree="[0]")
+ private Output* @Nullable */ Boolean> adminStateUp;
+
+ /**
+ * @return The administrative state of the Loadbalancer.
+ * A valid value is true (UP) or false (DOWN).
+ *
+ */
+ public Output> adminStateUp() {
+ return Codegen.optional(this.adminStateUp);
+ }
+ /**
+ * The availability zone of the Loadbalancer.
+ * Changing this creates a new loadbalancer. Available only for Octavia
+ * **minor version 2.14 or later**.
+ *
+ */
+ @Export(name="availabilityZone", refs={String.class}, tree="[0]")
+ private Output* @Nullable */ String> availabilityZone;
+
+ /**
+ * @return The availability zone of the Loadbalancer.
+ * Changing this creates a new loadbalancer. Available only for Octavia
+ * **minor version 2.14 or later**.
+ *
+ */
+ public Output> availabilityZone() {
+ return Codegen.optional(this.availabilityZone);
+ }
+ /**
+ * Human-readable description for the Loadbalancer.
+ *
+ */
+ @Export(name="description", refs={String.class}, tree="[0]")
+ private Output* @Nullable */ String> description;
+
+ /**
+ * @return Human-readable description for the Loadbalancer.
+ *
+ */
+ public Output> description() {
+ return Codegen.optional(this.description);
+ }
+ /**
+ * The UUID of a flavor. Changing this creates a new
+ * loadbalancer.
+ *
+ */
+ @Export(name="flavorId", refs={String.class}, tree="[0]")
+ private Output flavorId;
+
+ /**
+ * @return The UUID of a flavor. Changing this creates a new
+ * loadbalancer.
+ *
+ */
+ public Output flavorId() {
+ return this.flavorId;
+ }
+ /**
+ * The name of the provider. Changing this
+ * creates a new loadbalancer.
+ *
+ */
+ @Export(name="loadbalancerProvider", refs={String.class}, tree="[0]")
+ private Output loadbalancerProvider;
+
+ /**
+ * @return The name of the provider. Changing this
+ * creates a new loadbalancer.
+ *
+ */
+ public Output loadbalancerProvider() {
+ return this.loadbalancerProvider;
+ }
+ /**
+ * Human-readable name for the Loadbalancer. Does not have
+ * to be unique.
+ *
+ */
+ @Export(name="name", refs={String.class}, tree="[0]")
+ private Output name;
+
+ /**
+ * @return Human-readable name for the Loadbalancer. Does not have
+ * to be unique.
+ *
+ */
+ public Output name() {
+ return this.name;
+ }
+ /**
+ * The region in which to obtain the V2 Networking client.
+ * A Networking client is needed to create an LB member. If omitted, the
+ * `region` argument of the provider is used. Changing this creates a new
+ * LB member.
+ *
+ */
+ @Export(name="region", refs={String.class}, tree="[0]")
+ private Output region;
+
+ /**
+ * @return The region in which to obtain the V2 Networking client.
+ * A Networking client is needed to create an LB member. If omitted, the
+ * `region` argument of the provider is used. Changing this creates a new
+ * LB member.
+ *
+ */
+ public Output region() {
+ return this.region;
+ }
+ /**
+ * A list of security group IDs to apply to the
+ * loadbalancer. The security groups must be specified by ID and not name (as
+ * opposed to how they are configured with the Compute Instance).
+ *
+ */
+ @Export(name="securityGroupIds", refs={List.class,String.class}, tree="[0,1]")
+ private Output> securityGroupIds;
+
+ /**
+ * @return A list of security group IDs to apply to the
+ * loadbalancer. The security groups must be specified by ID and not name (as
+ * opposed to how they are configured with the Compute Instance).
+ *
+ */
+ public Output> securityGroupIds() {
+ return this.securityGroupIds;
+ }
+ /**
+ * A list of simple strings assigned to the loadbalancer.
+ * Available only for Octavia **minor version 2.5 or later**.
+ *
+ */
+ @Export(name="tags", refs={List.class,String.class}, tree="[0,1]")
+ private Output* @Nullable */ List> tags;
+
+ /**
+ * @return A list of simple strings assigned to the loadbalancer.
+ * Available only for Octavia **minor version 2.5 or later**.
+ *
+ */
+ public Output>> tags() {
+ return Codegen.optional(this.tags);
+ }
+ /**
+ * Required for admins. The UUID of the tenant who owns
+ * the Loadbalancer. Only administrative users can specify a tenant UUID
+ * other than their own. Changing this creates a new loadbalancer.
+ *
+ */
+ @Export(name="tenantId", refs={String.class}, tree="[0]")
+ private Output tenantId;
+
+ /**
+ * @return Required for admins. The UUID of the tenant who owns
+ * the Loadbalancer. Only administrative users can specify a tenant UUID
+ * other than their own. Changing this creates a new loadbalancer.
+ *
+ */
+ public Output tenantId() {
+ return this.tenantId;
+ }
+ /**
+ * The ip address of the load balancer.
+ * Changing this creates a new loadbalancer.
+ *
+ */
+ @Export(name="vipAddress", refs={String.class}, tree="[0]")
+ private Output vipAddress;
+
+ /**
+ * @return The ip address of the load balancer.
+ * Changing this creates a new loadbalancer.
+ *
+ */
+ public Output vipAddress() {
+ return this.vipAddress;
+ }
+ /**
+ * The network on which to allocate the
+ * Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ * authorized by policy (e.g. networks that belong to them or networks that
+ * are shared). Changing this creates a new loadbalancer.
+ * It is available only for Octavia.
+ *
+ */
+ @Export(name="vipNetworkId", refs={String.class}, tree="[0]")
+ private Output vipNetworkId;
+
+ /**
+ * @return The network on which to allocate the
+ * Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ * authorized by policy (e.g. networks that belong to them or networks that
+ * are shared). Changing this creates a new loadbalancer.
+ * It is available only for Octavia.
+ *
+ */
+ public Output vipNetworkId() {
+ return this.vipNetworkId;
+ }
+ /**
+ * The port UUID that the loadbalancer will use.
+ * Changing this creates a new loadbalancer. It is available only for Octavia.
+ *
+ */
+ @Export(name="vipPortId", refs={String.class}, tree="[0]")
+ private Output vipPortId;
+
+ /**
+ * @return The port UUID that the loadbalancer will use.
+ * Changing this creates a new loadbalancer. It is available only for Octavia.
+ *
+ */
+ public Output vipPortId() {
+ return this.vipPortId;
+ }
+ /**
+ * The subnet on which to allocate the
+ * Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ * authorized by policy (e.g. networks that belong to them or networks that
+ * are shared). Changing this creates a new loadbalancer.
+ * It is required to Neutron LBaaS but optional for Octavia.
+ *
+ */
+ @Export(name="vipSubnetId", refs={String.class}, tree="[0]")
+ private Output vipSubnetId;
+
+ /**
+ * @return The subnet on which to allocate the
+ * Loadbalancer's address. A tenant can only create Loadbalancers on networks
+ * authorized by policy (e.g. networks that belong to them or networks that
+ * are shared). Changing this creates a new loadbalancer.
+ * It is required to Neutron LBaaS but optional for Octavia.
+ *
+ */
+ public Output vipSubnetId() {
+ return this.vipSubnetId;
+ }
+
+ /**
+ *
+ * @param name The _unique_ name of the resulting resource.
+ */
+ public LbLoadbalancerV2(String name) {
+ this(name, LbLoadbalancerV2Args.Empty);
+ }
+ /**
+ *
+ * @param name The _unique_ name of the resulting resource.
+ * @param args The arguments to use to populate this resource's properties.
+ */
+ public LbLoadbalancerV2(String name, @Nullable LbLoadbalancerV2Args args) {
+ this(name, args, null);
+ }
+ /**
+ *
+ * @param name The _unique_ name of the resulting resource.
+ * @param args The arguments to use to populate this resource's properties.
+ * @param options A bag of options that control this resource's behavior.
+ */
+ public LbLoadbalancerV2(String name, @Nullable LbLoadbalancerV2Args args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
+ super("openstack:index/lbLoadbalancerV2:LbLoadbalancerV2", name, args == null ? LbLoadbalancerV2Args.Empty : args, makeResourceOptions(options, Codegen.empty()));
+ }
+
+ private LbLoadbalancerV2(String name, Output id, @Nullable LbLoadbalancerV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
+ super("openstack:index/lbLoadbalancerV2:LbLoadbalancerV2", name, state, makeResourceOptions(options, id));
+ }
+
+ private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
+ var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
+ .version(Utilities.getVersion())
+ .aliases(List.of(
+ Output.of(Alias.builder().type("openstack:loadbalancer/loadBalancer:LoadBalancer").build())
+ ))
+ .build();
+ return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
+ }
+
+ /**
+ * Get an existing Host resource's state with the given name, ID, and optional extra
+ * properties used to qualify the lookup.
+ *
+ * @param name The _unique_ name of the resulting resource.
+ * @param id The _unique_ provider ID of the resource to lookup.
+ * @param state
+ * @param options Optional settings to control the behavior of the CustomResource.
+ */
+ public static LbLoadbalancerV2 get(String name, Output id, @Nullable LbLoadbalancerV2State state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
+ return new LbLoadbalancerV2(name, id, state, options);
+ }
+}
diff --git a/sdk/java/src/main/java/com/pulumi/openstack/LbLoadbalancerV2Args.java b/sdk/java/src/main/java/com/pulumi/openstack/LbLoadbalancerV2Args.java
new file mode 100644
index 000000000..c918d7fa6
--- /dev/null
+++ b/sdk/java/src/main/java/com/pulumi/openstack/LbLoadbalancerV2Args.java
@@ -0,0 +1,685 @@
+// *** WARNING: this file was generated by pulumi-java-gen. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+package com.pulumi.openstack;
+
+import com.pulumi.core.Output;
+import com.pulumi.core.annotations.Import;
+import java.lang.Boolean;
+import java.lang.String;
+import java.util.List;
+import java.util.Objects;
+import java.util.Optional;
+import javax.annotation.Nullable;
+
+
+public final class LbLoadbalancerV2Args extends com.pulumi.resources.ResourceArgs {
+
+ public static final LbLoadbalancerV2Args Empty = new LbLoadbalancerV2Args();
+
+ /**
+ * The administrative state of the Loadbalancer.
+ * A valid value is true (UP) or false (DOWN).
+ *
+ */
+ @Import(name="adminStateUp")
+ private @Nullable Output adminStateUp;
+
+ /**
+ * @return The administrative state of the Loadbalancer.
+ * A valid value is true (UP) or false (DOWN).
+ *
+ */
+ public Optional