Environment
Provides an Elastic Beanstalk Environment Resource. Elastic Beanstalk allows you to deploy and manage applications in the AWS cloud without worrying about the infrastructure that runs those applications.
Environments are often things such as development, integration, or
production.
Option Settings
Some options can be stack-specific, check AWS Docs for supported options and examples.
The setting and all_settings mappings support the following format:
namespace- unique namespace identifying the option’s associated AWS resourcename- name of the configuration optionvalue- value for the configuration optionresource- (Optional) resource name for scheduled action
Example With Options
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const tftest = new aws.elasticbeanstalk.Application("tftest", {
description: "tf-test-desc",
});
const tfenvtest = new aws.elasticbeanstalk.Environment("tfenvtest", {
application: tftest.name,
settings: [
{
name: "VPCId",
namespace: "aws:ec2:vpc",
value: "vpc-xxxxxxxx",
},
{
name: "Subnets",
namespace: "aws:ec2:vpc",
value: "subnet-xxxxxxxx",
},
],
solutionStackName: "64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4",
});import pulumi
import pulumi_aws as aws
tftest = aws.elasticbeanstalk.Application("tftest", description="tf-test-desc")
tfenvtest = aws.elasticbeanstalk.Environment("tfenvtest",
application=tftest.name,
settings=[
{
"name": "VPCId",
"namespace": "aws:ec2:vpc",
"value": "vpc-xxxxxxxx",
},
{
"name": "Subnets",
"namespace": "aws:ec2:vpc",
"value": "subnet-xxxxxxxx",
},
],
solution_stack_name="64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4")using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var tftest = new Aws.ElasticBeanstalk.Application("tftest", new Aws.ElasticBeanstalk.ApplicationArgs
{
Description = "tf-test-desc",
});
var tfenvtest = new Aws.ElasticBeanstalk.Environment("tfenvtest", new Aws.ElasticBeanstalk.EnvironmentArgs
{
Application = tftest.Name,
Settings =
{
new Aws.ElasticBeanstalk.Inputs.EnvironmentSettingArgs
{
Name = "VPCId",
Namespace = "aws:ec2:vpc",
Value = "vpc-xxxxxxxx",
},
new Aws.ElasticBeanstalk.Inputs.EnvironmentSettingArgs
{
Name = "Subnets",
Namespace = "aws:ec2:vpc",
Value = "subnet-xxxxxxxx",
},
},
SolutionStackName = "64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4",
});
}
}
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elasticbeanstalk"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
tftest, err := elasticbeanstalk.NewApplication(ctx, "tftest", &elasticbeanstalk.ApplicationArgs{
Description: pulumi.String("tf-test-desc"),
})
if err != nil {
return err
}
_, err = elasticbeanstalk.NewEnvironment(ctx, "tfenvtest", &elasticbeanstalk.EnvironmentArgs{
Application: tftest.Name,
Settings: elasticbeanstalk.EnvironmentSettingArray{
&elasticbeanstalk.EnvironmentSettingArgs{
Name: pulumi.String("VPCId"),
Namespace: pulumi.String("aws:ec2:vpc"),
Value: pulumi.String("vpc-xxxxxxxx"),
},
&elasticbeanstalk.EnvironmentSettingArgs{
Name: pulumi.String("Subnets"),
Namespace: pulumi.String("aws:ec2:vpc"),
Value: pulumi.String("subnet-xxxxxxxx"),
},
},
SolutionStackName: pulumi.String("64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4"),
})
if err != nil {
return err
}
return nil
})
}Example Usage
using Pulumi;
using Aws = Pulumi.Aws;
class MyStack : Stack
{
public MyStack()
{
var tftest = new Aws.ElasticBeanstalk.Application("tftest", new Aws.ElasticBeanstalk.ApplicationArgs
{
Description = "tf-test-desc",
});
var tfenvtest = new Aws.ElasticBeanstalk.Environment("tfenvtest", new Aws.ElasticBeanstalk.EnvironmentArgs
{
Application = tftest.Name,
SolutionStackName = "64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4",
});
}
}
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/elasticbeanstalk"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
tftest, err := elasticbeanstalk.NewApplication(ctx, "tftest", &elasticbeanstalk.ApplicationArgs{
Description: pulumi.String("tf-test-desc"),
})
if err != nil {
return err
}
_, err = elasticbeanstalk.NewEnvironment(ctx, "tfenvtest", &elasticbeanstalk.EnvironmentArgs{
Application: tftest.Name,
SolutionStackName: pulumi.String("64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4"),
})
if err != nil {
return err
}
return nil
})
}import pulumi
import pulumi_aws as aws
tftest = aws.elasticbeanstalk.Application("tftest", description="tf-test-desc")
tfenvtest = aws.elasticbeanstalk.Environment("tfenvtest",
application=tftest.name,
solution_stack_name="64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4")import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const tftest = new aws.elasticbeanstalk.Application("tftest", {
description: "tf-test-desc",
});
const tfenvtest = new aws.elasticbeanstalk.Environment("tfenvtest", {
application: tftest.name,
solutionStackName: "64bit Amazon Linux 2015.03 v2.0.3 running Go 1.4",
});Create a Environment Resource
new Environment(name: string, args: EnvironmentArgs, opts?: CustomResourceOptions);def Environment(resource_name, opts=None, application=None, cname_prefix=None, description=None, name=None, platform_arn=None, poll_interval=None, settings=None, solution_stack_name=None, tags=None, template_name=None, tier=None, version=None, wait_for_ready_timeout=None, __props__=None);func NewEnvironment(ctx *Context, name string, args EnvironmentArgs, opts ...ResourceOption) (*Environment, error)public Environment(string name, EnvironmentArgs args, CustomResourceOptions? opts = null)- name string
- The unique name of the resource.
- args EnvironmentArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- opts ResourceOptions
- A bag of options that control this resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args EnvironmentArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args EnvironmentArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
Environment Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.
Inputs
The Environment resource accepts the following input properties:
- Application string
Name of the application that contains the version to be deployed
- Cname
Prefix string Prefix to use for the fully qualified DNS name of the Environment.
- Description string
Short description of the Environment
- Name string
A unique name for this Environment. This name is used in the application URL
- Platform
Arn string The ARN of the Elastic Beanstalk Platform to use in deployment
- Poll
Interval string The time between polling the AWS API to check if changes have been applied. Use this to adjust the rate of API calls for any
createorupdateaction. Minimum10s, maximum180s. Omit this to use the default behavior, which is an exponential backoff- Settings
List<Environment
Setting Args> Option settings to configure the new Environment. These override specific values that are set as defaults. The format is detailed below in Option Settings
- Solution
Stack stringName A solution stack to base your environment off of. Example stacks can be found in the Amazon API documentation
- Dictionary<string, string>
A set of tags to apply to the Environment.
- Template
Name string The name of the Elastic Beanstalk Configuration template to use in deployment
- Tier string
Elastic Beanstalk Environment tier. Valid values are
WorkerorWebServer. If tier is left blankWebServerwill be used.- Version string
The name of the Elastic Beanstalk Application Version to use in deployment.
- Wait
For stringReady Timeout The maximum duration that this provider should wait for an Elastic Beanstalk Environment to be in a ready state before timing out.
- Application interface{}
Name of the application that contains the version to be deployed
- Cname
Prefix string Prefix to use for the fully qualified DNS name of the Environment.
- Description string
Short description of the Environment
- Name string
A unique name for this Environment. This name is used in the application URL
- Platform
Arn string The ARN of the Elastic Beanstalk Platform to use in deployment
- Poll
Interval string The time between polling the AWS API to check if changes have been applied. Use this to adjust the rate of API calls for any
createorupdateaction. Minimum10s, maximum180s. Omit this to use the default behavior, which is an exponential backoff- Settings
[]Environment
Setting Option settings to configure the new Environment. These override specific values that are set as defaults. The format is detailed below in Option Settings
- Solution
Stack stringName A solution stack to base your environment off of. Example stacks can be found in the Amazon API documentation
- map[string]string
A set of tags to apply to the Environment.
- Template
Name string The name of the Elastic Beanstalk Configuration template to use in deployment
- Tier string
Elastic Beanstalk Environment tier. Valid values are
WorkerorWebServer. If tier is left blankWebServerwill be used.- Version string
The name of the Elastic Beanstalk Application Version to use in deployment.
- Wait
For stringReady Timeout The maximum duration that this provider should wait for an Elastic Beanstalk Environment to be in a ready state before timing out.
- application string | Application
Name of the application that contains the version to be deployed
- cname
Prefix string Prefix to use for the fully qualified DNS name of the Environment.
- description string
Short description of the Environment
- name string
A unique name for this Environment. This name is used in the application URL
- platform
Arn string The ARN of the Elastic Beanstalk Platform to use in deployment
- poll
Interval string The time between polling the AWS API to check if changes have been applied. Use this to adjust the rate of API calls for any
createorupdateaction. Minimum10s, maximum180s. Omit this to use the default behavior, which is an exponential backoff- settings
Environment
Setting[] Option settings to configure the new Environment. These override specific values that are set as defaults. The format is detailed below in Option Settings
- solution
Stack stringName A solution stack to base your environment off of. Example stacks can be found in the Amazon API documentation
- {[key: string]: string}
A set of tags to apply to the Environment.
- template
Name string The name of the Elastic Beanstalk Configuration template to use in deployment
- tier string
Elastic Beanstalk Environment tier. Valid values are
WorkerorWebServer. If tier is left blankWebServerwill be used.- version
Application
Version The name of the Elastic Beanstalk Application Version to use in deployment.
- wait
For stringReady Timeout The maximum duration that this provider should wait for an Elastic Beanstalk Environment to be in a ready state before timing out.
- application string | str
Name of the application that contains the version to be deployed
- cname_
prefix str Prefix to use for the fully qualified DNS name of the Environment.
- description str
Short description of the Environment
- name str
A unique name for this Environment. This name is used in the application URL
- platform_
arn str The ARN of the Elastic Beanstalk Platform to use in deployment
- poll_
interval str The time between polling the AWS API to check if changes have been applied. Use this to adjust the rate of API calls for any
createorupdateaction. Minimum10s, maximum180s. Omit this to use the default behavior, which is an exponential backoff- settings
List[Environment
Setting] Option settings to configure the new Environment. These override specific values that are set as defaults. The format is detailed below in Option Settings
- solution_
stack_ strname A solution stack to base your environment off of. Example stacks can be found in the Amazon API documentation
- Dict[str, str]
A set of tags to apply to the Environment.
- template_
name str The name of the Elastic Beanstalk Configuration template to use in deployment
- tier str
Elastic Beanstalk Environment tier. Valid values are
WorkerorWebServer. If tier is left blankWebServerwill be used.- version str
The name of the Elastic Beanstalk Application Version to use in deployment.
- wait_
for_ strready_ timeout The maximum duration that this provider should wait for an Elastic Beanstalk Environment to be in a ready state before timing out.
Outputs
All input properties are implicitly available as output properties. Additionally, the Environment resource produces the following output properties:
- All
Settings List<EnvironmentAll Setting> List of all option settings configured in this Environment. These are a combination of default settings and their overrides from
settingin the configuration.- Arn string
- Autoscaling
Groups List<string> The autoscaling groups used by this Environment.
- Cname string
Fully qualified DNS name for this Environment.
- Endpoint
Url string The URL to the Load Balancer for this Environment
- Id string
- The provider-assigned unique ID for this managed resource.
- Instances List<string>
Instances used by this Environment.
- Launch
Configurations List<string> Launch configurations in use by this Environment.
- Load
Balancers List<string> Elastic load balancers in use by this Environment.
- Queues List<string>
SQS queues in use by this Environment.
- Triggers List<string>
Autoscaling triggers in use by this Environment.
- All
Settings []EnvironmentAll Setting List of all option settings configured in this Environment. These are a combination of default settings and their overrides from
settingin the configuration.- Arn string
- Autoscaling
Groups []string The autoscaling groups used by this Environment.
- Cname string
Fully qualified DNS name for this Environment.
- Endpoint
Url string The URL to the Load Balancer for this Environment
- Id string
- The provider-assigned unique ID for this managed resource.
- Instances []string
Instances used by this Environment.
- Launch
Configurations []string Launch configurations in use by this Environment.
- Load
Balancers []string Elastic load balancers in use by this Environment.
- Queues []string
SQS queues in use by this Environment.
- Triggers []string
Autoscaling triggers in use by this Environment.
- all
Settings EnvironmentAll Setting[] List of all option settings configured in this Environment. These are a combination of default settings and their overrides from
settingin the configuration.- arn string
- autoscaling
Groups string[] The autoscaling groups used by this Environment.
- cname string
Fully qualified DNS name for this Environment.
- endpoint
Url string The URL to the Load Balancer for this Environment
- id string
- The provider-assigned unique ID for this managed resource.
- instances string[]
Instances used by this Environment.
- launch
Configurations string[] Launch configurations in use by this Environment.
- load
Balancers string[] Elastic load balancers in use by this Environment.
- queues string[]
SQS queues in use by this Environment.
- triggers string[]
Autoscaling triggers in use by this Environment.
- all_
settings List[EnvironmentAll Setting] List of all option settings configured in this Environment. These are a combination of default settings and their overrides from
settingin the configuration.- arn str
- autoscaling_
groups List[str] The autoscaling groups used by this Environment.
- cname str
Fully qualified DNS name for this Environment.
- endpoint_
url str The URL to the Load Balancer for this Environment
- id str
- The provider-assigned unique ID for this managed resource.
- instances List[str]
Instances used by this Environment.
- launch_
configurations List[str] Launch configurations in use by this Environment.
- load_
balancers List[str] Elastic load balancers in use by this Environment.
- queues List[str]
SQS queues in use by this Environment.
- triggers List[str]
Autoscaling triggers in use by this Environment.
Look up an Existing Environment Resource
Get an existing Environment resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: EnvironmentState, opts?: CustomResourceOptions): Environmentstatic get(resource_name, id, opts=None, all_settings=None, application=None, arn=None, autoscaling_groups=None, cname=None, cname_prefix=None, description=None, endpoint_url=None, instances=None, launch_configurations=None, load_balancers=None, name=None, platform_arn=None, poll_interval=None, queues=None, settings=None, solution_stack_name=None, tags=None, template_name=None, tier=None, triggers=None, version=None, wait_for_ready_timeout=None, __props__=None);func GetEnvironment(ctx *Context, name string, id IDInput, state *EnvironmentState, opts ...ResourceOption) (*Environment, error)public static Environment Get(string name, Input<string> id, EnvironmentState? state, CustomResourceOptions? opts = null)- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
The following state arguments are supported:
- All
Settings List<EnvironmentAll Setting Args> List of all option settings configured in this Environment. These are a combination of default settings and their overrides from
settingin the configuration.- Application string
Name of the application that contains the version to be deployed
- Arn string
- Autoscaling
Groups List<string> The autoscaling groups used by this Environment.
- Cname string
Fully qualified DNS name for this Environment.
- Cname
Prefix string Prefix to use for the fully qualified DNS name of the Environment.
- Description string
Short description of the Environment
- Endpoint
Url string The URL to the Load Balancer for this Environment
- Instances List<string>
Instances used by this Environment.
- Launch
Configurations List<string> Launch configurations in use by this Environment.
- Load
Balancers List<string> Elastic load balancers in use by this Environment.
- Name string
A unique name for this Environment. This name is used in the application URL
- Platform
Arn string The ARN of the Elastic Beanstalk Platform to use in deployment
- Poll
Interval string The time between polling the AWS API to check if changes have been applied. Use this to adjust the rate of API calls for any
createorupdateaction. Minimum10s, maximum180s. Omit this to use the default behavior, which is an exponential backoff- Queues List<string>
SQS queues in use by this Environment.
- Settings
List<Environment
Setting Args> Option settings to configure the new Environment. These override specific values that are set as defaults. The format is detailed below in Option Settings
- Solution
Stack stringName A solution stack to base your environment off of. Example stacks can be found in the Amazon API documentation
- Dictionary<string, string>
A set of tags to apply to the Environment.
- Template
Name string The name of the Elastic Beanstalk Configuration template to use in deployment
- Tier string
Elastic Beanstalk Environment tier. Valid values are
WorkerorWebServer. If tier is left blankWebServerwill be used.- Triggers List<string>
Autoscaling triggers in use by this Environment.
- Version string
The name of the Elastic Beanstalk Application Version to use in deployment.
- Wait
For stringReady Timeout The maximum duration that this provider should wait for an Elastic Beanstalk Environment to be in a ready state before timing out.
- All
Settings []EnvironmentAll Setting List of all option settings configured in this Environment. These are a combination of default settings and their overrides from
settingin the configuration.- Application interface{}
Name of the application that contains the version to be deployed
- Arn string
- Autoscaling
Groups []string The autoscaling groups used by this Environment.
- Cname string
Fully qualified DNS name for this Environment.
- Cname
Prefix string Prefix to use for the fully qualified DNS name of the Environment.
- Description string
Short description of the Environment
- Endpoint
Url string The URL to the Load Balancer for this Environment
- Instances []string
Instances used by this Environment.
- Launch
Configurations []string Launch configurations in use by this Environment.
- Load
Balancers []string Elastic load balancers in use by this Environment.
- Name string
A unique name for this Environment. This name is used in the application URL
- Platform
Arn string The ARN of the Elastic Beanstalk Platform to use in deployment
- Poll
Interval string The time between polling the AWS API to check if changes have been applied. Use this to adjust the rate of API calls for any
createorupdateaction. Minimum10s, maximum180s. Omit this to use the default behavior, which is an exponential backoff- Queues []string
SQS queues in use by this Environment.
- Settings
[]Environment
Setting Option settings to configure the new Environment. These override specific values that are set as defaults. The format is detailed below in Option Settings
- Solution
Stack stringName A solution stack to base your environment off of. Example stacks can be found in the Amazon API documentation
- map[string]string
A set of tags to apply to the Environment.
- Template
Name string The name of the Elastic Beanstalk Configuration template to use in deployment
- Tier string
Elastic Beanstalk Environment tier. Valid values are
WorkerorWebServer. If tier is left blankWebServerwill be used.- Triggers []string
Autoscaling triggers in use by this Environment.
- Version string
The name of the Elastic Beanstalk Application Version to use in deployment.
- Wait
For stringReady Timeout The maximum duration that this provider should wait for an Elastic Beanstalk Environment to be in a ready state before timing out.
- all
Settings EnvironmentAll Setting[] List of all option settings configured in this Environment. These are a combination of default settings and their overrides from
settingin the configuration.- application string | Application
Name of the application that contains the version to be deployed
- arn string
- autoscaling
Groups string[] The autoscaling groups used by this Environment.
- cname string
Fully qualified DNS name for this Environment.
- cname
Prefix string Prefix to use for the fully qualified DNS name of the Environment.
- description string
Short description of the Environment
- endpoint
Url string The URL to the Load Balancer for this Environment
- instances string[]
Instances used by this Environment.
- launch
Configurations string[] Launch configurations in use by this Environment.
- load
Balancers string[] Elastic load balancers in use by this Environment.
- name string
A unique name for this Environment. This name is used in the application URL
- platform
Arn string The ARN of the Elastic Beanstalk Platform to use in deployment
- poll
Interval string The time between polling the AWS API to check if changes have been applied. Use this to adjust the rate of API calls for any
createorupdateaction. Minimum10s, maximum180s. Omit this to use the default behavior, which is an exponential backoff- queues string[]
SQS queues in use by this Environment.
- settings
Environment
Setting[] Option settings to configure the new Environment. These override specific values that are set as defaults. The format is detailed below in Option Settings
- solution
Stack stringName A solution stack to base your environment off of. Example stacks can be found in the Amazon API documentation
- {[key: string]: string}
A set of tags to apply to the Environment.
- template
Name string The name of the Elastic Beanstalk Configuration template to use in deployment
- tier string
Elastic Beanstalk Environment tier. Valid values are
WorkerorWebServer. If tier is left blankWebServerwill be used.- triggers string[]
Autoscaling triggers in use by this Environment.
- version
Application
Version The name of the Elastic Beanstalk Application Version to use in deployment.
- wait
For stringReady Timeout The maximum duration that this provider should wait for an Elastic Beanstalk Environment to be in a ready state before timing out.
- all_
settings List[EnvironmentAll Setting] List of all option settings configured in this Environment. These are a combination of default settings and their overrides from
settingin the configuration.- application string | str
Name of the application that contains the version to be deployed
- arn str
- autoscaling_
groups List[str] The autoscaling groups used by this Environment.
- cname str
Fully qualified DNS name for this Environment.
- cname_
prefix str Prefix to use for the fully qualified DNS name of the Environment.
- description str
Short description of the Environment
- endpoint_
url str The URL to the Load Balancer for this Environment
- instances List[str]
Instances used by this Environment.
- launch_
configurations List[str] Launch configurations in use by this Environment.
- load_
balancers List[str] Elastic load balancers in use by this Environment.
- name str
A unique name for this Environment. This name is used in the application URL
- platform_
arn str The ARN of the Elastic Beanstalk Platform to use in deployment
- poll_
interval str The time between polling the AWS API to check if changes have been applied. Use this to adjust the rate of API calls for any
createorupdateaction. Minimum10s, maximum180s. Omit this to use the default behavior, which is an exponential backoff- queues List[str]
SQS queues in use by this Environment.
- settings
List[Environment
Setting] Option settings to configure the new Environment. These override specific values that are set as defaults. The format is detailed below in Option Settings
- solution_
stack_ strname A solution stack to base your environment off of. Example stacks can be found in the Amazon API documentation
- Dict[str, str]
A set of tags to apply to the Environment.
- template_
name str The name of the Elastic Beanstalk Configuration template to use in deployment
- tier str
Elastic Beanstalk Environment tier. Valid values are
WorkerorWebServer. If tier is left blankWebServerwill be used.- triggers List[str]
Autoscaling triggers in use by this Environment.
- version str
The name of the Elastic Beanstalk Application Version to use in deployment.
- wait_
for_ strready_ timeout The maximum duration that this provider should wait for an Elastic Beanstalk Environment to be in a ready state before timing out.
Supporting Types
EnvironmentAllSetting
See the output API doc for this type.
See the output API doc for this type.
See the output API doc for this type.
EnvironmentSetting
Package Details
- Repository
- https://github.com/pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
awsTerraform Provider.