FhirServiceArgs

data class FhirServiceArgs(val accessPolicyObjectIds: Output<List<String>>? = null, val authentication: Output<FhirServiceAuthenticationArgs>? = null, val configurationExportStorageAccountName: Output<String>? = null, val containerRegistryLoginServerUrls: Output<List<String>>? = null, val cors: Output<FhirServiceCorsArgs>? = null, val identity: Output<FhirServiceIdentityArgs>? = null, val kind: Output<String>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val ociArtifacts: Output<List<FhirServiceOciArtifactArgs>>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null, val workspaceId: Output<String>? = null) : ConvertibleToJava<FhirServiceArgs>

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&#46;then(current => current&#46;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&#46;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

Link copied to clipboard
constructor(accessPolicyObjectIds: Output<List<String>>? = null, authentication: Output<FhirServiceAuthenticationArgs>? = null, configurationExportStorageAccountName: Output<String>? = null, containerRegistryLoginServerUrls: Output<List<String>>? = null, cors: Output<FhirServiceCorsArgs>? = null, identity: Output<FhirServiceIdentityArgs>? = null, kind: Output<String>? = null, location: Output<String>? = null, name: Output<String>? = null, ociArtifacts: Output<List<FhirServiceOciArtifactArgs>>? = null, resourceGroupName: Output<String>? = null, tags: Output<Map<String, String>>? = null, workspaceId: Output<String>? = null)

Properties

Link copied to clipboard
val accessPolicyObjectIds: Output<List<String>>? = null

A list of the access policies of the service instance.

Link copied to clipboard

An authentication block as defined below.

Link copied to clipboard

Specifies the name of the storage account which the operation configuration information is exported to.

Link copied to clipboard

A list of azure container registry settings used for convert data operation of the service instance.

Link copied to clipboard
val cors: Output<FhirServiceCorsArgs>? = null

A cors block as defined below.

Link copied to clipboard
val identity: Output<FhirServiceIdentityArgs>? = null

An identity block as defined below.

Link copied to clipboard
val kind: Output<String>? = null

Specifies the kind of the Healthcare FHIR Service. Possible values are: fhir-Stu3 and fhir-R4. Defaults to fhir-R4. Changing this forces a new Healthcare FHIR Service to be created.

Link copied to clipboard
val location: Output<String>? = null

Specifies the Azure Region where the Healthcare FHIR Service should be created. Changing this forces a new Healthcare FHIR Service to be created.

Link copied to clipboard
val name: Output<String>? = null

Specifies the name of the Healthcare FHIR Service. Changing this forces a new Healthcare FHIR Service to be created.

Link copied to clipboard

A list of oci_artifact objects as defined below to describe OCI artifacts for export.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

Specifies the name of the Resource Group in which to create the Healthcare FHIR Service. Changing this forces a new resource to be created.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags to assign to the Healthcare FHIR Service.

Link copied to clipboard
val workspaceId: Output<String>? = null

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.

Functions

Link copied to clipboard
open override fun toJava(): FhirServiceArgs