Fhir Service Args
Manages a Healthcare FHIR (Fast Healthcare Interoperability Resources) Service
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example",
location: "West Europe",
});
const current = azure.core.getClientConfig({});
const exampleWorkspace = new azure.healthcare.Workspace("example", {
name: "example",
location: example.location,
resourceGroupName: example.name,
});
const exampleFhirService = new azure.healthcare.FhirService("example", {
name: "tfexfhir",
location: "east us",
resourceGroupName: "tfex-resource_group",
workspaceId: exampleWorkspace.id,
kind: "fhir-R4",
authentication: {
authority: "https://login.microsoftonline.com/tenantId",
audience: "https://tfexfhir.fhir.azurehealthcareapis.com",
},
accessPolicyObjectIds: [current.then(current => current.objectId)],
identity: {
type: "SystemAssigned",
},
containerRegistryLoginServerUrls: ["tfex-container_registry_login_server"],
cors: {
allowedOrigins: [
"https://tfex.com:123",
"https://tfex1.com:3389",
],
allowedHeaders: ["*"],
allowedMethods: [
"GET",
"DELETE",
"PUT",
],
maxAgeInSeconds: 3600,
credentialsAllowed: true,
},
configurationExportStorageAccountName: "storage_account_name",
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example",
location="West Europe")
current = azure.core.get_client_config()
example_workspace = azure.healthcare.Workspace("example",
name="example",
location=example.location,
resource_group_name=example.name)
example_fhir_service = azure.healthcare.FhirService("example",
name="tfexfhir",
location="east us",
resource_group_name="tfex-resource_group",
workspace_id=example_workspace.id,
kind="fhir-R4",
authentication={
"authority": "https://login.microsoftonline.com/tenantId",
"audience": "https://tfexfhir.fhir.azurehealthcareapis.com",
},
access_policy_object_ids=[current.object_id],
identity={
"type": "SystemAssigned",
},
container_registry_login_server_urls=["tfex-container_registry_login_server"],
cors={
"allowed_origins": [
"https://tfex.com:123",
"https://tfex1.com:3389",
],
"allowed_headers": ["*"],
"allowed_methods": [
"GET",
"DELETE",
"PUT",
],
"max_age_in_seconds": 3600,
"credentials_allowed": True,
},
configuration_export_storage_account_name="storage_account_name")
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example",
Location = "West Europe",
});
var current = Azure.Core.GetClientConfig.Invoke();
var exampleWorkspace = new Azure.Healthcare.Workspace("example", new()
{
Name = "example",
Location = example.Location,
ResourceGroupName = example.Name,
});
var exampleFhirService = new Azure.Healthcare.FhirService("example", new()
{
Name = "tfexfhir",
Location = "east us",
ResourceGroupName = "tfex-resource_group",
WorkspaceId = exampleWorkspace.Id,
Kind = "fhir-R4",
Authentication = new Azure.Healthcare.Inputs.FhirServiceAuthenticationArgs
{
Authority = "https://login.microsoftonline.com/tenantId",
Audience = "https://tfexfhir.fhir.azurehealthcareapis.com",
},
AccessPolicyObjectIds = new[]
{
current.Apply(getClientConfigResult => getClientConfigResult.ObjectId),
},
Identity = new Azure.Healthcare.Inputs.FhirServiceIdentityArgs
{
Type = "SystemAssigned",
},
ContainerRegistryLoginServerUrls = new[]
{
"tfex-container_registry_login_server",
},
Cors = new Azure.Healthcare.Inputs.FhirServiceCorsArgs
{
AllowedOrigins = new[]
{
"https://tfex.com:123",
"https://tfex1.com:3389",
},
AllowedHeaders = new[]
{
"*",
},
AllowedMethods = new[]
{
"GET",
"DELETE",
"PUT",
},
MaxAgeInSeconds = 3600,
CredentialsAllowed = true,
},
ConfigurationExportStorageAccountName = "storage_account_name",
});
});
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 {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
current, err := core.GetClientConfig(ctx, map[string]interface{}{}, nil)
if err != nil {
return err
}
exampleWorkspace, err := healthcare.NewWorkspace(ctx, "example", &healthcare.WorkspaceArgs{
Name: pulumi.String("example"),
Location: example.Location,
ResourceGroupName: example.Name,
})
if err != nil {
return err
}
_, err = healthcare.NewFhirService(ctx, "example", &healthcare.FhirServiceArgs{
Name: pulumi.String("tfexfhir"),
Location: pulumi.String("east us"),
ResourceGroupName: pulumi.String("tfex-resource_group"),
WorkspaceId: exampleWorkspace.ID(),
Kind: pulumi.String("fhir-R4"),
Authentication: &healthcare.FhirServiceAuthenticationArgs{
Authority: pulumi.String("https://login.microsoftonline.com/tenantId"),
Audience: pulumi.String("https://tfexfhir.fhir.azurehealthcareapis.com"),
},
AccessPolicyObjectIds: pulumi.StringArray{
pulumi.String(current.ObjectId),
},
Identity: &healthcare.FhirServiceIdentityArgs{
Type: pulumi.String("SystemAssigned"),
},
ContainerRegistryLoginServerUrls: pulumi.StringArray{
pulumi.String("tfex-container_registry_login_server"),
},
Cors: &healthcare.FhirServiceCorsArgs{
AllowedOrigins: pulumi.StringArray{
pulumi.String("https://tfex.com:123"),
pulumi.String("https://tfex1.com:3389"),
},
AllowedHeaders: pulumi.StringArray{
pulumi.String("*"),
},
AllowedMethods: pulumi.StringArray{
pulumi.String("GET"),
pulumi.String("DELETE"),
pulumi.String("PUT"),
},
MaxAgeInSeconds: pulumi.Int(3600),
CredentialsAllowed: pulumi.Bool(true),
},
ConfigurationExportStorageAccountName: pulumi.String("storage_account_name"),
})
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.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.healthcare.Workspace;
import com.pulumi.azure.healthcare.WorkspaceArgs;
import com.pulumi.azure.healthcare.FhirService;
import com.pulumi.azure.healthcare.FhirServiceArgs;
import com.pulumi.azure.healthcare.inputs.FhirServiceAuthenticationArgs;
import com.pulumi.azure.healthcare.inputs.FhirServiceIdentityArgs;
import com.pulumi.azure.healthcare.inputs.FhirServiceCorsArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example")
.location("West Europe")
.build());
final var current = CoreFunctions.getClientConfig();
var exampleWorkspace = new Workspace("exampleWorkspace", WorkspaceArgs.builder()
.name("example")
.location(example.location())
.resourceGroupName(example.name())
.build());
var exampleFhirService = new FhirService("exampleFhirService", FhirServiceArgs.builder()
.name("tfexfhir")
.location("east us")
.resourceGroupName("tfex-resource_group")
.workspaceId(exampleWorkspace.id())
.kind("fhir-R4")
.authentication(FhirServiceAuthenticationArgs.builder()
.authority("https://login.microsoftonline.com/tenantId")
.audience("https://tfexfhir.fhir.azurehealthcareapis.com")
.build())
.accessPolicyObjectIds(current.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.identity(FhirServiceIdentityArgs.builder()
.type("SystemAssigned")
.build())
.containerRegistryLoginServerUrls("tfex-container_registry_login_server")
.cors(FhirServiceCorsArgs.builder()
.allowedOrigins(
"https://tfex.com:123",
"https://tfex1.com:3389")
.allowedHeaders("*")
.allowedMethods(
"GET",
"DELETE",
"PUT")
.maxAgeInSeconds(3600)
.credentialsAllowed(true)
.build())
.configurationExportStorageAccountName("storage_account_name")
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example
location: West Europe
exampleWorkspace:
type: azure:healthcare:Workspace
name: example
properties:
name: example
location: ${example.location}
resourceGroupName: ${example.name}
exampleFhirService:
type: azure:healthcare:FhirService
name: example
properties:
name: tfexfhir
location: east us
resourceGroupName: tfex-resource_group
workspaceId: ${exampleWorkspace.id}
kind: fhir-R4
authentication:
authority: https://login.microsoftonline.com/tenantId
audience: https://tfexfhir.fhir.azurehealthcareapis.com
accessPolicyObjectIds:
- ${current.objectId}
identity:
type: SystemAssigned
containerRegistryLoginServerUrls:
- tfex-container_registry_login_server
cors:
allowedOrigins:
- https://tfex.com:123
- https://tfex1.com:3389
allowedHeaders:
- '*'
allowedMethods:
- GET
- DELETE
- PUT
maxAgeInSeconds: 3600
credentialsAllowed: true
configurationExportStorageAccountName: storage_account_name
variables:
current:
fn::invoke:
function: azure:core:getClientConfig
arguments: {}
Import
Healthcare FHIR Service can be imported using the resourceid
, e.g.
$ pulumi import azure:healthcare/fhirService:FhirService example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/group1/providers/Microsoft.HealthcareApis/workspaces/workspace1/fhirServices/service1
Constructors
Properties
A list of the access policies of the service instance.
An authentication
block as defined below.
Specifies the name of the storage account which the operation configuration information is exported to.
A list of azure container registry settings used for convert data operation of the service instance.
A cors
block as defined below.
An identity
block as defined below.
A list of oci_artifact
objects as defined below to describe OCI artifacts for export.
Specifies the name of the Resource Group in which to create the Healthcare FHIR Service. Changing this forces a new resource to be created.
Specifies the id of the Healthcare Workspace where the Healthcare FHIR Service should exist. Changing this forces a new Healthcare FHIR Service to be created.