hcloud logo
Hetzner Cloud v1.12.0, May 16 23

hcloud.getLoadBalancer

Explore with Pulumi AI

Provides details about a specific Hetzner Cloud Load Balancer.

Example Usage

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using HCloud = Pulumi.HCloud;

return await Deployment.RunAsync(() => 
{
    var lb1 = HCloud.GetLoadBalancer.Invoke(new()
    {
        Name = "my-load-balancer",
    });

    var lb2 = HCloud.GetLoadBalancer.Invoke(new()
    {
        Id = 123,
    });

    var lb3 = HCloud.GetLoadBalancer.Invoke(new()
    {
        WithSelector = "key=value",
    });

});
package main

import (
	"github.com/pulumi/pulumi-hcloud/sdk/go/hcloud"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := hcloud.LookupLoadBalancer(ctx, &hcloud.LookupLoadBalancerArgs{
			Name: pulumi.StringRef("my-load-balancer"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = hcloud.LookupLoadBalancer(ctx, &hcloud.LookupLoadBalancerArgs{
			Id: pulumi.IntRef(123),
		}, nil)
		if err != nil {
			return err
		}
		_, err = hcloud.LookupLoadBalancer(ctx, &hcloud.LookupLoadBalancerArgs{
			WithSelector: pulumi.StringRef("key=value"),
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.hcloud.HcloudFunctions;
import com.pulumi.hcloud.inputs.GetLoadBalancerArgs;
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) {
        final var lb1 = HcloudFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()
            .name("my-load-balancer")
            .build());

        final var lb2 = HcloudFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()
            .id("123")
            .build());

        final var lb3 = HcloudFunctions.getLoadBalancer(GetLoadBalancerArgs.builder()
            .withSelector("key=value")
            .build());

    }
}
import pulumi
import pulumi_hcloud as hcloud

lb1 = hcloud.get_load_balancer(name="my-load-balancer")
lb2 = hcloud.get_load_balancer(id=123)
lb3 = hcloud.get_load_balancer(with_selector="key=value")
import * as pulumi from "@pulumi/pulumi";
import * as hcloud from "@pulumi/hcloud";

const lb1 = hcloud.getLoadBalancer({
    name: "my-load-balancer",
});
const lb2 = hcloud.getLoadBalancer({
    id: 123,
});
const lb3 = hcloud.getLoadBalancer({
    withSelector: "key=value",
});
variables:
  lb1:
    fn::invoke:
      Function: hcloud:getLoadBalancer
      Arguments:
        name: my-load-balancer
  lb2:
    fn::invoke:
      Function: hcloud:getLoadBalancer
      Arguments:
        id: '123'
  lb3:
    fn::invoke:
      Function: hcloud:getLoadBalancer
      Arguments:
        withSelector: key=value

Using getLoadBalancer

Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

function getLoadBalancer(args: GetLoadBalancerArgs, opts?: InvokeOptions): Promise<GetLoadBalancerResult>
function getLoadBalancerOutput(args: GetLoadBalancerOutputArgs, opts?: InvokeOptions): Output<GetLoadBalancerResult>
def get_load_balancer(id: Optional[int] = None,
                      name: Optional[str] = None,
                      with_selector: Optional[str] = None,
                      opts: Optional[InvokeOptions] = None) -> GetLoadBalancerResult
def get_load_balancer_output(id: Optional[pulumi.Input[int]] = None,
                      name: Optional[pulumi.Input[str]] = None,
                      with_selector: Optional[pulumi.Input[str]] = None,
                      opts: Optional[InvokeOptions] = None) -> Output[GetLoadBalancerResult]
func LookupLoadBalancer(ctx *Context, args *LookupLoadBalancerArgs, opts ...InvokeOption) (*LookupLoadBalancerResult, error)
func LookupLoadBalancerOutput(ctx *Context, args *LookupLoadBalancerOutputArgs, opts ...InvokeOption) LookupLoadBalancerResultOutput

> Note: This function is named LookupLoadBalancer in the Go SDK.

public static class GetLoadBalancer 
{
    public static Task<GetLoadBalancerResult> InvokeAsync(GetLoadBalancerArgs args, InvokeOptions? opts = null)
    public static Output<GetLoadBalancerResult> Invoke(GetLoadBalancerInvokeArgs args, InvokeOptions? opts = null)
}
public static CompletableFuture<GetLoadBalancerResult> getLoadBalancer(GetLoadBalancerArgs args, InvokeOptions options)
// Output-based functions aren't available in Java yet
fn::invoke:
  function: hcloud:index/getLoadBalancer:getLoadBalancer
  arguments:
    # arguments dictionary

The following arguments are supported:

Id int

ID of the Load Balancer.

Name string

Name of the Load Balancer.

WithSelector string

Label Selector. For more information about possible values, visit the Hetzner Cloud Documentation.

Id int

ID of the Load Balancer.

Name string

Name of the Load Balancer.

WithSelector string

Label Selector. For more information about possible values, visit the Hetzner Cloud Documentation.

id Integer

ID of the Load Balancer.

name String

Name of the Load Balancer.

withSelector String

Label Selector. For more information about possible values, visit the Hetzner Cloud Documentation.

id number

ID of the Load Balancer.

name string

Name of the Load Balancer.

withSelector string

Label Selector. For more information about possible values, visit the Hetzner Cloud Documentation.

id int

ID of the Load Balancer.

name str

Name of the Load Balancer.

with_selector str

Label Selector. For more information about possible values, visit the Hetzner Cloud Documentation.

id Number

ID of the Load Balancer.

name String

Name of the Load Balancer.

withSelector String

Label Selector. For more information about possible values, visit the Hetzner Cloud Documentation.

getLoadBalancer Result

The following output properties are available:

Algorithms List<Pulumi.HCloud.Outputs.GetLoadBalancerAlgorithm>

(Optional) Configuration of the algorithm the Load Balancer use.

DeleteProtection bool

(bool) Whether delete protection is enabled.

Id int

(int) Unique ID of the Load Balancer.

Ipv4 string

(string) IPv4 Address of the Load Balancer.

Ipv6 string

(string) IPv4 Address of the Load Balancer.

Labels Dictionary<string, object>

(map) User-defined labels (key-value pairs) .

LoadBalancerType string

(string) Name of the Type of the Load Balancer.

Location string

(string) Name of the location the Load Balancer is in.

NetworkId int

(int) ID of the first private network that this Load Balancer is connected to.

NetworkIp string

(string) IP of the Load Balancer in the first private network that it is connected to.

NetworkZone string
Services List<Pulumi.HCloud.Outputs.GetLoadBalancerService>

(list) List of services a Load Balancer provides.

Targets List<Pulumi.HCloud.Outputs.GetLoadBalancerTarget>

(list) List of targets of the Load Balancer.

Name string

(string) Name of the Load Balancer.

WithSelector string
Algorithms []GetLoadBalancerAlgorithm

(Optional) Configuration of the algorithm the Load Balancer use.

DeleteProtection bool

(bool) Whether delete protection is enabled.

Id int

(int) Unique ID of the Load Balancer.

Ipv4 string

(string) IPv4 Address of the Load Balancer.

Ipv6 string

(string) IPv4 Address of the Load Balancer.

Labels map[string]interface{}

(map) User-defined labels (key-value pairs) .

LoadBalancerType string

(string) Name of the Type of the Load Balancer.

Location string

(string) Name of the location the Load Balancer is in.

NetworkId int

(int) ID of the first private network that this Load Balancer is connected to.

NetworkIp string

(string) IP of the Load Balancer in the first private network that it is connected to.

NetworkZone string
Services []GetLoadBalancerServiceType

(list) List of services a Load Balancer provides.

Targets []GetLoadBalancerTargetType

(list) List of targets of the Load Balancer.

Name string

(string) Name of the Load Balancer.

WithSelector string
algorithms List<GetLoadBalancerAlgorithm>

(Optional) Configuration of the algorithm the Load Balancer use.

deleteProtection Boolean

(bool) Whether delete protection is enabled.

id Integer

(int) Unique ID of the Load Balancer.

ipv4 String

(string) IPv4 Address of the Load Balancer.

ipv6 String

(string) IPv4 Address of the Load Balancer.

labels Map<String,Object>

(map) User-defined labels (key-value pairs) .

loadBalancerType String

(string) Name of the Type of the Load Balancer.

location String

(string) Name of the location the Load Balancer is in.

networkId Integer

(int) ID of the first private network that this Load Balancer is connected to.

networkIp String

(string) IP of the Load Balancer in the first private network that it is connected to.

networkZone String
services List<GetLoadBalancerService>

(list) List of services a Load Balancer provides.

targets List<GetLoadBalancerTarget>

(list) List of targets of the Load Balancer.

name String

(string) Name of the Load Balancer.

withSelector String
algorithms GetLoadBalancerAlgorithm[]

(Optional) Configuration of the algorithm the Load Balancer use.

deleteProtection boolean

(bool) Whether delete protection is enabled.

id number

(int) Unique ID of the Load Balancer.

ipv4 string

(string) IPv4 Address of the Load Balancer.

ipv6 string

(string) IPv4 Address of the Load Balancer.

labels {[key: string]: any}

(map) User-defined labels (key-value pairs) .

loadBalancerType string

(string) Name of the Type of the Load Balancer.

location string

(string) Name of the location the Load Balancer is in.

networkId number

(int) ID of the first private network that this Load Balancer is connected to.

networkIp string

(string) IP of the Load Balancer in the first private network that it is connected to.

networkZone string
services GetLoadBalancerService[]

(list) List of services a Load Balancer provides.

targets GetLoadBalancerTarget[]

(list) List of targets of the Load Balancer.

name string

(string) Name of the Load Balancer.

withSelector string
algorithms Sequence[GetLoadBalancerAlgorithm]

(Optional) Configuration of the algorithm the Load Balancer use.

delete_protection bool

(bool) Whether delete protection is enabled.

id int

(int) Unique ID of the Load Balancer.

ipv4 str

(string) IPv4 Address of the Load Balancer.

ipv6 str

(string) IPv4 Address of the Load Balancer.

labels Mapping[str, Any]

(map) User-defined labels (key-value pairs) .

load_balancer_type str

(string) Name of the Type of the Load Balancer.

location str

(string) Name of the location the Load Balancer is in.

network_id int

(int) ID of the first private network that this Load Balancer is connected to.

network_ip str

(string) IP of the Load Balancer in the first private network that it is connected to.

network_zone str
services Sequence[GetLoadBalancerService]

(list) List of services a Load Balancer provides.

targets Sequence[GetLoadBalancerTarget]

(list) List of targets of the Load Balancer.

name str

(string) Name of the Load Balancer.

with_selector str
algorithms List<Property Map>

(Optional) Configuration of the algorithm the Load Balancer use.

deleteProtection Boolean

(bool) Whether delete protection is enabled.

id Number

(int) Unique ID of the Load Balancer.

ipv4 String

(string) IPv4 Address of the Load Balancer.

ipv6 String

(string) IPv4 Address of the Load Balancer.

labels Map<Any>

(map) User-defined labels (key-value pairs) .

loadBalancerType String

(string) Name of the Type of the Load Balancer.

location String

(string) Name of the location the Load Balancer is in.

networkId Number

(int) ID of the first private network that this Load Balancer is connected to.

networkIp String

(string) IP of the Load Balancer in the first private network that it is connected to.

networkZone String
services List<Property Map>

(list) List of services a Load Balancer provides.

targets List<Property Map>

(list) List of targets of the Load Balancer.

name String

(string) Name of the Load Balancer.

withSelector String

Supporting Types

GetLoadBalancerAlgorithm

Type string

(string) Type of the target. server or label_selector

Type string

(string) Type of the target. server or label_selector

type String

(string) Type of the target. server or label_selector

type string

(string) Type of the target. server or label_selector

type str

(string) Type of the target. server or label_selector

type String

(string) Type of the target. server or label_selector

GetLoadBalancerService

DestinationPort int

(int) Port the service connects to the targets on. Can be everything between 1 and 65535.

HealthChecks List<Pulumi.HCloud.Inputs.GetLoadBalancerServiceHealthCheck>

(list) List of http configurations when protocol is http or https.

Https List<Pulumi.HCloud.Inputs.GetLoadBalancerServiceHttp>

(list) List of http configurations when protocol is http or https.

ListenPort int

(int) Port the service listen on. Can be everything between 1and65535`. Must be unique per Load Balancer.

Protocol string

(string) Protocol the health check uses. http, https or tcp

Proxyprotocol bool

(bool) Enable proxyprotocol.

DestinationPort int

(int) Port the service connects to the targets on. Can be everything between 1 and 65535.

HealthChecks []GetLoadBalancerServiceHealthCheck

(list) List of http configurations when protocol is http or https.

Https []GetLoadBalancerServiceHttp

(list) List of http configurations when protocol is http or https.

ListenPort int

(int) Port the service listen on. Can be everything between 1and65535`. Must be unique per Load Balancer.

Protocol string

(string) Protocol the health check uses. http, https or tcp

Proxyprotocol bool

(bool) Enable proxyprotocol.

destinationPort Integer

(int) Port the service connects to the targets on. Can be everything between 1 and 65535.

healthChecks List<GetLoadBalancerServiceHealthCheck>

(list) List of http configurations when protocol is http or https.

https List<GetLoadBalancerServiceHttp>

(list) List of http configurations when protocol is http or https.

listenPort Integer

(int) Port the service listen on. Can be everything between 1and65535`. Must be unique per Load Balancer.

protocol String

(string) Protocol the health check uses. http, https or tcp

proxyprotocol Boolean

(bool) Enable proxyprotocol.

destinationPort number

(int) Port the service connects to the targets on. Can be everything between 1 and 65535.

healthChecks GetLoadBalancerServiceHealthCheck[]

(list) List of http configurations when protocol is http or https.

https GetLoadBalancerServiceHttp[]

(list) List of http configurations when protocol is http or https.

listenPort number

(int) Port the service listen on. Can be everything between 1and65535`. Must be unique per Load Balancer.

protocol string

(string) Protocol the health check uses. http, https or tcp

proxyprotocol boolean

(bool) Enable proxyprotocol.

destination_port int

(int) Port the service connects to the targets on. Can be everything between 1 and 65535.

health_checks Sequence[GetLoadBalancerServiceHealthCheck]

(list) List of http configurations when protocol is http or https.

https Sequence[GetLoadBalancerServiceHttp]

(list) List of http configurations when protocol is http or https.

listen_port int

(int) Port the service listen on. Can be everything between 1and65535`. Must be unique per Load Balancer.

protocol str

(string) Protocol the health check uses. http, https or tcp

proxyprotocol bool

(bool) Enable proxyprotocol.

destinationPort Number

(int) Port the service connects to the targets on. Can be everything between 1 and 65535.

healthChecks List<Property Map>

(list) List of http configurations when protocol is http or https.

https List<Property Map>

(list) List of http configurations when protocol is http or https.

listenPort Number

(int) Port the service listen on. Can be everything between 1and65535`. Must be unique per Load Balancer.

protocol String

(string) Protocol the health check uses. http, https or tcp

proxyprotocol Boolean

(bool) Enable proxyprotocol.

GetLoadBalancerServiceHealthCheck

Https List<Pulumi.HCloud.Inputs.GetLoadBalancerServiceHealthCheckHttp>

(list) List of http configurations when protocol is http or https.

Interval int

(int) Interval how often the health check will be performed, in seconds.

Port int

(int) Port the health check tries to connect to. Can be everything between 1 and 65535.

Protocol string

(string) Protocol the health check uses. http, https or tcp

Retries int

(int) Number of tries a health check will be performed until a target will be listed as unhealthy.

Timeout int

(int) Timeout when a health check try will be canceled if there is no response, in seconds.

Https []GetLoadBalancerServiceHealthCheckHttp

(list) List of http configurations when protocol is http or https.

Interval int

(int) Interval how often the health check will be performed, in seconds.

Port int

(int) Port the health check tries to connect to. Can be everything between 1 and 65535.

Protocol string

(string) Protocol the health check uses. http, https or tcp

Retries int

(int) Number of tries a health check will be performed until a target will be listed as unhealthy.

Timeout int

(int) Timeout when a health check try will be canceled if there is no response, in seconds.

https List<GetLoadBalancerServiceHealthCheckHttp>

(list) List of http configurations when protocol is http or https.

interval Integer

(int) Interval how often the health check will be performed, in seconds.

port Integer

(int) Port the health check tries to connect to. Can be everything between 1 and 65535.

protocol String

(string) Protocol the health check uses. http, https or tcp

retries Integer

(int) Number of tries a health check will be performed until a target will be listed as unhealthy.

timeout Integer

(int) Timeout when a health check try will be canceled if there is no response, in seconds.

https GetLoadBalancerServiceHealthCheckHttp[]

(list) List of http configurations when protocol is http or https.

interval number

(int) Interval how often the health check will be performed, in seconds.

port number

(int) Port the health check tries to connect to. Can be everything between 1 and 65535.

protocol string

(string) Protocol the health check uses. http, https or tcp

retries number

(int) Number of tries a health check will be performed until a target will be listed as unhealthy.

timeout number

(int) Timeout when a health check try will be canceled if there is no response, in seconds.

https Sequence[GetLoadBalancerServiceHealthCheckHttp]

(list) List of http configurations when protocol is http or https.

interval int

(int) Interval how often the health check will be performed, in seconds.

port int

(int) Port the health check tries to connect to. Can be everything between 1 and 65535.

protocol str

(string) Protocol the health check uses. http, https or tcp

retries int

(int) Number of tries a health check will be performed until a target will be listed as unhealthy.

timeout int

(int) Timeout when a health check try will be canceled if there is no response, in seconds.

https List<Property Map>

(list) List of http configurations when protocol is http or https.

interval Number

(int) Interval how often the health check will be performed, in seconds.

port Number

(int) Port the health check tries to connect to. Can be everything between 1 and 65535.

protocol String

(string) Protocol the health check uses. http, https or tcp

retries Number

(int) Number of tries a health check will be performed until a target will be listed as unhealthy.

timeout Number

(int) Timeout when a health check try will be canceled if there is no response, in seconds.

GetLoadBalancerServiceHealthCheckHttp

Domain string

string) Domain we try to access when performing the Health Check.

Path string

(string) Path we try to access when performing the Health Check.

Response string

(string) Response we expect to be included in the Target response when a Health Check was performed.

StatusCodes List<int>

(list[int]) We expect that the target answers with these status codes. If not the target is marked as unhealthy.

Tls bool

(bool) Enable TLS certificate checking.

Domain string

string) Domain we try to access when performing the Health Check.

Path string

(string) Path we try to access when performing the Health Check.

Response string

(string) Response we expect to be included in the Target response when a Health Check was performed.

StatusCodes []int

(list[int]) We expect that the target answers with these status codes. If not the target is marked as unhealthy.

Tls bool

(bool) Enable TLS certificate checking.

domain String

string) Domain we try to access when performing the Health Check.

path String

(string) Path we try to access when performing the Health Check.

response String

(string) Response we expect to be included in the Target response when a Health Check was performed.

statusCodes List<Integer>

(list[int]) We expect that the target answers with these status codes. If not the target is marked as unhealthy.

tls Boolean

(bool) Enable TLS certificate checking.

domain string

string) Domain we try to access when performing the Health Check.

path string

(string) Path we try to access when performing the Health Check.

response string

(string) Response we expect to be included in the Target response when a Health Check was performed.

statusCodes number[]

(list[int]) We expect that the target answers with these status codes. If not the target is marked as unhealthy.

tls boolean

(bool) Enable TLS certificate checking.

domain str

string) Domain we try to access when performing the Health Check.

path str

(string) Path we try to access when performing the Health Check.

response str

(string) Response we expect to be included in the Target response when a Health Check was performed.

status_codes Sequence[int]

(list[int]) We expect that the target answers with these status codes. If not the target is marked as unhealthy.

tls bool

(bool) Enable TLS certificate checking.

domain String

string) Domain we try to access when performing the Health Check.

path String

(string) Path we try to access when performing the Health Check.

response String

(string) Response we expect to be included in the Target response when a Health Check was performed.

statusCodes List<Number>

(list[int]) We expect that the target answers with these status codes. If not the target is marked as unhealthy.

tls Boolean

(bool) Enable TLS certificate checking.

GetLoadBalancerServiceHttp

Certificates List<string>

(list[int]) List of IDs from certificates which the Load Balancer has.

CookieLifetime int

(int) Lifetime of the cookie for sticky session (in seconds).

CookieName string

(string) Name of the cookie for sticky session.

RedirectHttp bool

(string) Determine if all requests from port 80 should be redirected to port 443.

StickySessions bool

(string) Determine if sticky sessions are enabled or not.

Certificates []string

(list[int]) List of IDs from certificates which the Load Balancer has.

CookieLifetime int

(int) Lifetime of the cookie for sticky session (in seconds).

CookieName string

(string) Name of the cookie for sticky session.

RedirectHttp bool

(string) Determine if all requests from port 80 should be redirected to port 443.

StickySessions bool

(string) Determine if sticky sessions are enabled or not.

certificates List<String>

(list[int]) List of IDs from certificates which the Load Balancer has.

cookieLifetime Integer

(int) Lifetime of the cookie for sticky session (in seconds).

cookieName String

(string) Name of the cookie for sticky session.

redirectHttp Boolean

(string) Determine if all requests from port 80 should be redirected to port 443.

stickySessions Boolean

(string) Determine if sticky sessions are enabled or not.

certificates string[]

(list[int]) List of IDs from certificates which the Load Balancer has.

cookieLifetime number

(int) Lifetime of the cookie for sticky session (in seconds).

cookieName string

(string) Name of the cookie for sticky session.

redirectHttp boolean

(string) Determine if all requests from port 80 should be redirected to port 443.

stickySessions boolean

(string) Determine if sticky sessions are enabled or not.

certificates Sequence[str]

(list[int]) List of IDs from certificates which the Load Balancer has.

cookie_lifetime int

(int) Lifetime of the cookie for sticky session (in seconds).

cookie_name str

(string) Name of the cookie for sticky session.

redirect_http bool

(string) Determine if all requests from port 80 should be redirected to port 443.

sticky_sessions bool

(string) Determine if sticky sessions are enabled or not.

certificates List<String>

(list[int]) List of IDs from certificates which the Load Balancer has.

cookieLifetime Number

(int) Lifetime of the cookie for sticky session (in seconds).

cookieName String

(string) Name of the cookie for sticky session.

redirectHttp Boolean

(string) Determine if all requests from port 80 should be redirected to port 443.

stickySessions Boolean

(string) Determine if sticky sessions are enabled or not.

GetLoadBalancerTarget

LabelSelector string

(string) Label Selector to add a group of resources based on the label.

ServerId int

(int) ID of the server which should be a target for this Load Balancer.

Type string

(string) Type of the target. server or label_selector

LabelSelector string

(string) Label Selector to add a group of resources based on the label.

ServerId int

(int) ID of the server which should be a target for this Load Balancer.

Type string

(string) Type of the target. server or label_selector

labelSelector String

(string) Label Selector to add a group of resources based on the label.

serverId Integer

(int) ID of the server which should be a target for this Load Balancer.

type String

(string) Type of the target. server or label_selector

labelSelector string

(string) Label Selector to add a group of resources based on the label.

serverId number

(int) ID of the server which should be a target for this Load Balancer.

type string

(string) Type of the target. server or label_selector

label_selector str

(string) Label Selector to add a group of resources based on the label.

server_id int

(int) ID of the server which should be a target for this Load Balancer.

type str

(string) Type of the target. server or label_selector

labelSelector String

(string) Label Selector to add a group of resources based on the label.

serverId Number

(int) ID of the server which should be a target for this Load Balancer.

type String

(string) Type of the target. server or label_selector

Package Details

Repository
Hetzner Cloud pulumi/pulumi-hcloud
License
Apache-2.0
Notes

This Pulumi package is based on the hcloud Terraform Provider.