azure-native.app.DotNetComponent
Explore with Pulumi AI
.NET Component. Azure REST API version: 2023-11-02-preview.
Other available API versions: 2024-02-02-preview, 2024-08-02-preview, 2024-10-02-preview.
Example Usage
Create or Update .NET Component
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var dotNetComponent = new AzureNative.App.DotNetComponent("dotNetComponent", new()
    {
        ComponentType = AzureNative.App.DotNetComponentType.AspireDashboard,
        Configurations = new[]
        {
            new AzureNative.App.Inputs.DotNetComponentConfigurationPropertyArgs
            {
                PropertyName = "dashboard-theme",
                Value = "dark",
            },
        },
        EnvironmentName = "myenvironment",
        Name = "mydotnetcomponent",
        ResourceGroupName = "examplerg",
    });
});
package main
import (
	app "github.com/pulumi/pulumi-azure-native-sdk/app/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := app.NewDotNetComponent(ctx, "dotNetComponent", &app.DotNetComponentArgs{
			ComponentType: pulumi.String(app.DotNetComponentTypeAspireDashboard),
			Configurations: app.DotNetComponentConfigurationPropertyArray{
				&app.DotNetComponentConfigurationPropertyArgs{
					PropertyName: pulumi.String("dashboard-theme"),
					Value:        pulumi.String("dark"),
				},
			},
			EnvironmentName:   pulumi.String("myenvironment"),
			Name:              pulumi.String("mydotnetcomponent"),
			ResourceGroupName: pulumi.String("examplerg"),
		})
		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.azurenative.app.DotNetComponent;
import com.pulumi.azurenative.app.DotNetComponentArgs;
import com.pulumi.azurenative.app.inputs.DotNetComponentConfigurationPropertyArgs;
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 dotNetComponent = new DotNetComponent("dotNetComponent", DotNetComponentArgs.builder()
            .componentType("AspireDashboard")
            .configurations(DotNetComponentConfigurationPropertyArgs.builder()
                .propertyName("dashboard-theme")
                .value("dark")
                .build())
            .environmentName("myenvironment")
            .name("mydotnetcomponent")
            .resourceGroupName("examplerg")
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const dotNetComponent = new azure_native.app.DotNetComponent("dotNetComponent", {
    componentType: azure_native.app.DotNetComponentType.AspireDashboard,
    configurations: [{
        propertyName: "dashboard-theme",
        value: "dark",
    }],
    environmentName: "myenvironment",
    name: "mydotnetcomponent",
    resourceGroupName: "examplerg",
});
import pulumi
import pulumi_azure_native as azure_native
dot_net_component = azure_native.app.DotNetComponent("dotNetComponent",
    component_type=azure_native.app.DotNetComponentType.ASPIRE_DASHBOARD,
    configurations=[{
        "property_name": "dashboard-theme",
        "value": "dark",
    }],
    environment_name="myenvironment",
    name="mydotnetcomponent",
    resource_group_name="examplerg")
resources:
  dotNetComponent:
    type: azure-native:app:DotNetComponent
    properties:
      componentType: AspireDashboard
      configurations:
        - propertyName: dashboard-theme
          value: dark
      environmentName: myenvironment
      name: mydotnetcomponent
      resourceGroupName: examplerg
Create or Update .NET Component with ServiceBinds
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() => 
{
    var dotNetComponent = new AzureNative.App.DotNetComponent("dotNetComponent", new()
    {
        ComponentType = AzureNative.App.DotNetComponentType.AspireDashboard,
        Configurations = new[]
        {
            new AzureNative.App.Inputs.DotNetComponentConfigurationPropertyArgs
            {
                PropertyName = "dashboard-theme",
                Value = "dark",
            },
        },
        EnvironmentName = "myenvironment",
        Name = "mydotnetcomponent",
        ResourceGroupName = "examplerg",
        ServiceBinds = new[]
        {
            new AzureNative.App.Inputs.DotNetComponentServiceBindArgs
            {
                Name = "yellowcat",
                ServiceId = "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat",
            },
        },
    });
});
package main
import (
	app "github.com/pulumi/pulumi-azure-native-sdk/app/v2"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := app.NewDotNetComponent(ctx, "dotNetComponent", &app.DotNetComponentArgs{
			ComponentType: pulumi.String(app.DotNetComponentTypeAspireDashboard),
			Configurations: app.DotNetComponentConfigurationPropertyArray{
				&app.DotNetComponentConfigurationPropertyArgs{
					PropertyName: pulumi.String("dashboard-theme"),
					Value:        pulumi.String("dark"),
				},
			},
			EnvironmentName:   pulumi.String("myenvironment"),
			Name:              pulumi.String("mydotnetcomponent"),
			ResourceGroupName: pulumi.String("examplerg"),
			ServiceBinds: app.DotNetComponentServiceBindArray{
				&app.DotNetComponentServiceBindArgs{
					Name:      pulumi.String("yellowcat"),
					ServiceId: pulumi.String("/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat"),
				},
			},
		})
		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.azurenative.app.DotNetComponent;
import com.pulumi.azurenative.app.DotNetComponentArgs;
import com.pulumi.azurenative.app.inputs.DotNetComponentConfigurationPropertyArgs;
import com.pulumi.azurenative.app.inputs.DotNetComponentServiceBindArgs;
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 dotNetComponent = new DotNetComponent("dotNetComponent", DotNetComponentArgs.builder()
            .componentType("AspireDashboard")
            .configurations(DotNetComponentConfigurationPropertyArgs.builder()
                .propertyName("dashboard-theme")
                .value("dark")
                .build())
            .environmentName("myenvironment")
            .name("mydotnetcomponent")
            .resourceGroupName("examplerg")
            .serviceBinds(DotNetComponentServiceBindArgs.builder()
                .name("yellowcat")
                .serviceId("/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat")
                .build())
            .build());
    }
}
import * as pulumi from "@pulumi/pulumi";
import * as azure_native from "@pulumi/azure-native";
const dotNetComponent = new azure_native.app.DotNetComponent("dotNetComponent", {
    componentType: azure_native.app.DotNetComponentType.AspireDashboard,
    configurations: [{
        propertyName: "dashboard-theme",
        value: "dark",
    }],
    environmentName: "myenvironment",
    name: "mydotnetcomponent",
    resourceGroupName: "examplerg",
    serviceBinds: [{
        name: "yellowcat",
        serviceId: "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat",
    }],
});
import pulumi
import pulumi_azure_native as azure_native
dot_net_component = azure_native.app.DotNetComponent("dotNetComponent",
    component_type=azure_native.app.DotNetComponentType.ASPIRE_DASHBOARD,
    configurations=[{
        "property_name": "dashboard-theme",
        "value": "dark",
    }],
    environment_name="myenvironment",
    name="mydotnetcomponent",
    resource_group_name="examplerg",
    service_binds=[{
        "name": "yellowcat",
        "service_id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat",
    }])
resources:
  dotNetComponent:
    type: azure-native:app:DotNetComponent
    properties:
      componentType: AspireDashboard
      configurations:
        - propertyName: dashboard-theme
          value: dark
      environmentName: myenvironment
      name: mydotnetcomponent
      resourceGroupName: examplerg
      serviceBinds:
        - name: yellowcat
          serviceId: /subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat
Create DotNetComponent Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new DotNetComponent(name: string, args: DotNetComponentArgs, opts?: CustomResourceOptions);@overload
def DotNetComponent(resource_name: str,
                    args: DotNetComponentArgs,
                    opts: Optional[ResourceOptions] = None)
@overload
def DotNetComponent(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    environment_name: Optional[str] = None,
                    resource_group_name: Optional[str] = None,
                    component_type: Optional[Union[str, DotNetComponentType]] = None,
                    configurations: Optional[Sequence[DotNetComponentConfigurationPropertyArgs]] = None,
                    name: Optional[str] = None,
                    service_binds: Optional[Sequence[DotNetComponentServiceBindArgs]] = None)func NewDotNetComponent(ctx *Context, name string, args DotNetComponentArgs, opts ...ResourceOption) (*DotNetComponent, error)public DotNetComponent(string name, DotNetComponentArgs args, CustomResourceOptions? opts = null)
public DotNetComponent(String name, DotNetComponentArgs args)
public DotNetComponent(String name, DotNetComponentArgs args, CustomResourceOptions options)
type: azure-native:app:DotNetComponent
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args DotNetComponentArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args DotNetComponentArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args DotNetComponentArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args DotNetComponentArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args DotNetComponentArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var dotNetComponentResource = new AzureNative.App.DotNetComponent("dotNetComponentResource", new()
{
    EnvironmentName = "string",
    ResourceGroupName = "string",
    ComponentType = "string",
    Configurations = new[]
    {
        new AzureNative.App.Inputs.DotNetComponentConfigurationPropertyArgs
        {
            PropertyName = "string",
            Value = "string",
        },
    },
    Name = "string",
    ServiceBinds = new[]
    {
        new AzureNative.App.Inputs.DotNetComponentServiceBindArgs
        {
            Name = "string",
            ServiceId = "string",
        },
    },
});
example, err := app.NewDotNetComponent(ctx, "dotNetComponentResource", &app.DotNetComponentArgs{
	EnvironmentName:   pulumi.String("string"),
	ResourceGroupName: pulumi.String("string"),
	ComponentType:     pulumi.String("string"),
	Configurations: app.DotNetComponentConfigurationPropertyArray{
		&app.DotNetComponentConfigurationPropertyArgs{
			PropertyName: pulumi.String("string"),
			Value:        pulumi.String("string"),
		},
	},
	Name: pulumi.String("string"),
	ServiceBinds: app.DotNetComponentServiceBindArray{
		&app.DotNetComponentServiceBindArgs{
			Name:      pulumi.String("string"),
			ServiceId: pulumi.String("string"),
		},
	},
})
var dotNetComponentResource = new DotNetComponent("dotNetComponentResource", DotNetComponentArgs.builder()
    .environmentName("string")
    .resourceGroupName("string")
    .componentType("string")
    .configurations(DotNetComponentConfigurationPropertyArgs.builder()
        .propertyName("string")
        .value("string")
        .build())
    .name("string")
    .serviceBinds(DotNetComponentServiceBindArgs.builder()
        .name("string")
        .serviceId("string")
        .build())
    .build());
dot_net_component_resource = azure_native.app.DotNetComponent("dotNetComponentResource",
    environment_name="string",
    resource_group_name="string",
    component_type="string",
    configurations=[{
        "property_name": "string",
        "value": "string",
    }],
    name="string",
    service_binds=[{
        "name": "string",
        "service_id": "string",
    }])
const dotNetComponentResource = new azure_native.app.DotNetComponent("dotNetComponentResource", {
    environmentName: "string",
    resourceGroupName: "string",
    componentType: "string",
    configurations: [{
        propertyName: "string",
        value: "string",
    }],
    name: "string",
    serviceBinds: [{
        name: "string",
        serviceId: "string",
    }],
});
type: azure-native:app:DotNetComponent
properties:
    componentType: string
    configurations:
        - propertyName: string
          value: string
    environmentName: string
    name: string
    resourceGroupName: string
    serviceBinds:
        - name: string
          serviceId: string
DotNetComponent Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The DotNetComponent resource accepts the following input properties:
- EnvironmentName string
- Name of the Managed Environment.
- ResourceGroup stringName 
- The name of the resource group. The name is case insensitive.
- ComponentType string | Pulumi.Azure Native. App. Dot Net Component Type 
- Type of the .NET Component.
- Configurations
List<Pulumi.Azure Native. App. Inputs. Dot Net Component Configuration Property> 
- List of .NET Components configuration properties
- Name string
- Name of the .NET Component.
- ServiceBinds List<Pulumi.Azure Native. App. Inputs. Dot Net Component Service Bind> 
- List of .NET Components that are bound to the .NET component
- EnvironmentName string
- Name of the Managed Environment.
- ResourceGroup stringName 
- The name of the resource group. The name is case insensitive.
- ComponentType string | DotNet Component Type 
- Type of the .NET Component.
- Configurations
[]DotNet Component Configuration Property Args 
- List of .NET Components configuration properties
- Name string
- Name of the .NET Component.
- ServiceBinds []DotNet Component Service Bind Args 
- List of .NET Components that are bound to the .NET component
- environmentName String
- Name of the Managed Environment.
- resourceGroup StringName 
- The name of the resource group. The name is case insensitive.
- componentType String | DotNet Component Type 
- Type of the .NET Component.
- configurations
List<DotNet Component Configuration Property> 
- List of .NET Components configuration properties
- name String
- Name of the .NET Component.
- serviceBinds List<DotNet Component Service Bind> 
- List of .NET Components that are bound to the .NET component
- environmentName string
- Name of the Managed Environment.
- resourceGroup stringName 
- The name of the resource group. The name is case insensitive.
- componentType string | DotNet Component Type 
- Type of the .NET Component.
- configurations
DotNet Component Configuration Property[] 
- List of .NET Components configuration properties
- name string
- Name of the .NET Component.
- serviceBinds DotNet Component Service Bind[] 
- List of .NET Components that are bound to the .NET component
- environment_name str
- Name of the Managed Environment.
- resource_group_ strname 
- The name of the resource group. The name is case insensitive.
- component_type str | DotNet Component Type 
- Type of the .NET Component.
- configurations
Sequence[DotNet Component Configuration Property Args] 
- List of .NET Components configuration properties
- name str
- Name of the .NET Component.
- service_binds Sequence[DotNet Component Service Bind Args] 
- List of .NET Components that are bound to the .NET component
- environmentName String
- Name of the Managed Environment.
- resourceGroup StringName 
- The name of the resource group. The name is case insensitive.
- componentType String | "AspireDashboard" | "Aspire Resource Server Api" 
- Type of the .NET Component.
- configurations List<Property Map>
- List of .NET Components configuration properties
- name String
- Name of the .NET Component.
- serviceBinds List<Property Map>
- List of .NET Components that are bound to the .NET component
Outputs
All input properties are implicitly available as output properties. Additionally, the DotNetComponent resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- ProvisioningState string
- Provisioning state of the .NET Component.
- SystemData Pulumi.Azure Native. App. Outputs. System Data Response 
- Azure Resource Manager metadata containing createdBy and modifiedBy information.
- Type string
- The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
- Id string
- The provider-assigned unique ID for this managed resource.
- ProvisioningState string
- Provisioning state of the .NET Component.
- SystemData SystemData Response 
- Azure Resource Manager metadata containing createdBy and modifiedBy information.
- Type string
- The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
- id String
- The provider-assigned unique ID for this managed resource.
- provisioningState String
- Provisioning state of the .NET Component.
- systemData SystemData Response 
- Azure Resource Manager metadata containing createdBy and modifiedBy information.
- type String
- The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
- id string
- The provider-assigned unique ID for this managed resource.
- provisioningState string
- Provisioning state of the .NET Component.
- systemData SystemData Response 
- Azure Resource Manager metadata containing createdBy and modifiedBy information.
- type string
- The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
- id str
- The provider-assigned unique ID for this managed resource.
- provisioning_state str
- Provisioning state of the .NET Component.
- system_data SystemData Response 
- Azure Resource Manager metadata containing createdBy and modifiedBy information.
- type str
- The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
- id String
- The provider-assigned unique ID for this managed resource.
- provisioningState String
- Provisioning state of the .NET Component.
- systemData Property Map
- Azure Resource Manager metadata containing createdBy and modifiedBy information.
- type String
- The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts"
Supporting Types
DotNetComponentConfigurationProperty, DotNetComponentConfigurationPropertyArgs          
- PropertyName string
- The name of the property
- Value string
- The value of the property
- PropertyName string
- The name of the property
- Value string
- The value of the property
- propertyName String
- The name of the property
- value String
- The value of the property
- propertyName string
- The name of the property
- value string
- The value of the property
- property_name str
- The name of the property
- value str
- The value of the property
- propertyName String
- The name of the property
- value String
- The value of the property
DotNetComponentConfigurationPropertyResponse, DotNetComponentConfigurationPropertyResponseArgs            
- PropertyName string
- The name of the property
- Value string
- The value of the property
- PropertyName string
- The name of the property
- Value string
- The value of the property
- propertyName String
- The name of the property
- value String
- The value of the property
- propertyName string
- The name of the property
- value string
- The value of the property
- property_name str
- The name of the property
- value str
- The value of the property
- propertyName String
- The name of the property
- value String
- The value of the property
DotNetComponentServiceBind, DotNetComponentServiceBindArgs          
- name str
- Name of the service bind
- service_id str
- Resource id of the target service
DotNetComponentServiceBindResponse, DotNetComponentServiceBindResponseArgs            
- name str
- Name of the service bind
- service_id str
- Resource id of the target service
DotNetComponentType, DotNetComponentTypeArgs        
- AspireDashboard 
- AspireDashboard
- AspireResource Server Api 
- AspireResourceServerApi
- DotNet Component Type Aspire Dashboard 
- AspireDashboard
- DotNet Component Type Aspire Resource Server Api 
- AspireResourceServerApi
- AspireDashboard 
- AspireDashboard
- AspireResource Server Api 
- AspireResourceServerApi
- AspireDashboard 
- AspireDashboard
- AspireResource Server Api 
- AspireResourceServerApi
- ASPIRE_DASHBOARD
- AspireDashboard
- ASPIRE_RESOURCE_SERVER_API
- AspireResourceServerApi
- "AspireDashboard" 
- AspireDashboard
- "AspireResource Server Api" 
- AspireResourceServerApi
SystemDataResponse, SystemDataResponseArgs      
- CreatedAt string
- The timestamp of resource creation (UTC).
- CreatedBy string
- The identity that created the resource.
- CreatedBy stringType 
- The type of identity that created the resource.
- LastModified stringAt 
- The timestamp of resource last modification (UTC)
- LastModified stringBy 
- The identity that last modified the resource.
- LastModified stringBy Type 
- The type of identity that last modified the resource.
- CreatedAt string
- The timestamp of resource creation (UTC).
- CreatedBy string
- The identity that created the resource.
- CreatedBy stringType 
- The type of identity that created the resource.
- LastModified stringAt 
- The timestamp of resource last modification (UTC)
- LastModified stringBy 
- The identity that last modified the resource.
- LastModified stringBy Type 
- The type of identity that last modified the resource.
- createdAt String
- The timestamp of resource creation (UTC).
- createdBy String
- The identity that created the resource.
- createdBy StringType 
- The type of identity that created the resource.
- lastModified StringAt 
- The timestamp of resource last modification (UTC)
- lastModified StringBy 
- The identity that last modified the resource.
- lastModified StringBy Type 
- The type of identity that last modified the resource.
- createdAt string
- The timestamp of resource creation (UTC).
- createdBy string
- The identity that created the resource.
- createdBy stringType 
- The type of identity that created the resource.
- lastModified stringAt 
- The timestamp of resource last modification (UTC)
- lastModified stringBy 
- The identity that last modified the resource.
- lastModified stringBy Type 
- The type of identity that last modified the resource.
- created_at str
- The timestamp of resource creation (UTC).
- created_by str
- The identity that created the resource.
- created_by_ strtype 
- The type of identity that created the resource.
- last_modified_ strat 
- The timestamp of resource last modification (UTC)
- last_modified_ strby 
- The identity that last modified the resource.
- last_modified_ strby_ type 
- The type of identity that last modified the resource.
- createdAt String
- The timestamp of resource creation (UTC).
- createdBy String
- The identity that created the resource.
- createdBy StringType 
- The type of identity that created the resource.
- lastModified StringAt 
- The timestamp of resource last modification (UTC)
- lastModified StringBy 
- The identity that last modified the resource.
- lastModified StringBy Type 
- The type of identity that last modified the resource.
Import
An existing resource can be imported using its type token, name, and identifier, e.g.
$ pulumi import azure-native:app:DotNetComponent mydotnetcomponent /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/dotNetComponents/{name} 
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Azure Native pulumi/pulumi-azure-native
- License
- Apache-2.0