Service
Manages a Healthcare Service.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const current = azure.core.getClientConfig({});
const example = new azure.healthcare.Service("example", {
name: "uniquefhirname",
resourceGroupName: "sample-resource-group",
location: "westus2",
kind: "fhir-R4",
cosmosdbThroughput: 2000,
identity: {
type: "SystemAssigned",
},
accessPolicyObjectIds: current.then(current => current.objectId),
configurationExportStorageAccountName: "teststorage",
tags: {
environment: "testenv",
purpose: "AcceptanceTests",
},
authenticationConfiguration: {
authority: "https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D",
audience: "https://azurehealthcareapis.com/",
smartProxyEnabled: true,
},
corsConfiguration: {
allowedOrigins: [
"http://www.example.com",
"http://www.example2.com",
],
allowedHeaders: [
"x-tempo-*",
"x-tempo2-*",
],
allowedMethods: [
"GET",
"PUT",
],
maxAgeInSeconds: 500,
allowCredentials: true,
},
});import pulumi
import pulumi_azure as azure
current = azure.core.get_client_config()
example = azure.healthcare.Service("example",
name="uniquefhirname",
resource_group_name="sample-resource-group",
location="westus2",
kind="fhir-R4",
cosmosdb_throughput=2000,
identity={
"type": "SystemAssigned",
},
access_policy_object_ids=current.object_id,
configuration_export_storage_account_name="teststorage",
tags={
"environment": "testenv",
"purpose": "AcceptanceTests",
},
authentication_configuration={
"authority": "https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D",
"audience": "https://azurehealthcareapis.com/",
"smart_proxy_enabled": True,
},
cors_configuration={
"allowed_origins": [
"http://www.example.com",
"http://www.example2.com",
],
"allowed_headers": [
"x-tempo-*",
"x-tempo2-*",
],
"allowed_methods": [
"GET",
"PUT",
],
"max_age_in_seconds": 500,
"allow_credentials": True,
})using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var current = Azure.Core.GetClientConfig.Invoke();
var example = new Azure.Healthcare.Service("example", new()
{
Name = "uniquefhirname",
ResourceGroupName = "sample-resource-group",
Location = "westus2",
Kind = "fhir-R4",
CosmosdbThroughput = 2000,
Identity = new Azure.Healthcare.Inputs.ServiceIdentityArgs
{
Type = "SystemAssigned",
},
AccessPolicyObjectIds = current.Apply(getClientConfigResult => getClientConfigResult.ObjectId),
ConfigurationExportStorageAccountName = "teststorage",
Tags =
{
{ "environment", "testenv" },
{ "purpose", "AcceptanceTests" },
},
AuthenticationConfiguration = new Azure.Healthcare.Inputs.ServiceAuthenticationConfigurationArgs
{
Authority = "https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D",
Audience = "https://azurehealthcareapis.com/",
SmartProxyEnabled = true,
},
CorsConfiguration = new Azure.Healthcare.Inputs.ServiceCorsConfigurationArgs
{
AllowedOrigins = new[]
{
"http://www.example.com",
"http://www.example2.com",
},
AllowedHeaders = new[]
{
"x-tempo-*",
"x-tempo2-*",
},
AllowedMethods = new[]
{
"GET",
"PUT",
},
MaxAgeInSeconds = 500,
AllowCredentials = true,
},
});
});package main
import (
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
current, err := core.GetClientConfig(ctx, nil, nil)
if err != nil {
return err
}
_, err = healthcare.NewService(ctx, "example", &healthcare.ServiceArgs{
Name: pulumi.String("uniquefhirname"),
ResourceGroupName: pulumi.String("sample-resource-group"),
Location: pulumi.String("westus2"),
Kind: pulumi.String("fhir-R4"),
CosmosdbThroughput: pulumi.Int(2000),
Identity: &healthcare.ServiceIdentityArgs{
Type: pulumi.String("SystemAssigned"),
},
AccessPolicyObjectIds: pulumi.String(current.ObjectId),
ConfigurationExportStorageAccountName: pulumi.String("teststorage"),
Tags: pulumi.StringMap{
"environment": pulumi.String("testenv"),
"purpose": pulumi.String("AcceptanceTests"),
},
AuthenticationConfiguration: &healthcare.ServiceAuthenticationConfigurationArgs{
Authority: pulumi.String("https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D"),
Audience: pulumi.String("https://azurehealthcareapis.com/"),
SmartProxyEnabled: pulumi.Bool(true),
},
CorsConfiguration: &healthcare.ServiceCorsConfigurationArgs{
AllowedOrigins: pulumi.StringArray{
pulumi.String("http://www.example.com"),
pulumi.String("http://www.example2.com"),
},
AllowedHeaders: pulumi.StringArray{
pulumi.String("x-tempo-*"),
pulumi.String("x-tempo2-*"),
},
AllowedMethods: pulumi.StringArray{
pulumi.String("GET"),
pulumi.String("PUT"),
},
MaxAgeInSeconds: pulumi.Int(500),
AllowCredentials: pulumi.Bool(true),
},
})
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.azure.core.CoreFunctions;
import com.pulumi.azure.healthcare.Service;
import com.pulumi.azure.healthcare.ServiceArgs;
import com.pulumi.azure.healthcare.inputs.ServiceIdentityArgs;
import com.pulumi.azure.healthcare.inputs.ServiceAuthenticationConfigurationArgs;
import com.pulumi.azure.healthcare.inputs.ServiceCorsConfigurationArgs;
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 current = CoreFunctions.getClientConfig();
var example = new Service("example", ServiceArgs.builder()
.name("uniquefhirname")
.resourceGroupName("sample-resource-group")
.location("westus2")
.kind("fhir-R4")
.cosmosdbThroughput("2000")
.identity(ServiceIdentityArgs.builder()
.type("SystemAssigned")
.build())
.accessPolicyObjectIds(current.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.configurationExportStorageAccountName("teststorage")
.tags(Map.ofEntries(
Map.entry("environment", "testenv"),
Map.entry("purpose", "AcceptanceTests")
))
.authenticationConfiguration(ServiceAuthenticationConfigurationArgs.builder()
.authority("https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D")
.audience("https://azurehealthcareapis.com/")
.smartProxyEnabled("true")
.build())
.corsConfiguration(ServiceCorsConfigurationArgs.builder()
.allowedOrigins(
"http://www.example.com",
"http://www.example2.com")
.allowedHeaders(
"x-tempo-*",
"x-tempo2-*")
.allowedMethods(
"GET",
"PUT")
.maxAgeInSeconds("500")
.allowCredentials("true")
.build())
.build());
}
}resources:
example:
type: azure:healthcare:Service
properties:
name: uniquefhirname
resourceGroupName: sample-resource-group
location: westus2
kind: fhir-R4
cosmosdbThroughput: '2000'
identity:
type: SystemAssigned
accessPolicyObjectIds: ${current.objectId}
configurationExportStorageAccountName: teststorage
tags:
environment: testenv
purpose: AcceptanceTests
authenticationConfiguration:
authority: https://login.microsoftonline.com/$%7Bdata.azurerm_client_config.current.tenant_id%7D
audience: https://azurehealthcareapis.com/
smartProxyEnabled: 'true'
corsConfiguration:
allowedOrigins:
- http://www.example.com
- http://www.example2.com
allowedHeaders:
- x-tempo-*
- x-tempo2-*
allowedMethods:
- GET
- PUT
maxAgeInSeconds: '500'
allowCredentials: 'true'
variables:
current:
fn::invoke:
Function: azure:core:getClientConfig
Arguments: {}Import
Healthcare Service can be imported using the resourceid, e.g.
$ pulumi import azure:healthcare/service:Service example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/resource_group/providers/Microsoft.HealthcareApis/services/service_nameProperties
An authentication_configuration block as defined below.
Specifies the name of the storage account which the operation configuration information is exported to.
A cors_configuration block as defined below.
A versionless Key Vault Key ID for CMK encryption of the backing database. Changing this forces a new resource to be created.
The provisioned throughput for the backing database. Range of 400-100000. Defaults to 1000.
An identity block as defined below.
Whether public network access is enabled or disabled for this service instance. Defaults to true.
The name of the Resource Group in which to create the Service. Changing this forces a new resource to be created.