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/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/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, map[string]interface{}{}, 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_name
Properties
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.