healthcare

package
v7.20.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConsentStore

type ConsentStore struct {
	pulumi.CustomResourceState

	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// Default time to live for consents in this store. Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents.
	// A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
	DefaultConsentTtl pulumi.StringPtrOutput `pulumi:"defaultConsentTtl"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// If true, [consents.patch] [google.cloud.healthcare.v1.consent.UpdateConsent] creates the consent if it does not already exist.
	EnableConsentCreateOnUpdate pulumi.BoolPtrOutput `pulumi:"enableConsentCreateOnUpdate"`
	// User-supplied key-value pairs used to organize Consent stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: `[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}`
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The name of this ConsentStore, for example:
	// "consent1"
	Name pulumi.StringOutput `pulumi:"name"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
}

The Consent Management API is a tool for tracking user consents and the documentation associated with the consents.

To get more information about ConsentStore, see:

* [API documentation](https://cloud.google.com/healthcare/docs/reference/rest/v1/projects.locations.datasets.consentStores) * How-to Guides

## Example Usage

### Healthcare Consent Store Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Location: pulumi.String("us-central1"),
			Name:     pulumi.String("my-dataset"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStore(ctx, "my-consent", &healthcare.ConsentStoreArgs{
			Dataset: dataset.ID(),
			Name:    pulumi.String("my-consent-store"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Consent Store Full

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Location: pulumi.String("us-central1"),
			Name:     pulumi.String("my-dataset"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStore(ctx, "my-consent", &healthcare.ConsentStoreArgs{
			Dataset:                     dataset.ID(),
			Name:                        pulumi.String("my-consent-store"),
			EnableConsentCreateOnUpdate: pulumi.Bool(true),
			DefaultConsentTtl:           pulumi.String("90000s"),
			Labels: pulumi.StringMap{
				"label1": pulumi.String("labelvalue1"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Consent Store Iam

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/serviceaccount"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Location: pulumi.String("us-central1"),
			Name:     pulumi.String("my-dataset"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStore(ctx, "my-consent", &healthcare.ConsentStoreArgs{
			Dataset: dataset.ID(),
			Name:    pulumi.String("my-consent-store"),
		})
		if err != nil {
			return err
		}
		_, err = serviceaccount.NewAccount(ctx, "test-account", &serviceaccount.AccountArgs{
			AccountId:   pulumi.String("my-account"),
			DisplayName: pulumi.String("Test Service Account"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStoreIamMember(ctx, "test-iam", &healthcare.ConsentStoreIamMemberArgs{
			Dataset:        dataset.ID(),
			ConsentStoreId: my_consent.Name,
			Role:           pulumi.String("roles/editor"),
			Member: test_account.Email.ApplyT(func(email string) (string, error) {
				return fmt.Sprintf("serviceAccount:%v", email), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

ConsentStore can be imported using any of these accepted formats:

* `{{dataset}}/consentStores/{{name}}`

When using the `pulumi import` command, ConsentStore can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:healthcare/consentStore:ConsentStore default {{dataset}}/consentStores/{{name}} ```

func GetConsentStore

func GetConsentStore(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConsentStoreState, opts ...pulumi.ResourceOption) (*ConsentStore, error)

GetConsentStore gets an existing ConsentStore resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewConsentStore

func NewConsentStore(ctx *pulumi.Context,
	name string, args *ConsentStoreArgs, opts ...pulumi.ResourceOption) (*ConsentStore, error)

NewConsentStore registers a new resource with the given unique name, arguments, and options.

func (*ConsentStore) ElementType

func (*ConsentStore) ElementType() reflect.Type

func (*ConsentStore) ToConsentStoreOutput

func (i *ConsentStore) ToConsentStoreOutput() ConsentStoreOutput

func (*ConsentStore) ToConsentStoreOutputWithContext

func (i *ConsentStore) ToConsentStoreOutputWithContext(ctx context.Context) ConsentStoreOutput

type ConsentStoreArgs

type ConsentStoreArgs struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringInput
	// Default time to live for consents in this store. Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents.
	// A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
	DefaultConsentTtl pulumi.StringPtrInput
	// If true, [consents.patch] [google.cloud.healthcare.v1.consent.UpdateConsent] creates the consent if it does not already exist.
	EnableConsentCreateOnUpdate pulumi.BoolPtrInput
	// User-supplied key-value pairs used to organize Consent stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: `[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}`
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The name of this ConsentStore, for example:
	// "consent1"
	Name pulumi.StringPtrInput
}

The set of arguments for constructing a ConsentStore resource.

func (ConsentStoreArgs) ElementType

func (ConsentStoreArgs) ElementType() reflect.Type

type ConsentStoreArray

type ConsentStoreArray []ConsentStoreInput

func (ConsentStoreArray) ElementType

func (ConsentStoreArray) ElementType() reflect.Type

func (ConsentStoreArray) ToConsentStoreArrayOutput

func (i ConsentStoreArray) ToConsentStoreArrayOutput() ConsentStoreArrayOutput

func (ConsentStoreArray) ToConsentStoreArrayOutputWithContext

func (i ConsentStoreArray) ToConsentStoreArrayOutputWithContext(ctx context.Context) ConsentStoreArrayOutput

type ConsentStoreArrayInput

type ConsentStoreArrayInput interface {
	pulumi.Input

	ToConsentStoreArrayOutput() ConsentStoreArrayOutput
	ToConsentStoreArrayOutputWithContext(context.Context) ConsentStoreArrayOutput
}

ConsentStoreArrayInput is an input type that accepts ConsentStoreArray and ConsentStoreArrayOutput values. You can construct a concrete instance of `ConsentStoreArrayInput` via:

ConsentStoreArray{ ConsentStoreArgs{...} }

type ConsentStoreArrayOutput

type ConsentStoreArrayOutput struct{ *pulumi.OutputState }

func (ConsentStoreArrayOutput) ElementType

func (ConsentStoreArrayOutput) ElementType() reflect.Type

func (ConsentStoreArrayOutput) Index

func (ConsentStoreArrayOutput) ToConsentStoreArrayOutput

func (o ConsentStoreArrayOutput) ToConsentStoreArrayOutput() ConsentStoreArrayOutput

func (ConsentStoreArrayOutput) ToConsentStoreArrayOutputWithContext

func (o ConsentStoreArrayOutput) ToConsentStoreArrayOutputWithContext(ctx context.Context) ConsentStoreArrayOutput

type ConsentStoreIamBinding

type ConsentStoreIamBinding struct {
	pulumi.CustomResourceState

	Condition ConsentStoreIamBindingConditionPtrOutput `pulumi:"condition"`
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringOutput `pulumi:"consentStoreId"`
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The role that should be applied. Only one
	// `healthcare.ConsentStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Cloud Healthcare ConsentStore. Each of these resources serves a different use case:

* `healthcare.ConsentStoreIamPolicy`: Authoritative. Sets the IAM policy for the consentstore and replaces any existing policy already attached. * `healthcare.ConsentStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the consentstore are preserved. * `healthcare.ConsentStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the consentstore are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `healthcare.ConsentStoreIamPolicy`: Retrieves the IAM policy for the consentstore

> **Note:** `healthcare.ConsentStoreIamPolicy` **cannot** be used in conjunction with `healthcare.ConsentStoreIamBinding` and `healthcare.ConsentStoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.ConsentStoreIamBinding` resources **can be** used in conjunction with `healthcare.ConsentStoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_consent\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStoreIamPolicy(ctx, "policy", &healthcare.ConsentStoreIamPolicyArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			PolicyData:     pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamBinding(ctx, "binding", &healthcare.ConsentStoreIamBindingArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamMember(ctx, "member", &healthcare.ConsentStoreIamMemberArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Member:         pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStoreIamPolicy(ctx, "policy", &healthcare.ConsentStoreIamPolicyArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			PolicyData:     pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamBinding(ctx, "binding", &healthcare.ConsentStoreIamBindingArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamMember(ctx, "member", &healthcare.ConsentStoreIamMemberArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Member:         pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* {{dataset}}/consentStores/{{name}}

* {{name}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Healthcare consentstore IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:healthcare/consentStoreIamBinding:ConsentStoreIamBinding editor "{{dataset}}/consentStores/{{consent_store}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:healthcare/consentStoreIamBinding:ConsentStoreIamBinding editor "{{dataset}}/consentStores/{{consent_store}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:healthcare/consentStoreIamBinding:ConsentStoreIamBinding editor {{dataset}}/consentStores/{{consent_store}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetConsentStoreIamBinding

func GetConsentStoreIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConsentStoreIamBindingState, opts ...pulumi.ResourceOption) (*ConsentStoreIamBinding, error)

GetConsentStoreIamBinding gets an existing ConsentStoreIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewConsentStoreIamBinding

func NewConsentStoreIamBinding(ctx *pulumi.Context,
	name string, args *ConsentStoreIamBindingArgs, opts ...pulumi.ResourceOption) (*ConsentStoreIamBinding, error)

NewConsentStoreIamBinding registers a new resource with the given unique name, arguments, and options.

func (*ConsentStoreIamBinding) ElementType

func (*ConsentStoreIamBinding) ElementType() reflect.Type

func (*ConsentStoreIamBinding) ToConsentStoreIamBindingOutput

func (i *ConsentStoreIamBinding) ToConsentStoreIamBindingOutput() ConsentStoreIamBindingOutput

func (*ConsentStoreIamBinding) ToConsentStoreIamBindingOutputWithContext

func (i *ConsentStoreIamBinding) ToConsentStoreIamBindingOutputWithContext(ctx context.Context) ConsentStoreIamBindingOutput

type ConsentStoreIamBindingArgs

type ConsentStoreIamBindingArgs struct {
	Condition ConsentStoreIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.ConsentStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a ConsentStoreIamBinding resource.

func (ConsentStoreIamBindingArgs) ElementType

func (ConsentStoreIamBindingArgs) ElementType() reflect.Type

type ConsentStoreIamBindingArray

type ConsentStoreIamBindingArray []ConsentStoreIamBindingInput

func (ConsentStoreIamBindingArray) ElementType

func (ConsentStoreIamBindingArray) ToConsentStoreIamBindingArrayOutput

func (i ConsentStoreIamBindingArray) ToConsentStoreIamBindingArrayOutput() ConsentStoreIamBindingArrayOutput

func (ConsentStoreIamBindingArray) ToConsentStoreIamBindingArrayOutputWithContext

func (i ConsentStoreIamBindingArray) ToConsentStoreIamBindingArrayOutputWithContext(ctx context.Context) ConsentStoreIamBindingArrayOutput

type ConsentStoreIamBindingArrayInput

type ConsentStoreIamBindingArrayInput interface {
	pulumi.Input

	ToConsentStoreIamBindingArrayOutput() ConsentStoreIamBindingArrayOutput
	ToConsentStoreIamBindingArrayOutputWithContext(context.Context) ConsentStoreIamBindingArrayOutput
}

ConsentStoreIamBindingArrayInput is an input type that accepts ConsentStoreIamBindingArray and ConsentStoreIamBindingArrayOutput values. You can construct a concrete instance of `ConsentStoreIamBindingArrayInput` via:

ConsentStoreIamBindingArray{ ConsentStoreIamBindingArgs{...} }

type ConsentStoreIamBindingArrayOutput

type ConsentStoreIamBindingArrayOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamBindingArrayOutput) ElementType

func (ConsentStoreIamBindingArrayOutput) Index

func (ConsentStoreIamBindingArrayOutput) ToConsentStoreIamBindingArrayOutput

func (o ConsentStoreIamBindingArrayOutput) ToConsentStoreIamBindingArrayOutput() ConsentStoreIamBindingArrayOutput

func (ConsentStoreIamBindingArrayOutput) ToConsentStoreIamBindingArrayOutputWithContext

func (o ConsentStoreIamBindingArrayOutput) ToConsentStoreIamBindingArrayOutputWithContext(ctx context.Context) ConsentStoreIamBindingArrayOutput

type ConsentStoreIamBindingCondition

type ConsentStoreIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type ConsentStoreIamBindingConditionArgs

type ConsentStoreIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (ConsentStoreIamBindingConditionArgs) ElementType

func (ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionOutput

func (i ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionOutput() ConsentStoreIamBindingConditionOutput

func (ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionOutputWithContext

func (i ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionOutputWithContext(ctx context.Context) ConsentStoreIamBindingConditionOutput

func (ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionPtrOutput

func (i ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionPtrOutput() ConsentStoreIamBindingConditionPtrOutput

func (ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionPtrOutputWithContext

func (i ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionPtrOutputWithContext(ctx context.Context) ConsentStoreIamBindingConditionPtrOutput

type ConsentStoreIamBindingConditionInput

type ConsentStoreIamBindingConditionInput interface {
	pulumi.Input

	ToConsentStoreIamBindingConditionOutput() ConsentStoreIamBindingConditionOutput
	ToConsentStoreIamBindingConditionOutputWithContext(context.Context) ConsentStoreIamBindingConditionOutput
}

ConsentStoreIamBindingConditionInput is an input type that accepts ConsentStoreIamBindingConditionArgs and ConsentStoreIamBindingConditionOutput values. You can construct a concrete instance of `ConsentStoreIamBindingConditionInput` via:

ConsentStoreIamBindingConditionArgs{...}

type ConsentStoreIamBindingConditionOutput

type ConsentStoreIamBindingConditionOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamBindingConditionOutput) Description

func (ConsentStoreIamBindingConditionOutput) ElementType

func (ConsentStoreIamBindingConditionOutput) Expression

func (ConsentStoreIamBindingConditionOutput) Title

func (ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionOutput

func (o ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionOutput() ConsentStoreIamBindingConditionOutput

func (ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionOutputWithContext

func (o ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionOutputWithContext(ctx context.Context) ConsentStoreIamBindingConditionOutput

func (ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionPtrOutput

func (o ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionPtrOutput() ConsentStoreIamBindingConditionPtrOutput

func (ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionPtrOutputWithContext

func (o ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionPtrOutputWithContext(ctx context.Context) ConsentStoreIamBindingConditionPtrOutput

type ConsentStoreIamBindingConditionPtrInput

type ConsentStoreIamBindingConditionPtrInput interface {
	pulumi.Input

	ToConsentStoreIamBindingConditionPtrOutput() ConsentStoreIamBindingConditionPtrOutput
	ToConsentStoreIamBindingConditionPtrOutputWithContext(context.Context) ConsentStoreIamBindingConditionPtrOutput
}

ConsentStoreIamBindingConditionPtrInput is an input type that accepts ConsentStoreIamBindingConditionArgs, ConsentStoreIamBindingConditionPtr and ConsentStoreIamBindingConditionPtrOutput values. You can construct a concrete instance of `ConsentStoreIamBindingConditionPtrInput` via:

        ConsentStoreIamBindingConditionArgs{...}

or:

        nil

type ConsentStoreIamBindingConditionPtrOutput

type ConsentStoreIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamBindingConditionPtrOutput) Description

func (ConsentStoreIamBindingConditionPtrOutput) Elem

func (ConsentStoreIamBindingConditionPtrOutput) ElementType

func (ConsentStoreIamBindingConditionPtrOutput) Expression

func (ConsentStoreIamBindingConditionPtrOutput) Title

func (ConsentStoreIamBindingConditionPtrOutput) ToConsentStoreIamBindingConditionPtrOutput

func (o ConsentStoreIamBindingConditionPtrOutput) ToConsentStoreIamBindingConditionPtrOutput() ConsentStoreIamBindingConditionPtrOutput

func (ConsentStoreIamBindingConditionPtrOutput) ToConsentStoreIamBindingConditionPtrOutputWithContext

func (o ConsentStoreIamBindingConditionPtrOutput) ToConsentStoreIamBindingConditionPtrOutputWithContext(ctx context.Context) ConsentStoreIamBindingConditionPtrOutput

type ConsentStoreIamBindingInput

type ConsentStoreIamBindingInput interface {
	pulumi.Input

	ToConsentStoreIamBindingOutput() ConsentStoreIamBindingOutput
	ToConsentStoreIamBindingOutputWithContext(ctx context.Context) ConsentStoreIamBindingOutput
}

type ConsentStoreIamBindingMap

type ConsentStoreIamBindingMap map[string]ConsentStoreIamBindingInput

func (ConsentStoreIamBindingMap) ElementType

func (ConsentStoreIamBindingMap) ElementType() reflect.Type

func (ConsentStoreIamBindingMap) ToConsentStoreIamBindingMapOutput

func (i ConsentStoreIamBindingMap) ToConsentStoreIamBindingMapOutput() ConsentStoreIamBindingMapOutput

func (ConsentStoreIamBindingMap) ToConsentStoreIamBindingMapOutputWithContext

func (i ConsentStoreIamBindingMap) ToConsentStoreIamBindingMapOutputWithContext(ctx context.Context) ConsentStoreIamBindingMapOutput

type ConsentStoreIamBindingMapInput

type ConsentStoreIamBindingMapInput interface {
	pulumi.Input

	ToConsentStoreIamBindingMapOutput() ConsentStoreIamBindingMapOutput
	ToConsentStoreIamBindingMapOutputWithContext(context.Context) ConsentStoreIamBindingMapOutput
}

ConsentStoreIamBindingMapInput is an input type that accepts ConsentStoreIamBindingMap and ConsentStoreIamBindingMapOutput values. You can construct a concrete instance of `ConsentStoreIamBindingMapInput` via:

ConsentStoreIamBindingMap{ "key": ConsentStoreIamBindingArgs{...} }

type ConsentStoreIamBindingMapOutput

type ConsentStoreIamBindingMapOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamBindingMapOutput) ElementType

func (ConsentStoreIamBindingMapOutput) MapIndex

func (ConsentStoreIamBindingMapOutput) ToConsentStoreIamBindingMapOutput

func (o ConsentStoreIamBindingMapOutput) ToConsentStoreIamBindingMapOutput() ConsentStoreIamBindingMapOutput

func (ConsentStoreIamBindingMapOutput) ToConsentStoreIamBindingMapOutputWithContext

func (o ConsentStoreIamBindingMapOutput) ToConsentStoreIamBindingMapOutputWithContext(ctx context.Context) ConsentStoreIamBindingMapOutput

type ConsentStoreIamBindingOutput

type ConsentStoreIamBindingOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamBindingOutput) Condition

func (ConsentStoreIamBindingOutput) ConsentStoreId

Used to find the parent resource to bind the IAM policy to

func (ConsentStoreIamBindingOutput) Dataset

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}' Used to find the parent resource to bind the IAM policy to

func (ConsentStoreIamBindingOutput) ElementType

func (ConsentStoreIamBindingOutput) Etag

(Computed) The etag of the IAM policy.

func (ConsentStoreIamBindingOutput) Members

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (ConsentStoreIamBindingOutput) Role

The role that should be applied. Only one `healthcare.ConsentStoreIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (ConsentStoreIamBindingOutput) ToConsentStoreIamBindingOutput

func (o ConsentStoreIamBindingOutput) ToConsentStoreIamBindingOutput() ConsentStoreIamBindingOutput

func (ConsentStoreIamBindingOutput) ToConsentStoreIamBindingOutputWithContext

func (o ConsentStoreIamBindingOutput) ToConsentStoreIamBindingOutputWithContext(ctx context.Context) ConsentStoreIamBindingOutput

type ConsentStoreIamBindingState

type ConsentStoreIamBindingState struct {
	Condition ConsentStoreIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringPtrInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.ConsentStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (ConsentStoreIamBindingState) ElementType

type ConsentStoreIamMember

type ConsentStoreIamMember struct {
	pulumi.CustomResourceState

	Condition ConsentStoreIamMemberConditionPtrOutput `pulumi:"condition"`
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringOutput `pulumi:"consentStoreId"`
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `healthcare.ConsentStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Cloud Healthcare ConsentStore. Each of these resources serves a different use case:

* `healthcare.ConsentStoreIamPolicy`: Authoritative. Sets the IAM policy for the consentstore and replaces any existing policy already attached. * `healthcare.ConsentStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the consentstore are preserved. * `healthcare.ConsentStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the consentstore are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `healthcare.ConsentStoreIamPolicy`: Retrieves the IAM policy for the consentstore

> **Note:** `healthcare.ConsentStoreIamPolicy` **cannot** be used in conjunction with `healthcare.ConsentStoreIamBinding` and `healthcare.ConsentStoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.ConsentStoreIamBinding` resources **can be** used in conjunction with `healthcare.ConsentStoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_consent\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStoreIamPolicy(ctx, "policy", &healthcare.ConsentStoreIamPolicyArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			PolicyData:     pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamBinding(ctx, "binding", &healthcare.ConsentStoreIamBindingArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamMember(ctx, "member", &healthcare.ConsentStoreIamMemberArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Member:         pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStoreIamPolicy(ctx, "policy", &healthcare.ConsentStoreIamPolicyArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			PolicyData:     pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamBinding(ctx, "binding", &healthcare.ConsentStoreIamBindingArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamMember(ctx, "member", &healthcare.ConsentStoreIamMemberArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Member:         pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* {{dataset}}/consentStores/{{name}}

* {{name}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Healthcare consentstore IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:healthcare/consentStoreIamMember:ConsentStoreIamMember editor "{{dataset}}/consentStores/{{consent_store}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:healthcare/consentStoreIamMember:ConsentStoreIamMember editor "{{dataset}}/consentStores/{{consent_store}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:healthcare/consentStoreIamMember:ConsentStoreIamMember editor {{dataset}}/consentStores/{{consent_store}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetConsentStoreIamMember

func GetConsentStoreIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConsentStoreIamMemberState, opts ...pulumi.ResourceOption) (*ConsentStoreIamMember, error)

GetConsentStoreIamMember gets an existing ConsentStoreIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewConsentStoreIamMember

func NewConsentStoreIamMember(ctx *pulumi.Context,
	name string, args *ConsentStoreIamMemberArgs, opts ...pulumi.ResourceOption) (*ConsentStoreIamMember, error)

NewConsentStoreIamMember registers a new resource with the given unique name, arguments, and options.

func (*ConsentStoreIamMember) ElementType

func (*ConsentStoreIamMember) ElementType() reflect.Type

func (*ConsentStoreIamMember) ToConsentStoreIamMemberOutput

func (i *ConsentStoreIamMember) ToConsentStoreIamMemberOutput() ConsentStoreIamMemberOutput

func (*ConsentStoreIamMember) ToConsentStoreIamMemberOutputWithContext

func (i *ConsentStoreIamMember) ToConsentStoreIamMemberOutputWithContext(ctx context.Context) ConsentStoreIamMemberOutput

type ConsentStoreIamMemberArgs

type ConsentStoreIamMemberArgs struct {
	Condition ConsentStoreIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringInput
	// The role that should be applied. Only one
	// `healthcare.ConsentStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a ConsentStoreIamMember resource.

func (ConsentStoreIamMemberArgs) ElementType

func (ConsentStoreIamMemberArgs) ElementType() reflect.Type

type ConsentStoreIamMemberArray

type ConsentStoreIamMemberArray []ConsentStoreIamMemberInput

func (ConsentStoreIamMemberArray) ElementType

func (ConsentStoreIamMemberArray) ElementType() reflect.Type

func (ConsentStoreIamMemberArray) ToConsentStoreIamMemberArrayOutput

func (i ConsentStoreIamMemberArray) ToConsentStoreIamMemberArrayOutput() ConsentStoreIamMemberArrayOutput

func (ConsentStoreIamMemberArray) ToConsentStoreIamMemberArrayOutputWithContext

func (i ConsentStoreIamMemberArray) ToConsentStoreIamMemberArrayOutputWithContext(ctx context.Context) ConsentStoreIamMemberArrayOutput

type ConsentStoreIamMemberArrayInput

type ConsentStoreIamMemberArrayInput interface {
	pulumi.Input

	ToConsentStoreIamMemberArrayOutput() ConsentStoreIamMemberArrayOutput
	ToConsentStoreIamMemberArrayOutputWithContext(context.Context) ConsentStoreIamMemberArrayOutput
}

ConsentStoreIamMemberArrayInput is an input type that accepts ConsentStoreIamMemberArray and ConsentStoreIamMemberArrayOutput values. You can construct a concrete instance of `ConsentStoreIamMemberArrayInput` via:

ConsentStoreIamMemberArray{ ConsentStoreIamMemberArgs{...} }

type ConsentStoreIamMemberArrayOutput

type ConsentStoreIamMemberArrayOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamMemberArrayOutput) ElementType

func (ConsentStoreIamMemberArrayOutput) Index

func (ConsentStoreIamMemberArrayOutput) ToConsentStoreIamMemberArrayOutput

func (o ConsentStoreIamMemberArrayOutput) ToConsentStoreIamMemberArrayOutput() ConsentStoreIamMemberArrayOutput

func (ConsentStoreIamMemberArrayOutput) ToConsentStoreIamMemberArrayOutputWithContext

func (o ConsentStoreIamMemberArrayOutput) ToConsentStoreIamMemberArrayOutputWithContext(ctx context.Context) ConsentStoreIamMemberArrayOutput

type ConsentStoreIamMemberCondition

type ConsentStoreIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type ConsentStoreIamMemberConditionArgs

type ConsentStoreIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (ConsentStoreIamMemberConditionArgs) ElementType

func (ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionOutput

func (i ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionOutput() ConsentStoreIamMemberConditionOutput

func (ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionOutputWithContext

func (i ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionOutputWithContext(ctx context.Context) ConsentStoreIamMemberConditionOutput

func (ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionPtrOutput

func (i ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionPtrOutput() ConsentStoreIamMemberConditionPtrOutput

func (ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionPtrOutputWithContext

func (i ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionPtrOutputWithContext(ctx context.Context) ConsentStoreIamMemberConditionPtrOutput

type ConsentStoreIamMemberConditionInput

type ConsentStoreIamMemberConditionInput interface {
	pulumi.Input

	ToConsentStoreIamMemberConditionOutput() ConsentStoreIamMemberConditionOutput
	ToConsentStoreIamMemberConditionOutputWithContext(context.Context) ConsentStoreIamMemberConditionOutput
}

ConsentStoreIamMemberConditionInput is an input type that accepts ConsentStoreIamMemberConditionArgs and ConsentStoreIamMemberConditionOutput values. You can construct a concrete instance of `ConsentStoreIamMemberConditionInput` via:

ConsentStoreIamMemberConditionArgs{...}

type ConsentStoreIamMemberConditionOutput

type ConsentStoreIamMemberConditionOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamMemberConditionOutput) Description

func (ConsentStoreIamMemberConditionOutput) ElementType

func (ConsentStoreIamMemberConditionOutput) Expression

func (ConsentStoreIamMemberConditionOutput) Title

func (ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionOutput

func (o ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionOutput() ConsentStoreIamMemberConditionOutput

func (ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionOutputWithContext

func (o ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionOutputWithContext(ctx context.Context) ConsentStoreIamMemberConditionOutput

func (ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionPtrOutput

func (o ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionPtrOutput() ConsentStoreIamMemberConditionPtrOutput

func (ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionPtrOutputWithContext

func (o ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionPtrOutputWithContext(ctx context.Context) ConsentStoreIamMemberConditionPtrOutput

type ConsentStoreIamMemberConditionPtrInput

type ConsentStoreIamMemberConditionPtrInput interface {
	pulumi.Input

	ToConsentStoreIamMemberConditionPtrOutput() ConsentStoreIamMemberConditionPtrOutput
	ToConsentStoreIamMemberConditionPtrOutputWithContext(context.Context) ConsentStoreIamMemberConditionPtrOutput
}

ConsentStoreIamMemberConditionPtrInput is an input type that accepts ConsentStoreIamMemberConditionArgs, ConsentStoreIamMemberConditionPtr and ConsentStoreIamMemberConditionPtrOutput values. You can construct a concrete instance of `ConsentStoreIamMemberConditionPtrInput` via:

        ConsentStoreIamMemberConditionArgs{...}

or:

        nil

type ConsentStoreIamMemberConditionPtrOutput

type ConsentStoreIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamMemberConditionPtrOutput) Description

func (ConsentStoreIamMemberConditionPtrOutput) Elem

func (ConsentStoreIamMemberConditionPtrOutput) ElementType

func (ConsentStoreIamMemberConditionPtrOutput) Expression

func (ConsentStoreIamMemberConditionPtrOutput) Title

func (ConsentStoreIamMemberConditionPtrOutput) ToConsentStoreIamMemberConditionPtrOutput

func (o ConsentStoreIamMemberConditionPtrOutput) ToConsentStoreIamMemberConditionPtrOutput() ConsentStoreIamMemberConditionPtrOutput

func (ConsentStoreIamMemberConditionPtrOutput) ToConsentStoreIamMemberConditionPtrOutputWithContext

func (o ConsentStoreIamMemberConditionPtrOutput) ToConsentStoreIamMemberConditionPtrOutputWithContext(ctx context.Context) ConsentStoreIamMemberConditionPtrOutput

type ConsentStoreIamMemberInput

type ConsentStoreIamMemberInput interface {
	pulumi.Input

	ToConsentStoreIamMemberOutput() ConsentStoreIamMemberOutput
	ToConsentStoreIamMemberOutputWithContext(ctx context.Context) ConsentStoreIamMemberOutput
}

type ConsentStoreIamMemberMap

type ConsentStoreIamMemberMap map[string]ConsentStoreIamMemberInput

func (ConsentStoreIamMemberMap) ElementType

func (ConsentStoreIamMemberMap) ElementType() reflect.Type

func (ConsentStoreIamMemberMap) ToConsentStoreIamMemberMapOutput

func (i ConsentStoreIamMemberMap) ToConsentStoreIamMemberMapOutput() ConsentStoreIamMemberMapOutput

func (ConsentStoreIamMemberMap) ToConsentStoreIamMemberMapOutputWithContext

func (i ConsentStoreIamMemberMap) ToConsentStoreIamMemberMapOutputWithContext(ctx context.Context) ConsentStoreIamMemberMapOutput

type ConsentStoreIamMemberMapInput

type ConsentStoreIamMemberMapInput interface {
	pulumi.Input

	ToConsentStoreIamMemberMapOutput() ConsentStoreIamMemberMapOutput
	ToConsentStoreIamMemberMapOutputWithContext(context.Context) ConsentStoreIamMemberMapOutput
}

ConsentStoreIamMemberMapInput is an input type that accepts ConsentStoreIamMemberMap and ConsentStoreIamMemberMapOutput values. You can construct a concrete instance of `ConsentStoreIamMemberMapInput` via:

ConsentStoreIamMemberMap{ "key": ConsentStoreIamMemberArgs{...} }

type ConsentStoreIamMemberMapOutput

type ConsentStoreIamMemberMapOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamMemberMapOutput) ElementType

func (ConsentStoreIamMemberMapOutput) MapIndex

func (ConsentStoreIamMemberMapOutput) ToConsentStoreIamMemberMapOutput

func (o ConsentStoreIamMemberMapOutput) ToConsentStoreIamMemberMapOutput() ConsentStoreIamMemberMapOutput

func (ConsentStoreIamMemberMapOutput) ToConsentStoreIamMemberMapOutputWithContext

func (o ConsentStoreIamMemberMapOutput) ToConsentStoreIamMemberMapOutputWithContext(ctx context.Context) ConsentStoreIamMemberMapOutput

type ConsentStoreIamMemberOutput

type ConsentStoreIamMemberOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamMemberOutput) Condition

func (ConsentStoreIamMemberOutput) ConsentStoreId

func (o ConsentStoreIamMemberOutput) ConsentStoreId() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (ConsentStoreIamMemberOutput) Dataset

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}' Used to find the parent resource to bind the IAM policy to

func (ConsentStoreIamMemberOutput) ElementType

func (ConsentStoreIamMemberOutput) Etag

(Computed) The etag of the IAM policy.

func (ConsentStoreIamMemberOutput) Member

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com. * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project" * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project" * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"

func (ConsentStoreIamMemberOutput) Role

The role that should be applied. Only one `healthcare.ConsentStoreIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (ConsentStoreIamMemberOutput) ToConsentStoreIamMemberOutput

func (o ConsentStoreIamMemberOutput) ToConsentStoreIamMemberOutput() ConsentStoreIamMemberOutput

func (ConsentStoreIamMemberOutput) ToConsentStoreIamMemberOutputWithContext

func (o ConsentStoreIamMemberOutput) ToConsentStoreIamMemberOutputWithContext(ctx context.Context) ConsentStoreIamMemberOutput

type ConsentStoreIamMemberState

type ConsentStoreIamMemberState struct {
	Condition ConsentStoreIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringPtrInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `healthcare.ConsentStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (ConsentStoreIamMemberState) ElementType

func (ConsentStoreIamMemberState) ElementType() reflect.Type

type ConsentStoreIamPolicy

type ConsentStoreIamPolicy struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringOutput `pulumi:"consentStoreId"`
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
}

Three different resources help you manage your IAM policy for Cloud Healthcare ConsentStore. Each of these resources serves a different use case:

* `healthcare.ConsentStoreIamPolicy`: Authoritative. Sets the IAM policy for the consentstore and replaces any existing policy already attached. * `healthcare.ConsentStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the consentstore are preserved. * `healthcare.ConsentStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the consentstore are preserved.

A data source can be used to retrieve policy data in advent you do not need creation

* `healthcare.ConsentStoreIamPolicy`: Retrieves the IAM policy for the consentstore

> **Note:** `healthcare.ConsentStoreIamPolicy` **cannot** be used in conjunction with `healthcare.ConsentStoreIamBinding` and `healthcare.ConsentStoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.ConsentStoreIamBinding` resources **can be** used in conjunction with `healthcare.ConsentStoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_consent\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStoreIamPolicy(ctx, "policy", &healthcare.ConsentStoreIamPolicyArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			PolicyData:     pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamBinding(ctx, "binding", &healthcare.ConsentStoreIamBindingArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamMember(ctx, "member", &healthcare.ConsentStoreIamMemberArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Member:         pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStoreIamPolicy(ctx, "policy", &healthcare.ConsentStoreIamPolicyArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			PolicyData:     pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamBinding(ctx, "binding", &healthcare.ConsentStoreIamBindingArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_consent\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewConsentStoreIamMember(ctx, "member", &healthcare.ConsentStoreIamMemberArgs{
			Dataset:        pulumi.Any(my_consent.Dataset),
			ConsentStoreId: pulumi.Any(my_consent.Name),
			Role:           pulumi.String("roles/viewer"),
			Member:         pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms:

* {{dataset}}/consentStores/{{name}}

* {{name}}

Any variables not passed in the import command will be taken from the provider configuration.

Cloud Healthcare consentstore IAM resources can be imported using the resource identifiers, role, and member.

IAM member imports use space-delimited identifiers: the resource in question, the role, and the member identity, e.g.

```sh $ pulumi import gcp:healthcare/consentStoreIamPolicy:ConsentStoreIamPolicy editor "{{dataset}}/consentStores/{{consent_store}} roles/viewer user:jane@example.com" ```

IAM binding imports use space-delimited identifiers: the resource in question and the role, e.g.

```sh $ pulumi import gcp:healthcare/consentStoreIamPolicy:ConsentStoreIamPolicy editor "{{dataset}}/consentStores/{{consent_store}} roles/viewer" ```

IAM policy imports use the identifier of the resource in question, e.g.

```sh $ pulumi import gcp:healthcare/consentStoreIamPolicy:ConsentStoreIamPolicy editor {{dataset}}/consentStores/{{consent_store}} ```

-> **Custom Roles**: If you're importing a IAM resource with a custom role, make sure to use the

full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.

func GetConsentStoreIamPolicy

func GetConsentStoreIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConsentStoreIamPolicyState, opts ...pulumi.ResourceOption) (*ConsentStoreIamPolicy, error)

GetConsentStoreIamPolicy gets an existing ConsentStoreIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewConsentStoreIamPolicy

func NewConsentStoreIamPolicy(ctx *pulumi.Context,
	name string, args *ConsentStoreIamPolicyArgs, opts ...pulumi.ResourceOption) (*ConsentStoreIamPolicy, error)

NewConsentStoreIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*ConsentStoreIamPolicy) ElementType

func (*ConsentStoreIamPolicy) ElementType() reflect.Type

func (*ConsentStoreIamPolicy) ToConsentStoreIamPolicyOutput

func (i *ConsentStoreIamPolicy) ToConsentStoreIamPolicyOutput() ConsentStoreIamPolicyOutput

func (*ConsentStoreIamPolicy) ToConsentStoreIamPolicyOutputWithContext

func (i *ConsentStoreIamPolicy) ToConsentStoreIamPolicyOutputWithContext(ctx context.Context) ConsentStoreIamPolicyOutput

type ConsentStoreIamPolicyArgs

type ConsentStoreIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a ConsentStoreIamPolicy resource.

func (ConsentStoreIamPolicyArgs) ElementType

func (ConsentStoreIamPolicyArgs) ElementType() reflect.Type

type ConsentStoreIamPolicyArray

type ConsentStoreIamPolicyArray []ConsentStoreIamPolicyInput

func (ConsentStoreIamPolicyArray) ElementType

func (ConsentStoreIamPolicyArray) ElementType() reflect.Type

func (ConsentStoreIamPolicyArray) ToConsentStoreIamPolicyArrayOutput

func (i ConsentStoreIamPolicyArray) ToConsentStoreIamPolicyArrayOutput() ConsentStoreIamPolicyArrayOutput

func (ConsentStoreIamPolicyArray) ToConsentStoreIamPolicyArrayOutputWithContext

func (i ConsentStoreIamPolicyArray) ToConsentStoreIamPolicyArrayOutputWithContext(ctx context.Context) ConsentStoreIamPolicyArrayOutput

type ConsentStoreIamPolicyArrayInput

type ConsentStoreIamPolicyArrayInput interface {
	pulumi.Input

	ToConsentStoreIamPolicyArrayOutput() ConsentStoreIamPolicyArrayOutput
	ToConsentStoreIamPolicyArrayOutputWithContext(context.Context) ConsentStoreIamPolicyArrayOutput
}

ConsentStoreIamPolicyArrayInput is an input type that accepts ConsentStoreIamPolicyArray and ConsentStoreIamPolicyArrayOutput values. You can construct a concrete instance of `ConsentStoreIamPolicyArrayInput` via:

ConsentStoreIamPolicyArray{ ConsentStoreIamPolicyArgs{...} }

type ConsentStoreIamPolicyArrayOutput

type ConsentStoreIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamPolicyArrayOutput) ElementType

func (ConsentStoreIamPolicyArrayOutput) Index

func (ConsentStoreIamPolicyArrayOutput) ToConsentStoreIamPolicyArrayOutput

func (o ConsentStoreIamPolicyArrayOutput) ToConsentStoreIamPolicyArrayOutput() ConsentStoreIamPolicyArrayOutput

func (ConsentStoreIamPolicyArrayOutput) ToConsentStoreIamPolicyArrayOutputWithContext

func (o ConsentStoreIamPolicyArrayOutput) ToConsentStoreIamPolicyArrayOutputWithContext(ctx context.Context) ConsentStoreIamPolicyArrayOutput

type ConsentStoreIamPolicyInput

type ConsentStoreIamPolicyInput interface {
	pulumi.Input

	ToConsentStoreIamPolicyOutput() ConsentStoreIamPolicyOutput
	ToConsentStoreIamPolicyOutputWithContext(ctx context.Context) ConsentStoreIamPolicyOutput
}

type ConsentStoreIamPolicyMap

type ConsentStoreIamPolicyMap map[string]ConsentStoreIamPolicyInput

func (ConsentStoreIamPolicyMap) ElementType

func (ConsentStoreIamPolicyMap) ElementType() reflect.Type

func (ConsentStoreIamPolicyMap) ToConsentStoreIamPolicyMapOutput

func (i ConsentStoreIamPolicyMap) ToConsentStoreIamPolicyMapOutput() ConsentStoreIamPolicyMapOutput

func (ConsentStoreIamPolicyMap) ToConsentStoreIamPolicyMapOutputWithContext

func (i ConsentStoreIamPolicyMap) ToConsentStoreIamPolicyMapOutputWithContext(ctx context.Context) ConsentStoreIamPolicyMapOutput

type ConsentStoreIamPolicyMapInput

type ConsentStoreIamPolicyMapInput interface {
	pulumi.Input

	ToConsentStoreIamPolicyMapOutput() ConsentStoreIamPolicyMapOutput
	ToConsentStoreIamPolicyMapOutputWithContext(context.Context) ConsentStoreIamPolicyMapOutput
}

ConsentStoreIamPolicyMapInput is an input type that accepts ConsentStoreIamPolicyMap and ConsentStoreIamPolicyMapOutput values. You can construct a concrete instance of `ConsentStoreIamPolicyMapInput` via:

ConsentStoreIamPolicyMap{ "key": ConsentStoreIamPolicyArgs{...} }

type ConsentStoreIamPolicyMapOutput

type ConsentStoreIamPolicyMapOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamPolicyMapOutput) ElementType

func (ConsentStoreIamPolicyMapOutput) MapIndex

func (ConsentStoreIamPolicyMapOutput) ToConsentStoreIamPolicyMapOutput

func (o ConsentStoreIamPolicyMapOutput) ToConsentStoreIamPolicyMapOutput() ConsentStoreIamPolicyMapOutput

func (ConsentStoreIamPolicyMapOutput) ToConsentStoreIamPolicyMapOutputWithContext

func (o ConsentStoreIamPolicyMapOutput) ToConsentStoreIamPolicyMapOutputWithContext(ctx context.Context) ConsentStoreIamPolicyMapOutput

type ConsentStoreIamPolicyOutput

type ConsentStoreIamPolicyOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamPolicyOutput) ConsentStoreId

func (o ConsentStoreIamPolicyOutput) ConsentStoreId() pulumi.StringOutput

Used to find the parent resource to bind the IAM policy to

func (ConsentStoreIamPolicyOutput) Dataset

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}' Used to find the parent resource to bind the IAM policy to

func (ConsentStoreIamPolicyOutput) ElementType

func (ConsentStoreIamPolicyOutput) Etag

(Computed) The etag of the IAM policy.

func (ConsentStoreIamPolicyOutput) PolicyData

The policy data generated by a `organizations.getIAMPolicy` data source.

func (ConsentStoreIamPolicyOutput) ToConsentStoreIamPolicyOutput

func (o ConsentStoreIamPolicyOutput) ToConsentStoreIamPolicyOutput() ConsentStoreIamPolicyOutput

func (ConsentStoreIamPolicyOutput) ToConsentStoreIamPolicyOutputWithContext

func (o ConsentStoreIamPolicyOutput) ToConsentStoreIamPolicyOutputWithContext(ctx context.Context) ConsentStoreIamPolicyOutput

type ConsentStoreIamPolicyState

type ConsentStoreIamPolicyState struct {
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringPtrInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
}

func (ConsentStoreIamPolicyState) ElementType

func (ConsentStoreIamPolicyState) ElementType() reflect.Type

type ConsentStoreInput

type ConsentStoreInput interface {
	pulumi.Input

	ToConsentStoreOutput() ConsentStoreOutput
	ToConsentStoreOutputWithContext(ctx context.Context) ConsentStoreOutput
}

type ConsentStoreMap

type ConsentStoreMap map[string]ConsentStoreInput

func (ConsentStoreMap) ElementType

func (ConsentStoreMap) ElementType() reflect.Type

func (ConsentStoreMap) ToConsentStoreMapOutput

func (i ConsentStoreMap) ToConsentStoreMapOutput() ConsentStoreMapOutput

func (ConsentStoreMap) ToConsentStoreMapOutputWithContext

func (i ConsentStoreMap) ToConsentStoreMapOutputWithContext(ctx context.Context) ConsentStoreMapOutput

type ConsentStoreMapInput

type ConsentStoreMapInput interface {
	pulumi.Input

	ToConsentStoreMapOutput() ConsentStoreMapOutput
	ToConsentStoreMapOutputWithContext(context.Context) ConsentStoreMapOutput
}

ConsentStoreMapInput is an input type that accepts ConsentStoreMap and ConsentStoreMapOutput values. You can construct a concrete instance of `ConsentStoreMapInput` via:

ConsentStoreMap{ "key": ConsentStoreArgs{...} }

type ConsentStoreMapOutput

type ConsentStoreMapOutput struct{ *pulumi.OutputState }

func (ConsentStoreMapOutput) ElementType

func (ConsentStoreMapOutput) ElementType() reflect.Type

func (ConsentStoreMapOutput) MapIndex

func (ConsentStoreMapOutput) ToConsentStoreMapOutput

func (o ConsentStoreMapOutput) ToConsentStoreMapOutput() ConsentStoreMapOutput

func (ConsentStoreMapOutput) ToConsentStoreMapOutputWithContext

func (o ConsentStoreMapOutput) ToConsentStoreMapOutputWithContext(ctx context.Context) ConsentStoreMapOutput

type ConsentStoreOutput

type ConsentStoreOutput struct{ *pulumi.OutputState }

func (ConsentStoreOutput) Dataset

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'

***

func (ConsentStoreOutput) DefaultConsentTtl

func (o ConsentStoreOutput) DefaultConsentTtl() pulumi.StringPtrOutput

Default time to live for consents in this store. Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents. A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".

func (ConsentStoreOutput) EffectiveLabels

func (o ConsentStoreOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (ConsentStoreOutput) ElementType

func (ConsentStoreOutput) ElementType() reflect.Type

func (ConsentStoreOutput) EnableConsentCreateOnUpdate

func (o ConsentStoreOutput) EnableConsentCreateOnUpdate() pulumi.BoolPtrOutput

If true, [consents.patch] [google.cloud.healthcare.v1.consent.UpdateConsent] creates the consent if it does not already exist.

func (ConsentStoreOutput) Labels

User-supplied key-value pairs used to organize Consent stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}` Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}` No more than 64 labels can be associated with a given store. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effectiveLabels` for all of the labels present on the resource.

func (ConsentStoreOutput) Name

The name of this ConsentStore, for example: "consent1"

func (ConsentStoreOutput) PulumiLabels

func (o ConsentStoreOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (ConsentStoreOutput) ToConsentStoreOutput

func (o ConsentStoreOutput) ToConsentStoreOutput() ConsentStoreOutput

func (ConsentStoreOutput) ToConsentStoreOutputWithContext

func (o ConsentStoreOutput) ToConsentStoreOutputWithContext(ctx context.Context) ConsentStoreOutput

type ConsentStoreState

type ConsentStoreState struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringPtrInput
	// Default time to live for consents in this store. Must be at least 24 hours. Updating this field will not affect the expiration time of existing consents.
	// A duration in seconds with up to nine fractional digits, terminated by 's'. Example: "3.5s".
	DefaultConsentTtl pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// If true, [consents.patch] [google.cloud.healthcare.v1.consent.UpdateConsent] creates the consent if it does not already exist.
	EnableConsentCreateOnUpdate pulumi.BoolPtrInput
	// User-supplied key-value pairs used to organize Consent stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: `[\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}`
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: `[\p{Ll}\p{Lo}\p{N}_-]{0,63}`
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The name of this ConsentStore, for example:
	// "consent1"
	Name pulumi.StringPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
}

func (ConsentStoreState) ElementType

func (ConsentStoreState) ElementType() reflect.Type

type Dataset

type Dataset struct {
	pulumi.CustomResourceState

	// The location for the Dataset.
	//
	// ***
	Location pulumi.StringOutput `pulumi:"location"`
	// The resource name for the Dataset.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The fully qualified name of this dataset
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// The default timezone used by this dataset. Must be a either a valid IANA time zone name such as
	// "America/New_York" or empty, which defaults to UTC. This is used for parsing times in resources
	// (e.g., HL7 messages) where no explicit timezone is specified.
	TimeZone pulumi.StringOutput `pulumi:"timeZone"`
}

A Healthcare `Dataset` is a toplevel logical grouping of `dicomStores`, `fhirStores` and `hl7V2Stores`.

To get more information about Dataset, see:

* [API documentation](https://cloud.google.com/healthcare/docs/reference/rest/v1/projects.locations.datasets) * How-to Guides

## Example Usage

### Healthcare Dataset Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDataset(ctx, "default", &healthcare.DatasetArgs{
			Name:     pulumi.String("example-dataset"),
			Location: pulumi.String("us-central1"),
			TimeZone: pulumi.String("UTC"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Dataset can be imported using any of these accepted formats:

* `projects/{{project}}/locations/{{location}}/datasets/{{name}}`

* `{{project}}/{{location}}/{{name}}`

* `{{location}}/{{name}}`

When using the `pulumi import` command, Dataset can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:healthcare/dataset:Dataset default projects/{{project}}/locations/{{location}}/datasets/{{name}} ```

```sh $ pulumi import gcp:healthcare/dataset:Dataset default {{project}}/{{location}}/{{name}} ```

```sh $ pulumi import gcp:healthcare/dataset:Dataset default {{location}}/{{name}} ```

func GetDataset

func GetDataset(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatasetState, opts ...pulumi.ResourceOption) (*Dataset, error)

GetDataset gets an existing Dataset resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDataset

func NewDataset(ctx *pulumi.Context,
	name string, args *DatasetArgs, opts ...pulumi.ResourceOption) (*Dataset, error)

NewDataset registers a new resource with the given unique name, arguments, and options.

func (*Dataset) ElementType

func (*Dataset) ElementType() reflect.Type

func (*Dataset) ToDatasetOutput

func (i *Dataset) ToDatasetOutput() DatasetOutput

func (*Dataset) ToDatasetOutputWithContext

func (i *Dataset) ToDatasetOutputWithContext(ctx context.Context) DatasetOutput

type DatasetArgs

type DatasetArgs struct {
	// The location for the Dataset.
	//
	// ***
	Location pulumi.StringInput
	// The resource name for the Dataset.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The default timezone used by this dataset. Must be a either a valid IANA time zone name such as
	// "America/New_York" or empty, which defaults to UTC. This is used for parsing times in resources
	// (e.g., HL7 messages) where no explicit timezone is specified.
	TimeZone pulumi.StringPtrInput
}

The set of arguments for constructing a Dataset resource.

func (DatasetArgs) ElementType

func (DatasetArgs) ElementType() reflect.Type

type DatasetArray

type DatasetArray []DatasetInput

func (DatasetArray) ElementType

func (DatasetArray) ElementType() reflect.Type

func (DatasetArray) ToDatasetArrayOutput

func (i DatasetArray) ToDatasetArrayOutput() DatasetArrayOutput

func (DatasetArray) ToDatasetArrayOutputWithContext

func (i DatasetArray) ToDatasetArrayOutputWithContext(ctx context.Context) DatasetArrayOutput

type DatasetArrayInput

type DatasetArrayInput interface {
	pulumi.Input

	ToDatasetArrayOutput() DatasetArrayOutput
	ToDatasetArrayOutputWithContext(context.Context) DatasetArrayOutput
}

DatasetArrayInput is an input type that accepts DatasetArray and DatasetArrayOutput values. You can construct a concrete instance of `DatasetArrayInput` via:

DatasetArray{ DatasetArgs{...} }

type DatasetArrayOutput

type DatasetArrayOutput struct{ *pulumi.OutputState }

func (DatasetArrayOutput) ElementType

func (DatasetArrayOutput) ElementType() reflect.Type

func (DatasetArrayOutput) Index

func (DatasetArrayOutput) ToDatasetArrayOutput

func (o DatasetArrayOutput) ToDatasetArrayOutput() DatasetArrayOutput

func (DatasetArrayOutput) ToDatasetArrayOutputWithContext

func (o DatasetArrayOutput) ToDatasetArrayOutputWithContext(ctx context.Context) DatasetArrayOutput

type DatasetIamBinding

type DatasetIamBinding struct {
	pulumi.CustomResourceState

	Condition DatasetIamBindingConditionPtrOutput `pulumi:"condition"`
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringOutput `pulumi:"datasetId"`
	// (Computed) The etag of the dataset's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The role that should be applied. Only one
	// `healthcare.DatasetIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Healthcare dataset. Each of these resources serves a different use case:

* `healthcare.DatasetIamPolicy`: Authoritative. Sets the IAM policy for the dataset and replaces any existing policy already attached. * `healthcare.DatasetIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the dataset are preserved. * `healthcare.DatasetIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the dataset are preserved.

> **Note:** `healthcare.DatasetIamPolicy` **cannot** be used in conjunction with `healthcare.DatasetIamBinding` and `healthcare.DatasetIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.DatasetIamBinding` resources **can be** used in conjunction with `healthcare.DatasetIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_dataset\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDatasetIamPolicy(ctx, "dataset", &healthcare.DatasetIamPolicyArgs{
			DatasetId:  pulumi.String("your-dataset-id"),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamBinding(ctx, "dataset", &healthcare.DatasetIamBindingArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamMember(ctx, "dataset", &healthcare.DatasetIamMemberArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Member:    pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDatasetIamPolicy(ctx, "dataset", &healthcare.DatasetIamPolicyArgs{
			DatasetId:  pulumi.String("your-dataset-id"),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamBinding(ctx, "dataset", &healthcare.DatasetIamBindingArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamMember(ctx, "dataset", &healthcare.DatasetIamMemberArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Member:    pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Healthcase Dataset resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}"

to = google_healthcare_dataset_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/datasetIamBinding:DatasetIamBinding default {{project_id}}/{{location}}/{{dataset}} ```

func GetDatasetIamBinding

func GetDatasetIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatasetIamBindingState, opts ...pulumi.ResourceOption) (*DatasetIamBinding, error)

GetDatasetIamBinding gets an existing DatasetIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatasetIamBinding

func NewDatasetIamBinding(ctx *pulumi.Context,
	name string, args *DatasetIamBindingArgs, opts ...pulumi.ResourceOption) (*DatasetIamBinding, error)

NewDatasetIamBinding registers a new resource with the given unique name, arguments, and options.

func (*DatasetIamBinding) ElementType

func (*DatasetIamBinding) ElementType() reflect.Type

func (*DatasetIamBinding) ToDatasetIamBindingOutput

func (i *DatasetIamBinding) ToDatasetIamBindingOutput() DatasetIamBindingOutput

func (*DatasetIamBinding) ToDatasetIamBindingOutputWithContext

func (i *DatasetIamBinding) ToDatasetIamBindingOutputWithContext(ctx context.Context) DatasetIamBindingOutput

type DatasetIamBindingArgs

type DatasetIamBindingArgs struct {
	Condition DatasetIamBindingConditionPtrInput
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.DatasetIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a DatasetIamBinding resource.

func (DatasetIamBindingArgs) ElementType

func (DatasetIamBindingArgs) ElementType() reflect.Type

type DatasetIamBindingArray

type DatasetIamBindingArray []DatasetIamBindingInput

func (DatasetIamBindingArray) ElementType

func (DatasetIamBindingArray) ElementType() reflect.Type

func (DatasetIamBindingArray) ToDatasetIamBindingArrayOutput

func (i DatasetIamBindingArray) ToDatasetIamBindingArrayOutput() DatasetIamBindingArrayOutput

func (DatasetIamBindingArray) ToDatasetIamBindingArrayOutputWithContext

func (i DatasetIamBindingArray) ToDatasetIamBindingArrayOutputWithContext(ctx context.Context) DatasetIamBindingArrayOutput

type DatasetIamBindingArrayInput

type DatasetIamBindingArrayInput interface {
	pulumi.Input

	ToDatasetIamBindingArrayOutput() DatasetIamBindingArrayOutput
	ToDatasetIamBindingArrayOutputWithContext(context.Context) DatasetIamBindingArrayOutput
}

DatasetIamBindingArrayInput is an input type that accepts DatasetIamBindingArray and DatasetIamBindingArrayOutput values. You can construct a concrete instance of `DatasetIamBindingArrayInput` via:

DatasetIamBindingArray{ DatasetIamBindingArgs{...} }

type DatasetIamBindingArrayOutput

type DatasetIamBindingArrayOutput struct{ *pulumi.OutputState }

func (DatasetIamBindingArrayOutput) ElementType

func (DatasetIamBindingArrayOutput) Index

func (DatasetIamBindingArrayOutput) ToDatasetIamBindingArrayOutput

func (o DatasetIamBindingArrayOutput) ToDatasetIamBindingArrayOutput() DatasetIamBindingArrayOutput

func (DatasetIamBindingArrayOutput) ToDatasetIamBindingArrayOutputWithContext

func (o DatasetIamBindingArrayOutput) ToDatasetIamBindingArrayOutputWithContext(ctx context.Context) DatasetIamBindingArrayOutput

type DatasetIamBindingCondition

type DatasetIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type DatasetIamBindingConditionArgs

type DatasetIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (DatasetIamBindingConditionArgs) ElementType

func (DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionOutput

func (i DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionOutput() DatasetIamBindingConditionOutput

func (DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionOutputWithContext

func (i DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionOutputWithContext(ctx context.Context) DatasetIamBindingConditionOutput

func (DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionPtrOutput

func (i DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionPtrOutput() DatasetIamBindingConditionPtrOutput

func (DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionPtrOutputWithContext

func (i DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionPtrOutputWithContext(ctx context.Context) DatasetIamBindingConditionPtrOutput

type DatasetIamBindingConditionInput

type DatasetIamBindingConditionInput interface {
	pulumi.Input

	ToDatasetIamBindingConditionOutput() DatasetIamBindingConditionOutput
	ToDatasetIamBindingConditionOutputWithContext(context.Context) DatasetIamBindingConditionOutput
}

DatasetIamBindingConditionInput is an input type that accepts DatasetIamBindingConditionArgs and DatasetIamBindingConditionOutput values. You can construct a concrete instance of `DatasetIamBindingConditionInput` via:

DatasetIamBindingConditionArgs{...}

type DatasetIamBindingConditionOutput

type DatasetIamBindingConditionOutput struct{ *pulumi.OutputState }

func (DatasetIamBindingConditionOutput) Description

func (DatasetIamBindingConditionOutput) ElementType

func (DatasetIamBindingConditionOutput) Expression

func (DatasetIamBindingConditionOutput) Title

func (DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionOutput

func (o DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionOutput() DatasetIamBindingConditionOutput

func (DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionOutputWithContext

func (o DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionOutputWithContext(ctx context.Context) DatasetIamBindingConditionOutput

func (DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionPtrOutput

func (o DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionPtrOutput() DatasetIamBindingConditionPtrOutput

func (DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionPtrOutputWithContext

func (o DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionPtrOutputWithContext(ctx context.Context) DatasetIamBindingConditionPtrOutput

type DatasetIamBindingConditionPtrInput

type DatasetIamBindingConditionPtrInput interface {
	pulumi.Input

	ToDatasetIamBindingConditionPtrOutput() DatasetIamBindingConditionPtrOutput
	ToDatasetIamBindingConditionPtrOutputWithContext(context.Context) DatasetIamBindingConditionPtrOutput
}

DatasetIamBindingConditionPtrInput is an input type that accepts DatasetIamBindingConditionArgs, DatasetIamBindingConditionPtr and DatasetIamBindingConditionPtrOutput values. You can construct a concrete instance of `DatasetIamBindingConditionPtrInput` via:

        DatasetIamBindingConditionArgs{...}

or:

        nil

type DatasetIamBindingConditionPtrOutput

type DatasetIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (DatasetIamBindingConditionPtrOutput) Description

func (DatasetIamBindingConditionPtrOutput) Elem

func (DatasetIamBindingConditionPtrOutput) ElementType

func (DatasetIamBindingConditionPtrOutput) Expression

func (DatasetIamBindingConditionPtrOutput) Title

func (DatasetIamBindingConditionPtrOutput) ToDatasetIamBindingConditionPtrOutput

func (o DatasetIamBindingConditionPtrOutput) ToDatasetIamBindingConditionPtrOutput() DatasetIamBindingConditionPtrOutput

func (DatasetIamBindingConditionPtrOutput) ToDatasetIamBindingConditionPtrOutputWithContext

func (o DatasetIamBindingConditionPtrOutput) ToDatasetIamBindingConditionPtrOutputWithContext(ctx context.Context) DatasetIamBindingConditionPtrOutput

type DatasetIamBindingInput

type DatasetIamBindingInput interface {
	pulumi.Input

	ToDatasetIamBindingOutput() DatasetIamBindingOutput
	ToDatasetIamBindingOutputWithContext(ctx context.Context) DatasetIamBindingOutput
}

type DatasetIamBindingMap

type DatasetIamBindingMap map[string]DatasetIamBindingInput

func (DatasetIamBindingMap) ElementType

func (DatasetIamBindingMap) ElementType() reflect.Type

func (DatasetIamBindingMap) ToDatasetIamBindingMapOutput

func (i DatasetIamBindingMap) ToDatasetIamBindingMapOutput() DatasetIamBindingMapOutput

func (DatasetIamBindingMap) ToDatasetIamBindingMapOutputWithContext

func (i DatasetIamBindingMap) ToDatasetIamBindingMapOutputWithContext(ctx context.Context) DatasetIamBindingMapOutput

type DatasetIamBindingMapInput

type DatasetIamBindingMapInput interface {
	pulumi.Input

	ToDatasetIamBindingMapOutput() DatasetIamBindingMapOutput
	ToDatasetIamBindingMapOutputWithContext(context.Context) DatasetIamBindingMapOutput
}

DatasetIamBindingMapInput is an input type that accepts DatasetIamBindingMap and DatasetIamBindingMapOutput values. You can construct a concrete instance of `DatasetIamBindingMapInput` via:

DatasetIamBindingMap{ "key": DatasetIamBindingArgs{...} }

type DatasetIamBindingMapOutput

type DatasetIamBindingMapOutput struct{ *pulumi.OutputState }

func (DatasetIamBindingMapOutput) ElementType

func (DatasetIamBindingMapOutput) ElementType() reflect.Type

func (DatasetIamBindingMapOutput) MapIndex

func (DatasetIamBindingMapOutput) ToDatasetIamBindingMapOutput

func (o DatasetIamBindingMapOutput) ToDatasetIamBindingMapOutput() DatasetIamBindingMapOutput

func (DatasetIamBindingMapOutput) ToDatasetIamBindingMapOutputWithContext

func (o DatasetIamBindingMapOutput) ToDatasetIamBindingMapOutputWithContext(ctx context.Context) DatasetIamBindingMapOutput

type DatasetIamBindingOutput

type DatasetIamBindingOutput struct{ *pulumi.OutputState }

func (DatasetIamBindingOutput) Condition

func (DatasetIamBindingOutput) DatasetId

The dataset ID, in the form `{project_id}/{location_name}/{dataset_name}` or `{location_name}/{dataset_name}`. In the second form, the provider's project setting will be used as a fallback.

func (DatasetIamBindingOutput) ElementType

func (DatasetIamBindingOutput) ElementType() reflect.Type

func (DatasetIamBindingOutput) Etag

(Computed) The etag of the dataset's IAM policy.

func (DatasetIamBindingOutput) Members

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

func (DatasetIamBindingOutput) Role

The role that should be applied. Only one `healthcare.DatasetIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (DatasetIamBindingOutput) ToDatasetIamBindingOutput

func (o DatasetIamBindingOutput) ToDatasetIamBindingOutput() DatasetIamBindingOutput

func (DatasetIamBindingOutput) ToDatasetIamBindingOutputWithContext

func (o DatasetIamBindingOutput) ToDatasetIamBindingOutputWithContext(ctx context.Context) DatasetIamBindingOutput

type DatasetIamBindingState

type DatasetIamBindingState struct {
	Condition DatasetIamBindingConditionPtrInput
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringPtrInput
	// (Computed) The etag of the dataset's IAM policy.
	Etag pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.DatasetIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (DatasetIamBindingState) ElementType

func (DatasetIamBindingState) ElementType() reflect.Type

type DatasetIamMember

type DatasetIamMember struct {
	pulumi.CustomResourceState

	Condition DatasetIamMemberConditionPtrOutput `pulumi:"condition"`
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringOutput `pulumi:"datasetId"`
	// (Computed) The etag of the dataset's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `healthcare.DatasetIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Healthcare dataset. Each of these resources serves a different use case:

* `healthcare.DatasetIamPolicy`: Authoritative. Sets the IAM policy for the dataset and replaces any existing policy already attached. * `healthcare.DatasetIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the dataset are preserved. * `healthcare.DatasetIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the dataset are preserved.

> **Note:** `healthcare.DatasetIamPolicy` **cannot** be used in conjunction with `healthcare.DatasetIamBinding` and `healthcare.DatasetIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.DatasetIamBinding` resources **can be** used in conjunction with `healthcare.DatasetIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_dataset\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDatasetIamPolicy(ctx, "dataset", &healthcare.DatasetIamPolicyArgs{
			DatasetId:  pulumi.String("your-dataset-id"),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamBinding(ctx, "dataset", &healthcare.DatasetIamBindingArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamMember(ctx, "dataset", &healthcare.DatasetIamMemberArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Member:    pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDatasetIamPolicy(ctx, "dataset", &healthcare.DatasetIamPolicyArgs{
			DatasetId:  pulumi.String("your-dataset-id"),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamBinding(ctx, "dataset", &healthcare.DatasetIamBindingArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamMember(ctx, "dataset", &healthcare.DatasetIamMemberArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Member:    pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Healthcase Dataset resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}"

to = google_healthcare_dataset_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/datasetIamMember:DatasetIamMember default {{project_id}}/{{location}}/{{dataset}} ```

func GetDatasetIamMember

func GetDatasetIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatasetIamMemberState, opts ...pulumi.ResourceOption) (*DatasetIamMember, error)

GetDatasetIamMember gets an existing DatasetIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatasetIamMember

func NewDatasetIamMember(ctx *pulumi.Context,
	name string, args *DatasetIamMemberArgs, opts ...pulumi.ResourceOption) (*DatasetIamMember, error)

NewDatasetIamMember registers a new resource with the given unique name, arguments, and options.

func (*DatasetIamMember) ElementType

func (*DatasetIamMember) ElementType() reflect.Type

func (*DatasetIamMember) ToDatasetIamMemberOutput

func (i *DatasetIamMember) ToDatasetIamMemberOutput() DatasetIamMemberOutput

func (*DatasetIamMember) ToDatasetIamMemberOutputWithContext

func (i *DatasetIamMember) ToDatasetIamMemberOutputWithContext(ctx context.Context) DatasetIamMemberOutput

type DatasetIamMemberArgs

type DatasetIamMemberArgs struct {
	Condition DatasetIamMemberConditionPtrInput
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringInput
	// The role that should be applied. Only one
	// `healthcare.DatasetIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a DatasetIamMember resource.

func (DatasetIamMemberArgs) ElementType

func (DatasetIamMemberArgs) ElementType() reflect.Type

type DatasetIamMemberArray

type DatasetIamMemberArray []DatasetIamMemberInput

func (DatasetIamMemberArray) ElementType

func (DatasetIamMemberArray) ElementType() reflect.Type

func (DatasetIamMemberArray) ToDatasetIamMemberArrayOutput

func (i DatasetIamMemberArray) ToDatasetIamMemberArrayOutput() DatasetIamMemberArrayOutput

func (DatasetIamMemberArray) ToDatasetIamMemberArrayOutputWithContext

func (i DatasetIamMemberArray) ToDatasetIamMemberArrayOutputWithContext(ctx context.Context) DatasetIamMemberArrayOutput

type DatasetIamMemberArrayInput

type DatasetIamMemberArrayInput interface {
	pulumi.Input

	ToDatasetIamMemberArrayOutput() DatasetIamMemberArrayOutput
	ToDatasetIamMemberArrayOutputWithContext(context.Context) DatasetIamMemberArrayOutput
}

DatasetIamMemberArrayInput is an input type that accepts DatasetIamMemberArray and DatasetIamMemberArrayOutput values. You can construct a concrete instance of `DatasetIamMemberArrayInput` via:

DatasetIamMemberArray{ DatasetIamMemberArgs{...} }

type DatasetIamMemberArrayOutput

type DatasetIamMemberArrayOutput struct{ *pulumi.OutputState }

func (DatasetIamMemberArrayOutput) ElementType

func (DatasetIamMemberArrayOutput) Index

func (DatasetIamMemberArrayOutput) ToDatasetIamMemberArrayOutput

func (o DatasetIamMemberArrayOutput) ToDatasetIamMemberArrayOutput() DatasetIamMemberArrayOutput

func (DatasetIamMemberArrayOutput) ToDatasetIamMemberArrayOutputWithContext

func (o DatasetIamMemberArrayOutput) ToDatasetIamMemberArrayOutputWithContext(ctx context.Context) DatasetIamMemberArrayOutput

type DatasetIamMemberCondition

type DatasetIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type DatasetIamMemberConditionArgs

type DatasetIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (DatasetIamMemberConditionArgs) ElementType

func (DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionOutput

func (i DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionOutput() DatasetIamMemberConditionOutput

func (DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionOutputWithContext

func (i DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionOutputWithContext(ctx context.Context) DatasetIamMemberConditionOutput

func (DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionPtrOutput

func (i DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionPtrOutput() DatasetIamMemberConditionPtrOutput

func (DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionPtrOutputWithContext

func (i DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionPtrOutputWithContext(ctx context.Context) DatasetIamMemberConditionPtrOutput

type DatasetIamMemberConditionInput

type DatasetIamMemberConditionInput interface {
	pulumi.Input

	ToDatasetIamMemberConditionOutput() DatasetIamMemberConditionOutput
	ToDatasetIamMemberConditionOutputWithContext(context.Context) DatasetIamMemberConditionOutput
}

DatasetIamMemberConditionInput is an input type that accepts DatasetIamMemberConditionArgs and DatasetIamMemberConditionOutput values. You can construct a concrete instance of `DatasetIamMemberConditionInput` via:

DatasetIamMemberConditionArgs{...}

type DatasetIamMemberConditionOutput

type DatasetIamMemberConditionOutput struct{ *pulumi.OutputState }

func (DatasetIamMemberConditionOutput) Description

func (DatasetIamMemberConditionOutput) ElementType

func (DatasetIamMemberConditionOutput) Expression

func (DatasetIamMemberConditionOutput) Title

func (DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionOutput

func (o DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionOutput() DatasetIamMemberConditionOutput

func (DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionOutputWithContext

func (o DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionOutputWithContext(ctx context.Context) DatasetIamMemberConditionOutput

func (DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionPtrOutput

func (o DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionPtrOutput() DatasetIamMemberConditionPtrOutput

func (DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionPtrOutputWithContext

func (o DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionPtrOutputWithContext(ctx context.Context) DatasetIamMemberConditionPtrOutput

type DatasetIamMemberConditionPtrInput

type DatasetIamMemberConditionPtrInput interface {
	pulumi.Input

	ToDatasetIamMemberConditionPtrOutput() DatasetIamMemberConditionPtrOutput
	ToDatasetIamMemberConditionPtrOutputWithContext(context.Context) DatasetIamMemberConditionPtrOutput
}

DatasetIamMemberConditionPtrInput is an input type that accepts DatasetIamMemberConditionArgs, DatasetIamMemberConditionPtr and DatasetIamMemberConditionPtrOutput values. You can construct a concrete instance of `DatasetIamMemberConditionPtrInput` via:

        DatasetIamMemberConditionArgs{...}

or:

        nil

type DatasetIamMemberConditionPtrOutput

type DatasetIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (DatasetIamMemberConditionPtrOutput) Description

func (DatasetIamMemberConditionPtrOutput) Elem

func (DatasetIamMemberConditionPtrOutput) ElementType

func (DatasetIamMemberConditionPtrOutput) Expression

func (DatasetIamMemberConditionPtrOutput) Title

func (DatasetIamMemberConditionPtrOutput) ToDatasetIamMemberConditionPtrOutput

func (o DatasetIamMemberConditionPtrOutput) ToDatasetIamMemberConditionPtrOutput() DatasetIamMemberConditionPtrOutput

func (DatasetIamMemberConditionPtrOutput) ToDatasetIamMemberConditionPtrOutputWithContext

func (o DatasetIamMemberConditionPtrOutput) ToDatasetIamMemberConditionPtrOutputWithContext(ctx context.Context) DatasetIamMemberConditionPtrOutput

type DatasetIamMemberInput

type DatasetIamMemberInput interface {
	pulumi.Input

	ToDatasetIamMemberOutput() DatasetIamMemberOutput
	ToDatasetIamMemberOutputWithContext(ctx context.Context) DatasetIamMemberOutput
}

type DatasetIamMemberMap

type DatasetIamMemberMap map[string]DatasetIamMemberInput

func (DatasetIamMemberMap) ElementType

func (DatasetIamMemberMap) ElementType() reflect.Type

func (DatasetIamMemberMap) ToDatasetIamMemberMapOutput

func (i DatasetIamMemberMap) ToDatasetIamMemberMapOutput() DatasetIamMemberMapOutput

func (DatasetIamMemberMap) ToDatasetIamMemberMapOutputWithContext

func (i DatasetIamMemberMap) ToDatasetIamMemberMapOutputWithContext(ctx context.Context) DatasetIamMemberMapOutput

type DatasetIamMemberMapInput

type DatasetIamMemberMapInput interface {
	pulumi.Input

	ToDatasetIamMemberMapOutput() DatasetIamMemberMapOutput
	ToDatasetIamMemberMapOutputWithContext(context.Context) DatasetIamMemberMapOutput
}

DatasetIamMemberMapInput is an input type that accepts DatasetIamMemberMap and DatasetIamMemberMapOutput values. You can construct a concrete instance of `DatasetIamMemberMapInput` via:

DatasetIamMemberMap{ "key": DatasetIamMemberArgs{...} }

type DatasetIamMemberMapOutput

type DatasetIamMemberMapOutput struct{ *pulumi.OutputState }

func (DatasetIamMemberMapOutput) ElementType

func (DatasetIamMemberMapOutput) ElementType() reflect.Type

func (DatasetIamMemberMapOutput) MapIndex

func (DatasetIamMemberMapOutput) ToDatasetIamMemberMapOutput

func (o DatasetIamMemberMapOutput) ToDatasetIamMemberMapOutput() DatasetIamMemberMapOutput

func (DatasetIamMemberMapOutput) ToDatasetIamMemberMapOutputWithContext

func (o DatasetIamMemberMapOutput) ToDatasetIamMemberMapOutputWithContext(ctx context.Context) DatasetIamMemberMapOutput

type DatasetIamMemberOutput

type DatasetIamMemberOutput struct{ *pulumi.OutputState }

func (DatasetIamMemberOutput) Condition

func (DatasetIamMemberOutput) DatasetId

The dataset ID, in the form `{project_id}/{location_name}/{dataset_name}` or `{location_name}/{dataset_name}`. In the second form, the provider's project setting will be used as a fallback.

func (DatasetIamMemberOutput) ElementType

func (DatasetIamMemberOutput) ElementType() reflect.Type

func (DatasetIamMemberOutput) Etag

(Computed) The etag of the dataset's IAM policy.

func (DatasetIamMemberOutput) Member

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

func (DatasetIamMemberOutput) Role

The role that should be applied. Only one `healthcare.DatasetIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (DatasetIamMemberOutput) ToDatasetIamMemberOutput

func (o DatasetIamMemberOutput) ToDatasetIamMemberOutput() DatasetIamMemberOutput

func (DatasetIamMemberOutput) ToDatasetIamMemberOutputWithContext

func (o DatasetIamMemberOutput) ToDatasetIamMemberOutputWithContext(ctx context.Context) DatasetIamMemberOutput

type DatasetIamMemberState

type DatasetIamMemberState struct {
	Condition DatasetIamMemberConditionPtrInput
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringPtrInput
	// (Computed) The etag of the dataset's IAM policy.
	Etag pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `healthcare.DatasetIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (DatasetIamMemberState) ElementType

func (DatasetIamMemberState) ElementType() reflect.Type

type DatasetIamPolicy

type DatasetIamPolicy struct {
	pulumi.CustomResourceState

	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringOutput `pulumi:"datasetId"`
	// (Computed) The etag of the dataset's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
}

Three different resources help you manage your IAM policy for Healthcare dataset. Each of these resources serves a different use case:

* `healthcare.DatasetIamPolicy`: Authoritative. Sets the IAM policy for the dataset and replaces any existing policy already attached. * `healthcare.DatasetIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the dataset are preserved. * `healthcare.DatasetIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the dataset are preserved.

> **Note:** `healthcare.DatasetIamPolicy` **cannot** be used in conjunction with `healthcare.DatasetIamBinding` and `healthcare.DatasetIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.DatasetIamBinding` resources **can be** used in conjunction with `healthcare.DatasetIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_dataset\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDatasetIamPolicy(ctx, "dataset", &healthcare.DatasetIamPolicyArgs{
			DatasetId:  pulumi.String("your-dataset-id"),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamBinding(ctx, "dataset", &healthcare.DatasetIamBindingArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamMember(ctx, "dataset", &healthcare.DatasetIamMemberArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Member:    pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDatasetIamPolicy(ctx, "dataset", &healthcare.DatasetIamPolicyArgs{
			DatasetId:  pulumi.String("your-dataset-id"),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamBinding(ctx, "dataset", &healthcare.DatasetIamBindingArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDatasetIamMember(ctx, "dataset", &healthcare.DatasetIamMemberArgs{
			DatasetId: pulumi.String("your-dataset-id"),
			Role:      pulumi.String("roles/editor"),
			Member:    pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Healthcase Dataset resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}"

to = google_healthcare_dataset_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/datasetIamPolicy:DatasetIamPolicy default {{project_id}}/{{location}}/{{dataset}} ```

func GetDatasetIamPolicy

func GetDatasetIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatasetIamPolicyState, opts ...pulumi.ResourceOption) (*DatasetIamPolicy, error)

GetDatasetIamPolicy gets an existing DatasetIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDatasetIamPolicy

func NewDatasetIamPolicy(ctx *pulumi.Context,
	name string, args *DatasetIamPolicyArgs, opts ...pulumi.ResourceOption) (*DatasetIamPolicy, error)

NewDatasetIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*DatasetIamPolicy) ElementType

func (*DatasetIamPolicy) ElementType() reflect.Type

func (*DatasetIamPolicy) ToDatasetIamPolicyOutput

func (i *DatasetIamPolicy) ToDatasetIamPolicyOutput() DatasetIamPolicyOutput

func (*DatasetIamPolicy) ToDatasetIamPolicyOutputWithContext

func (i *DatasetIamPolicy) ToDatasetIamPolicyOutputWithContext(ctx context.Context) DatasetIamPolicyOutput

type DatasetIamPolicyArgs

type DatasetIamPolicyArgs struct {
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a DatasetIamPolicy resource.

func (DatasetIamPolicyArgs) ElementType

func (DatasetIamPolicyArgs) ElementType() reflect.Type

type DatasetIamPolicyArray

type DatasetIamPolicyArray []DatasetIamPolicyInput

func (DatasetIamPolicyArray) ElementType

func (DatasetIamPolicyArray) ElementType() reflect.Type

func (DatasetIamPolicyArray) ToDatasetIamPolicyArrayOutput

func (i DatasetIamPolicyArray) ToDatasetIamPolicyArrayOutput() DatasetIamPolicyArrayOutput

func (DatasetIamPolicyArray) ToDatasetIamPolicyArrayOutputWithContext

func (i DatasetIamPolicyArray) ToDatasetIamPolicyArrayOutputWithContext(ctx context.Context) DatasetIamPolicyArrayOutput

type DatasetIamPolicyArrayInput

type DatasetIamPolicyArrayInput interface {
	pulumi.Input

	ToDatasetIamPolicyArrayOutput() DatasetIamPolicyArrayOutput
	ToDatasetIamPolicyArrayOutputWithContext(context.Context) DatasetIamPolicyArrayOutput
}

DatasetIamPolicyArrayInput is an input type that accepts DatasetIamPolicyArray and DatasetIamPolicyArrayOutput values. You can construct a concrete instance of `DatasetIamPolicyArrayInput` via:

DatasetIamPolicyArray{ DatasetIamPolicyArgs{...} }

type DatasetIamPolicyArrayOutput

type DatasetIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (DatasetIamPolicyArrayOutput) ElementType

func (DatasetIamPolicyArrayOutput) Index

func (DatasetIamPolicyArrayOutput) ToDatasetIamPolicyArrayOutput

func (o DatasetIamPolicyArrayOutput) ToDatasetIamPolicyArrayOutput() DatasetIamPolicyArrayOutput

func (DatasetIamPolicyArrayOutput) ToDatasetIamPolicyArrayOutputWithContext

func (o DatasetIamPolicyArrayOutput) ToDatasetIamPolicyArrayOutputWithContext(ctx context.Context) DatasetIamPolicyArrayOutput

type DatasetIamPolicyInput

type DatasetIamPolicyInput interface {
	pulumi.Input

	ToDatasetIamPolicyOutput() DatasetIamPolicyOutput
	ToDatasetIamPolicyOutputWithContext(ctx context.Context) DatasetIamPolicyOutput
}

type DatasetIamPolicyMap

type DatasetIamPolicyMap map[string]DatasetIamPolicyInput

func (DatasetIamPolicyMap) ElementType

func (DatasetIamPolicyMap) ElementType() reflect.Type

func (DatasetIamPolicyMap) ToDatasetIamPolicyMapOutput

func (i DatasetIamPolicyMap) ToDatasetIamPolicyMapOutput() DatasetIamPolicyMapOutput

func (DatasetIamPolicyMap) ToDatasetIamPolicyMapOutputWithContext

func (i DatasetIamPolicyMap) ToDatasetIamPolicyMapOutputWithContext(ctx context.Context) DatasetIamPolicyMapOutput

type DatasetIamPolicyMapInput

type DatasetIamPolicyMapInput interface {
	pulumi.Input

	ToDatasetIamPolicyMapOutput() DatasetIamPolicyMapOutput
	ToDatasetIamPolicyMapOutputWithContext(context.Context) DatasetIamPolicyMapOutput
}

DatasetIamPolicyMapInput is an input type that accepts DatasetIamPolicyMap and DatasetIamPolicyMapOutput values. You can construct a concrete instance of `DatasetIamPolicyMapInput` via:

DatasetIamPolicyMap{ "key": DatasetIamPolicyArgs{...} }

type DatasetIamPolicyMapOutput

type DatasetIamPolicyMapOutput struct{ *pulumi.OutputState }

func (DatasetIamPolicyMapOutput) ElementType

func (DatasetIamPolicyMapOutput) ElementType() reflect.Type

func (DatasetIamPolicyMapOutput) MapIndex

func (DatasetIamPolicyMapOutput) ToDatasetIamPolicyMapOutput

func (o DatasetIamPolicyMapOutput) ToDatasetIamPolicyMapOutput() DatasetIamPolicyMapOutput

func (DatasetIamPolicyMapOutput) ToDatasetIamPolicyMapOutputWithContext

func (o DatasetIamPolicyMapOutput) ToDatasetIamPolicyMapOutputWithContext(ctx context.Context) DatasetIamPolicyMapOutput

type DatasetIamPolicyOutput

type DatasetIamPolicyOutput struct{ *pulumi.OutputState }

func (DatasetIamPolicyOutput) DatasetId

The dataset ID, in the form `{project_id}/{location_name}/{dataset_name}` or `{location_name}/{dataset_name}`. In the second form, the provider's project setting will be used as a fallback.

func (DatasetIamPolicyOutput) ElementType

func (DatasetIamPolicyOutput) ElementType() reflect.Type

func (DatasetIamPolicyOutput) Etag

(Computed) The etag of the dataset's IAM policy.

func (DatasetIamPolicyOutput) PolicyData

The policy data generated by a `organizations.getIAMPolicy` data source.

func (DatasetIamPolicyOutput) ToDatasetIamPolicyOutput

func (o DatasetIamPolicyOutput) ToDatasetIamPolicyOutput() DatasetIamPolicyOutput

func (DatasetIamPolicyOutput) ToDatasetIamPolicyOutputWithContext

func (o DatasetIamPolicyOutput) ToDatasetIamPolicyOutputWithContext(ctx context.Context) DatasetIamPolicyOutput

type DatasetIamPolicyState

type DatasetIamPolicyState struct {
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringPtrInput
	// (Computed) The etag of the dataset's IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
}

func (DatasetIamPolicyState) ElementType

func (DatasetIamPolicyState) ElementType() reflect.Type

type DatasetInput

type DatasetInput interface {
	pulumi.Input

	ToDatasetOutput() DatasetOutput
	ToDatasetOutputWithContext(ctx context.Context) DatasetOutput
}

type DatasetMap

type DatasetMap map[string]DatasetInput

func (DatasetMap) ElementType

func (DatasetMap) ElementType() reflect.Type

func (DatasetMap) ToDatasetMapOutput

func (i DatasetMap) ToDatasetMapOutput() DatasetMapOutput

func (DatasetMap) ToDatasetMapOutputWithContext

func (i DatasetMap) ToDatasetMapOutputWithContext(ctx context.Context) DatasetMapOutput

type DatasetMapInput

type DatasetMapInput interface {
	pulumi.Input

	ToDatasetMapOutput() DatasetMapOutput
	ToDatasetMapOutputWithContext(context.Context) DatasetMapOutput
}

DatasetMapInput is an input type that accepts DatasetMap and DatasetMapOutput values. You can construct a concrete instance of `DatasetMapInput` via:

DatasetMap{ "key": DatasetArgs{...} }

type DatasetMapOutput

type DatasetMapOutput struct{ *pulumi.OutputState }

func (DatasetMapOutput) ElementType

func (DatasetMapOutput) ElementType() reflect.Type

func (DatasetMapOutput) MapIndex

func (DatasetMapOutput) ToDatasetMapOutput

func (o DatasetMapOutput) ToDatasetMapOutput() DatasetMapOutput

func (DatasetMapOutput) ToDatasetMapOutputWithContext

func (o DatasetMapOutput) ToDatasetMapOutputWithContext(ctx context.Context) DatasetMapOutput

type DatasetOutput

type DatasetOutput struct{ *pulumi.OutputState }

func (DatasetOutput) ElementType

func (DatasetOutput) ElementType() reflect.Type

func (DatasetOutput) Location

func (o DatasetOutput) Location() pulumi.StringOutput

The location for the Dataset.

***

func (DatasetOutput) Name

The resource name for the Dataset.

func (DatasetOutput) Project

func (o DatasetOutput) Project() pulumi.StringOutput

The ID of the project in which the resource belongs. If it is not provided, the provider project is used.

func (o DatasetOutput) SelfLink() pulumi.StringOutput

The fully qualified name of this dataset

func (DatasetOutput) TimeZone

func (o DatasetOutput) TimeZone() pulumi.StringOutput

The default timezone used by this dataset. Must be a either a valid IANA time zone name such as "America/New_York" or empty, which defaults to UTC. This is used for parsing times in resources (e.g., HL7 messages) where no explicit timezone is specified.

func (DatasetOutput) ToDatasetOutput

func (o DatasetOutput) ToDatasetOutput() DatasetOutput

func (DatasetOutput) ToDatasetOutputWithContext

func (o DatasetOutput) ToDatasetOutputWithContext(ctx context.Context) DatasetOutput

type DatasetState

type DatasetState struct {
	// The location for the Dataset.
	//
	// ***
	Location pulumi.StringPtrInput
	// The resource name for the Dataset.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// The fully qualified name of this dataset
	SelfLink pulumi.StringPtrInput
	// The default timezone used by this dataset. Must be a either a valid IANA time zone name such as
	// "America/New_York" or empty, which defaults to UTC. This is used for parsing times in resources
	// (e.g., HL7 messages) where no explicit timezone is specified.
	TimeZone pulumi.StringPtrInput
}

func (DatasetState) ElementType

func (DatasetState) ElementType() reflect.Type

type DicomStore

type DicomStore struct {
	pulumi.CustomResourceState

	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// User-supplied key-value pairs used to organize DICOM stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The resource name for the DicomStore.
	// ** Changing this property may recreate the Dicom store (removing all data) **
	Name pulumi.StringOutput `pulumi:"name"`
	// A nested object resource
	// Structure is documented below.
	NotificationConfig DicomStoreNotificationConfigPtrOutput `pulumi:"notificationConfig"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// The fully qualified name of this dataset
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// To enable streaming to BigQuery, configure the streamConfigs object in your DICOM store.
	// streamConfigs is an array, so you can specify multiple BigQuery destinations. You can stream metadata from a single DICOM store to up to five BigQuery tables in a BigQuery dataset.
	// Structure is documented below.
	StreamConfigs DicomStoreStreamConfigArrayOutput `pulumi:"streamConfigs"`
}

A DicomStore is a datastore inside a Healthcare dataset that conforms to the DICOM (https://www.dicomstandard.org/about/) standard for Healthcare information exchange

To get more information about DicomStore, see:

* [API documentation](https://cloud.google.com/healthcare/docs/reference/rest/v1/projects.locations.datasets.dicomStores) * How-to Guides

## Example Usage

### Healthcare Dicom Store Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		topic, err := pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.String("dicom-notifications"),
		})
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Name:     pulumi.String("example-dataset"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewDicomStore(ctx, "default", &healthcare.DicomStoreArgs{
			Name:    pulumi.String("example-dicom-store"),
			Dataset: dataset.ID(),
			NotificationConfig: &healthcare.DicomStoreNotificationConfigArgs{
				PubsubTopic: topic.ID(),
			},
			Labels: pulumi.StringMap{
				"label1": pulumi.String("labelvalue1"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Dicom Store Bq Stream

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/bigquery"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		topic, err := pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.String("dicom-notifications"),
		})
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Name:     pulumi.String("example-dataset"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		bqDataset, err := bigquery.NewDataset(ctx, "bq_dataset", &bigquery.DatasetArgs{
			DatasetId:               pulumi.String("dicom_bq_ds"),
			FriendlyName:            pulumi.String("test"),
			Description:             pulumi.String("This is a test description"),
			Location:                pulumi.String("US"),
			DeleteContentsOnDestroy: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		bqTable, err := bigquery.NewTable(ctx, "bq_table", &bigquery.TableArgs{
			DeletionProtection: pulumi.Bool(false),
			DatasetId:          bqDataset.DatasetId,
			TableId:            pulumi.String("dicom_bq_tb"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewDicomStore(ctx, "default", &healthcare.DicomStoreArgs{
			Name:    pulumi.String("example-dicom-store"),
			Dataset: dataset.ID(),
			NotificationConfig: &healthcare.DicomStoreNotificationConfigArgs{
				PubsubTopic: topic.ID(),
			},
			Labels: pulumi.StringMap{
				"label1": pulumi.String("labelvalue1"),
			},
			StreamConfigs: healthcare.DicomStoreStreamConfigArray{
				&healthcare.DicomStoreStreamConfigArgs{
					BigqueryDestination: &healthcare.DicomStoreStreamConfigBigqueryDestinationArgs{
						TableUri: pulumi.All(bqDataset.Project, bqDataset.DatasetId, bqTable.TableId).ApplyT(func(_args []interface{}) (string, error) {
							project := _args[0].(string)
							datasetId := _args[1].(string)
							tableId := _args[2].(string)
							return fmt.Sprintf("bq://%v.%v.%v", project, datasetId, tableId), nil
						}).(pulumi.StringOutput),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DicomStore can be imported using any of these accepted formats:

* `{{dataset}}/dicomStores/{{name}}`

* `{{dataset}}/{{name}}`

When using the `pulumi import` command, DicomStore can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:healthcare/dicomStore:DicomStore default {{dataset}}/dicomStores/{{name}} ```

```sh $ pulumi import gcp:healthcare/dicomStore:DicomStore default {{dataset}}/{{name}} ```

func GetDicomStore

func GetDicomStore(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DicomStoreState, opts ...pulumi.ResourceOption) (*DicomStore, error)

GetDicomStore gets an existing DicomStore resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDicomStore

func NewDicomStore(ctx *pulumi.Context,
	name string, args *DicomStoreArgs, opts ...pulumi.ResourceOption) (*DicomStore, error)

NewDicomStore registers a new resource with the given unique name, arguments, and options.

func (*DicomStore) ElementType

func (*DicomStore) ElementType() reflect.Type

func (*DicomStore) ToDicomStoreOutput

func (i *DicomStore) ToDicomStoreOutput() DicomStoreOutput

func (*DicomStore) ToDicomStoreOutputWithContext

func (i *DicomStore) ToDicomStoreOutputWithContext(ctx context.Context) DicomStoreOutput

type DicomStoreArgs

type DicomStoreArgs struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringInput
	// User-supplied key-value pairs used to organize DICOM stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The resource name for the DicomStore.
	// ** Changing this property may recreate the Dicom store (removing all data) **
	Name pulumi.StringPtrInput
	// A nested object resource
	// Structure is documented below.
	NotificationConfig DicomStoreNotificationConfigPtrInput
	// To enable streaming to BigQuery, configure the streamConfigs object in your DICOM store.
	// streamConfigs is an array, so you can specify multiple BigQuery destinations. You can stream metadata from a single DICOM store to up to five BigQuery tables in a BigQuery dataset.
	// Structure is documented below.
	StreamConfigs DicomStoreStreamConfigArrayInput
}

The set of arguments for constructing a DicomStore resource.

func (DicomStoreArgs) ElementType

func (DicomStoreArgs) ElementType() reflect.Type

type DicomStoreArray

type DicomStoreArray []DicomStoreInput

func (DicomStoreArray) ElementType

func (DicomStoreArray) ElementType() reflect.Type

func (DicomStoreArray) ToDicomStoreArrayOutput

func (i DicomStoreArray) ToDicomStoreArrayOutput() DicomStoreArrayOutput

func (DicomStoreArray) ToDicomStoreArrayOutputWithContext

func (i DicomStoreArray) ToDicomStoreArrayOutputWithContext(ctx context.Context) DicomStoreArrayOutput

type DicomStoreArrayInput

type DicomStoreArrayInput interface {
	pulumi.Input

	ToDicomStoreArrayOutput() DicomStoreArrayOutput
	ToDicomStoreArrayOutputWithContext(context.Context) DicomStoreArrayOutput
}

DicomStoreArrayInput is an input type that accepts DicomStoreArray and DicomStoreArrayOutput values. You can construct a concrete instance of `DicomStoreArrayInput` via:

DicomStoreArray{ DicomStoreArgs{...} }

type DicomStoreArrayOutput

type DicomStoreArrayOutput struct{ *pulumi.OutputState }

func (DicomStoreArrayOutput) ElementType

func (DicomStoreArrayOutput) ElementType() reflect.Type

func (DicomStoreArrayOutput) Index

func (DicomStoreArrayOutput) ToDicomStoreArrayOutput

func (o DicomStoreArrayOutput) ToDicomStoreArrayOutput() DicomStoreArrayOutput

func (DicomStoreArrayOutput) ToDicomStoreArrayOutputWithContext

func (o DicomStoreArrayOutput) ToDicomStoreArrayOutputWithContext(ctx context.Context) DicomStoreArrayOutput

type DicomStoreIamBinding

type DicomStoreIamBinding struct {
	pulumi.CustomResourceState

	Condition DicomStoreIamBindingConditionPtrOutput `pulumi:"condition"`
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringOutput `pulumi:"dicomStoreId"`
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The role that should be applied. Only one
	// `healthcare.DicomStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Healthcare DICOM store. Each of these resources serves a different use case:

* `healthcare.DicomStoreIamPolicy`: Authoritative. Sets the IAM policy for the DICOM store and replaces any existing policy already attached. * `healthcare.DicomStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the DICOM store are preserved. * `healthcare.DicomStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the DICOM store are preserved.

> **Note:** `healthcare.DicomStoreIamPolicy` **cannot** be used in conjunction with `healthcare.DicomStoreIamBinding` and `healthcare.DicomStoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.DicomStoreIamBinding` resources **can be** used in conjunction with `healthcare.DicomStoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_dicom\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDicomStoreIamPolicy(ctx, "dicom_store", &healthcare.DicomStoreIamPolicyArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamBinding(ctx, "dicom_store", &healthcare.DicomStoreIamBindingArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamMember(ctx, "dicom_store", &healthcare.DicomStoreIamMemberArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDicomStoreIamPolicy(ctx, "dicom_store", &healthcare.DicomStoreIamPolicyArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamBinding(ctx, "dicom_store", &healthcare.DicomStoreIamBindingArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamMember(ctx, "dicom_store", &healthcare.DicomStoreIamMemberArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Healthcare DICOM store resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}/{{dicom_store}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}/{{dicom_store}}"

to = google_healthcare_dicom_store_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/dicomStoreIamBinding:DicomStoreIamBinding default {{project_id}}/{{location}}/{{dataset}}/{{dicom_store}} ```

func GetDicomStoreIamBinding

func GetDicomStoreIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DicomStoreIamBindingState, opts ...pulumi.ResourceOption) (*DicomStoreIamBinding, error)

GetDicomStoreIamBinding gets an existing DicomStoreIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDicomStoreIamBinding

func NewDicomStoreIamBinding(ctx *pulumi.Context,
	name string, args *DicomStoreIamBindingArgs, opts ...pulumi.ResourceOption) (*DicomStoreIamBinding, error)

NewDicomStoreIamBinding registers a new resource with the given unique name, arguments, and options.

func (*DicomStoreIamBinding) ElementType

func (*DicomStoreIamBinding) ElementType() reflect.Type

func (*DicomStoreIamBinding) ToDicomStoreIamBindingOutput

func (i *DicomStoreIamBinding) ToDicomStoreIamBindingOutput() DicomStoreIamBindingOutput

func (*DicomStoreIamBinding) ToDicomStoreIamBindingOutputWithContext

func (i *DicomStoreIamBinding) ToDicomStoreIamBindingOutputWithContext(ctx context.Context) DicomStoreIamBindingOutput

type DicomStoreIamBindingArgs

type DicomStoreIamBindingArgs struct {
	Condition DicomStoreIamBindingConditionPtrInput
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.DicomStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a DicomStoreIamBinding resource.

func (DicomStoreIamBindingArgs) ElementType

func (DicomStoreIamBindingArgs) ElementType() reflect.Type

type DicomStoreIamBindingArray

type DicomStoreIamBindingArray []DicomStoreIamBindingInput

func (DicomStoreIamBindingArray) ElementType

func (DicomStoreIamBindingArray) ElementType() reflect.Type

func (DicomStoreIamBindingArray) ToDicomStoreIamBindingArrayOutput

func (i DicomStoreIamBindingArray) ToDicomStoreIamBindingArrayOutput() DicomStoreIamBindingArrayOutput

func (DicomStoreIamBindingArray) ToDicomStoreIamBindingArrayOutputWithContext

func (i DicomStoreIamBindingArray) ToDicomStoreIamBindingArrayOutputWithContext(ctx context.Context) DicomStoreIamBindingArrayOutput

type DicomStoreIamBindingArrayInput

type DicomStoreIamBindingArrayInput interface {
	pulumi.Input

	ToDicomStoreIamBindingArrayOutput() DicomStoreIamBindingArrayOutput
	ToDicomStoreIamBindingArrayOutputWithContext(context.Context) DicomStoreIamBindingArrayOutput
}

DicomStoreIamBindingArrayInput is an input type that accepts DicomStoreIamBindingArray and DicomStoreIamBindingArrayOutput values. You can construct a concrete instance of `DicomStoreIamBindingArrayInput` via:

DicomStoreIamBindingArray{ DicomStoreIamBindingArgs{...} }

type DicomStoreIamBindingArrayOutput

type DicomStoreIamBindingArrayOutput struct{ *pulumi.OutputState }

func (DicomStoreIamBindingArrayOutput) ElementType

func (DicomStoreIamBindingArrayOutput) Index

func (DicomStoreIamBindingArrayOutput) ToDicomStoreIamBindingArrayOutput

func (o DicomStoreIamBindingArrayOutput) ToDicomStoreIamBindingArrayOutput() DicomStoreIamBindingArrayOutput

func (DicomStoreIamBindingArrayOutput) ToDicomStoreIamBindingArrayOutputWithContext

func (o DicomStoreIamBindingArrayOutput) ToDicomStoreIamBindingArrayOutputWithContext(ctx context.Context) DicomStoreIamBindingArrayOutput

type DicomStoreIamBindingCondition

type DicomStoreIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type DicomStoreIamBindingConditionArgs

type DicomStoreIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (DicomStoreIamBindingConditionArgs) ElementType

func (DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionOutput

func (i DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionOutput() DicomStoreIamBindingConditionOutput

func (DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionOutputWithContext

func (i DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionOutputWithContext(ctx context.Context) DicomStoreIamBindingConditionOutput

func (DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionPtrOutput

func (i DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionPtrOutput() DicomStoreIamBindingConditionPtrOutput

func (DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionPtrOutputWithContext

func (i DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionPtrOutputWithContext(ctx context.Context) DicomStoreIamBindingConditionPtrOutput

type DicomStoreIamBindingConditionInput

type DicomStoreIamBindingConditionInput interface {
	pulumi.Input

	ToDicomStoreIamBindingConditionOutput() DicomStoreIamBindingConditionOutput
	ToDicomStoreIamBindingConditionOutputWithContext(context.Context) DicomStoreIamBindingConditionOutput
}

DicomStoreIamBindingConditionInput is an input type that accepts DicomStoreIamBindingConditionArgs and DicomStoreIamBindingConditionOutput values. You can construct a concrete instance of `DicomStoreIamBindingConditionInput` via:

DicomStoreIamBindingConditionArgs{...}

type DicomStoreIamBindingConditionOutput

type DicomStoreIamBindingConditionOutput struct{ *pulumi.OutputState }

func (DicomStoreIamBindingConditionOutput) Description

func (DicomStoreIamBindingConditionOutput) ElementType

func (DicomStoreIamBindingConditionOutput) Expression

func (DicomStoreIamBindingConditionOutput) Title

func (DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionOutput

func (o DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionOutput() DicomStoreIamBindingConditionOutput

func (DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionOutputWithContext

func (o DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionOutputWithContext(ctx context.Context) DicomStoreIamBindingConditionOutput

func (DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionPtrOutput

func (o DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionPtrOutput() DicomStoreIamBindingConditionPtrOutput

func (DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionPtrOutputWithContext

func (o DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionPtrOutputWithContext(ctx context.Context) DicomStoreIamBindingConditionPtrOutput

type DicomStoreIamBindingConditionPtrInput

type DicomStoreIamBindingConditionPtrInput interface {
	pulumi.Input

	ToDicomStoreIamBindingConditionPtrOutput() DicomStoreIamBindingConditionPtrOutput
	ToDicomStoreIamBindingConditionPtrOutputWithContext(context.Context) DicomStoreIamBindingConditionPtrOutput
}

DicomStoreIamBindingConditionPtrInput is an input type that accepts DicomStoreIamBindingConditionArgs, DicomStoreIamBindingConditionPtr and DicomStoreIamBindingConditionPtrOutput values. You can construct a concrete instance of `DicomStoreIamBindingConditionPtrInput` via:

        DicomStoreIamBindingConditionArgs{...}

or:

        nil

type DicomStoreIamBindingConditionPtrOutput

type DicomStoreIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (DicomStoreIamBindingConditionPtrOutput) Description

func (DicomStoreIamBindingConditionPtrOutput) Elem

func (DicomStoreIamBindingConditionPtrOutput) ElementType

func (DicomStoreIamBindingConditionPtrOutput) Expression

func (DicomStoreIamBindingConditionPtrOutput) Title

func (DicomStoreIamBindingConditionPtrOutput) ToDicomStoreIamBindingConditionPtrOutput

func (o DicomStoreIamBindingConditionPtrOutput) ToDicomStoreIamBindingConditionPtrOutput() DicomStoreIamBindingConditionPtrOutput

func (DicomStoreIamBindingConditionPtrOutput) ToDicomStoreIamBindingConditionPtrOutputWithContext

func (o DicomStoreIamBindingConditionPtrOutput) ToDicomStoreIamBindingConditionPtrOutputWithContext(ctx context.Context) DicomStoreIamBindingConditionPtrOutput

type DicomStoreIamBindingInput

type DicomStoreIamBindingInput interface {
	pulumi.Input

	ToDicomStoreIamBindingOutput() DicomStoreIamBindingOutput
	ToDicomStoreIamBindingOutputWithContext(ctx context.Context) DicomStoreIamBindingOutput
}

type DicomStoreIamBindingMap

type DicomStoreIamBindingMap map[string]DicomStoreIamBindingInput

func (DicomStoreIamBindingMap) ElementType

func (DicomStoreIamBindingMap) ElementType() reflect.Type

func (DicomStoreIamBindingMap) ToDicomStoreIamBindingMapOutput

func (i DicomStoreIamBindingMap) ToDicomStoreIamBindingMapOutput() DicomStoreIamBindingMapOutput

func (DicomStoreIamBindingMap) ToDicomStoreIamBindingMapOutputWithContext

func (i DicomStoreIamBindingMap) ToDicomStoreIamBindingMapOutputWithContext(ctx context.Context) DicomStoreIamBindingMapOutput

type DicomStoreIamBindingMapInput

type DicomStoreIamBindingMapInput interface {
	pulumi.Input

	ToDicomStoreIamBindingMapOutput() DicomStoreIamBindingMapOutput
	ToDicomStoreIamBindingMapOutputWithContext(context.Context) DicomStoreIamBindingMapOutput
}

DicomStoreIamBindingMapInput is an input type that accepts DicomStoreIamBindingMap and DicomStoreIamBindingMapOutput values. You can construct a concrete instance of `DicomStoreIamBindingMapInput` via:

DicomStoreIamBindingMap{ "key": DicomStoreIamBindingArgs{...} }

type DicomStoreIamBindingMapOutput

type DicomStoreIamBindingMapOutput struct{ *pulumi.OutputState }

func (DicomStoreIamBindingMapOutput) ElementType

func (DicomStoreIamBindingMapOutput) MapIndex

func (DicomStoreIamBindingMapOutput) ToDicomStoreIamBindingMapOutput

func (o DicomStoreIamBindingMapOutput) ToDicomStoreIamBindingMapOutput() DicomStoreIamBindingMapOutput

func (DicomStoreIamBindingMapOutput) ToDicomStoreIamBindingMapOutputWithContext

func (o DicomStoreIamBindingMapOutput) ToDicomStoreIamBindingMapOutputWithContext(ctx context.Context) DicomStoreIamBindingMapOutput

type DicomStoreIamBindingOutput

type DicomStoreIamBindingOutput struct{ *pulumi.OutputState }

func (DicomStoreIamBindingOutput) Condition

func (DicomStoreIamBindingOutput) DicomStoreId

The DICOM store ID, in the form `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's project setting will be used as a fallback.

func (DicomStoreIamBindingOutput) ElementType

func (DicomStoreIamBindingOutput) ElementType() reflect.Type

func (DicomStoreIamBindingOutput) Etag

(Computed) The etag of the DICOM store's IAM policy.

func (DicomStoreIamBindingOutput) Members

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

func (DicomStoreIamBindingOutput) Role

The role that should be applied. Only one `healthcare.DicomStoreIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (DicomStoreIamBindingOutput) ToDicomStoreIamBindingOutput

func (o DicomStoreIamBindingOutput) ToDicomStoreIamBindingOutput() DicomStoreIamBindingOutput

func (DicomStoreIamBindingOutput) ToDicomStoreIamBindingOutputWithContext

func (o DicomStoreIamBindingOutput) ToDicomStoreIamBindingOutputWithContext(ctx context.Context) DicomStoreIamBindingOutput

type DicomStoreIamBindingState

type DicomStoreIamBindingState struct {
	Condition DicomStoreIamBindingConditionPtrInput
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringPtrInput
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.DicomStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (DicomStoreIamBindingState) ElementType

func (DicomStoreIamBindingState) ElementType() reflect.Type

type DicomStoreIamMember

type DicomStoreIamMember struct {
	pulumi.CustomResourceState

	Condition DicomStoreIamMemberConditionPtrOutput `pulumi:"condition"`
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringOutput `pulumi:"dicomStoreId"`
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `healthcare.DicomStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Healthcare DICOM store. Each of these resources serves a different use case:

* `healthcare.DicomStoreIamPolicy`: Authoritative. Sets the IAM policy for the DICOM store and replaces any existing policy already attached. * `healthcare.DicomStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the DICOM store are preserved. * `healthcare.DicomStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the DICOM store are preserved.

> **Note:** `healthcare.DicomStoreIamPolicy` **cannot** be used in conjunction with `healthcare.DicomStoreIamBinding` and `healthcare.DicomStoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.DicomStoreIamBinding` resources **can be** used in conjunction with `healthcare.DicomStoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_dicom\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDicomStoreIamPolicy(ctx, "dicom_store", &healthcare.DicomStoreIamPolicyArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamBinding(ctx, "dicom_store", &healthcare.DicomStoreIamBindingArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamMember(ctx, "dicom_store", &healthcare.DicomStoreIamMemberArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDicomStoreIamPolicy(ctx, "dicom_store", &healthcare.DicomStoreIamPolicyArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamBinding(ctx, "dicom_store", &healthcare.DicomStoreIamBindingArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamMember(ctx, "dicom_store", &healthcare.DicomStoreIamMemberArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Healthcare DICOM store resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}/{{dicom_store}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}/{{dicom_store}}"

to = google_healthcare_dicom_store_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/dicomStoreIamMember:DicomStoreIamMember default {{project_id}}/{{location}}/{{dataset}}/{{dicom_store}} ```

func GetDicomStoreIamMember

func GetDicomStoreIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DicomStoreIamMemberState, opts ...pulumi.ResourceOption) (*DicomStoreIamMember, error)

GetDicomStoreIamMember gets an existing DicomStoreIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDicomStoreIamMember

func NewDicomStoreIamMember(ctx *pulumi.Context,
	name string, args *DicomStoreIamMemberArgs, opts ...pulumi.ResourceOption) (*DicomStoreIamMember, error)

NewDicomStoreIamMember registers a new resource with the given unique name, arguments, and options.

func (*DicomStoreIamMember) ElementType

func (*DicomStoreIamMember) ElementType() reflect.Type

func (*DicomStoreIamMember) ToDicomStoreIamMemberOutput

func (i *DicomStoreIamMember) ToDicomStoreIamMemberOutput() DicomStoreIamMemberOutput

func (*DicomStoreIamMember) ToDicomStoreIamMemberOutputWithContext

func (i *DicomStoreIamMember) ToDicomStoreIamMemberOutputWithContext(ctx context.Context) DicomStoreIamMemberOutput

type DicomStoreIamMemberArgs

type DicomStoreIamMemberArgs struct {
	Condition DicomStoreIamMemberConditionPtrInput
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringInput
	// The role that should be applied. Only one
	// `healthcare.DicomStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a DicomStoreIamMember resource.

func (DicomStoreIamMemberArgs) ElementType

func (DicomStoreIamMemberArgs) ElementType() reflect.Type

type DicomStoreIamMemberArray

type DicomStoreIamMemberArray []DicomStoreIamMemberInput

func (DicomStoreIamMemberArray) ElementType

func (DicomStoreIamMemberArray) ElementType() reflect.Type

func (DicomStoreIamMemberArray) ToDicomStoreIamMemberArrayOutput

func (i DicomStoreIamMemberArray) ToDicomStoreIamMemberArrayOutput() DicomStoreIamMemberArrayOutput

func (DicomStoreIamMemberArray) ToDicomStoreIamMemberArrayOutputWithContext

func (i DicomStoreIamMemberArray) ToDicomStoreIamMemberArrayOutputWithContext(ctx context.Context) DicomStoreIamMemberArrayOutput

type DicomStoreIamMemberArrayInput

type DicomStoreIamMemberArrayInput interface {
	pulumi.Input

	ToDicomStoreIamMemberArrayOutput() DicomStoreIamMemberArrayOutput
	ToDicomStoreIamMemberArrayOutputWithContext(context.Context) DicomStoreIamMemberArrayOutput
}

DicomStoreIamMemberArrayInput is an input type that accepts DicomStoreIamMemberArray and DicomStoreIamMemberArrayOutput values. You can construct a concrete instance of `DicomStoreIamMemberArrayInput` via:

DicomStoreIamMemberArray{ DicomStoreIamMemberArgs{...} }

type DicomStoreIamMemberArrayOutput

type DicomStoreIamMemberArrayOutput struct{ *pulumi.OutputState }

func (DicomStoreIamMemberArrayOutput) ElementType

func (DicomStoreIamMemberArrayOutput) Index

func (DicomStoreIamMemberArrayOutput) ToDicomStoreIamMemberArrayOutput

func (o DicomStoreIamMemberArrayOutput) ToDicomStoreIamMemberArrayOutput() DicomStoreIamMemberArrayOutput

func (DicomStoreIamMemberArrayOutput) ToDicomStoreIamMemberArrayOutputWithContext

func (o DicomStoreIamMemberArrayOutput) ToDicomStoreIamMemberArrayOutputWithContext(ctx context.Context) DicomStoreIamMemberArrayOutput

type DicomStoreIamMemberCondition

type DicomStoreIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type DicomStoreIamMemberConditionArgs

type DicomStoreIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (DicomStoreIamMemberConditionArgs) ElementType

func (DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionOutput

func (i DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionOutput() DicomStoreIamMemberConditionOutput

func (DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionOutputWithContext

func (i DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionOutputWithContext(ctx context.Context) DicomStoreIamMemberConditionOutput

func (DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionPtrOutput

func (i DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionPtrOutput() DicomStoreIamMemberConditionPtrOutput

func (DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionPtrOutputWithContext

func (i DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionPtrOutputWithContext(ctx context.Context) DicomStoreIamMemberConditionPtrOutput

type DicomStoreIamMemberConditionInput

type DicomStoreIamMemberConditionInput interface {
	pulumi.Input

	ToDicomStoreIamMemberConditionOutput() DicomStoreIamMemberConditionOutput
	ToDicomStoreIamMemberConditionOutputWithContext(context.Context) DicomStoreIamMemberConditionOutput
}

DicomStoreIamMemberConditionInput is an input type that accepts DicomStoreIamMemberConditionArgs and DicomStoreIamMemberConditionOutput values. You can construct a concrete instance of `DicomStoreIamMemberConditionInput` via:

DicomStoreIamMemberConditionArgs{...}

type DicomStoreIamMemberConditionOutput

type DicomStoreIamMemberConditionOutput struct{ *pulumi.OutputState }

func (DicomStoreIamMemberConditionOutput) Description

func (DicomStoreIamMemberConditionOutput) ElementType

func (DicomStoreIamMemberConditionOutput) Expression

func (DicomStoreIamMemberConditionOutput) Title

func (DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionOutput

func (o DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionOutput() DicomStoreIamMemberConditionOutput

func (DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionOutputWithContext

func (o DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionOutputWithContext(ctx context.Context) DicomStoreIamMemberConditionOutput

func (DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionPtrOutput

func (o DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionPtrOutput() DicomStoreIamMemberConditionPtrOutput

func (DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionPtrOutputWithContext

func (o DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionPtrOutputWithContext(ctx context.Context) DicomStoreIamMemberConditionPtrOutput

type DicomStoreIamMemberConditionPtrInput

type DicomStoreIamMemberConditionPtrInput interface {
	pulumi.Input

	ToDicomStoreIamMemberConditionPtrOutput() DicomStoreIamMemberConditionPtrOutput
	ToDicomStoreIamMemberConditionPtrOutputWithContext(context.Context) DicomStoreIamMemberConditionPtrOutput
}

DicomStoreIamMemberConditionPtrInput is an input type that accepts DicomStoreIamMemberConditionArgs, DicomStoreIamMemberConditionPtr and DicomStoreIamMemberConditionPtrOutput values. You can construct a concrete instance of `DicomStoreIamMemberConditionPtrInput` via:

        DicomStoreIamMemberConditionArgs{...}

or:

        nil

type DicomStoreIamMemberConditionPtrOutput

type DicomStoreIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (DicomStoreIamMemberConditionPtrOutput) Description

func (DicomStoreIamMemberConditionPtrOutput) Elem

func (DicomStoreIamMemberConditionPtrOutput) ElementType

func (DicomStoreIamMemberConditionPtrOutput) Expression

func (DicomStoreIamMemberConditionPtrOutput) Title

func (DicomStoreIamMemberConditionPtrOutput) ToDicomStoreIamMemberConditionPtrOutput

func (o DicomStoreIamMemberConditionPtrOutput) ToDicomStoreIamMemberConditionPtrOutput() DicomStoreIamMemberConditionPtrOutput

func (DicomStoreIamMemberConditionPtrOutput) ToDicomStoreIamMemberConditionPtrOutputWithContext

func (o DicomStoreIamMemberConditionPtrOutput) ToDicomStoreIamMemberConditionPtrOutputWithContext(ctx context.Context) DicomStoreIamMemberConditionPtrOutput

type DicomStoreIamMemberInput

type DicomStoreIamMemberInput interface {
	pulumi.Input

	ToDicomStoreIamMemberOutput() DicomStoreIamMemberOutput
	ToDicomStoreIamMemberOutputWithContext(ctx context.Context) DicomStoreIamMemberOutput
}

type DicomStoreIamMemberMap

type DicomStoreIamMemberMap map[string]DicomStoreIamMemberInput

func (DicomStoreIamMemberMap) ElementType

func (DicomStoreIamMemberMap) ElementType() reflect.Type

func (DicomStoreIamMemberMap) ToDicomStoreIamMemberMapOutput

func (i DicomStoreIamMemberMap) ToDicomStoreIamMemberMapOutput() DicomStoreIamMemberMapOutput

func (DicomStoreIamMemberMap) ToDicomStoreIamMemberMapOutputWithContext

func (i DicomStoreIamMemberMap) ToDicomStoreIamMemberMapOutputWithContext(ctx context.Context) DicomStoreIamMemberMapOutput

type DicomStoreIamMemberMapInput

type DicomStoreIamMemberMapInput interface {
	pulumi.Input

	ToDicomStoreIamMemberMapOutput() DicomStoreIamMemberMapOutput
	ToDicomStoreIamMemberMapOutputWithContext(context.Context) DicomStoreIamMemberMapOutput
}

DicomStoreIamMemberMapInput is an input type that accepts DicomStoreIamMemberMap and DicomStoreIamMemberMapOutput values. You can construct a concrete instance of `DicomStoreIamMemberMapInput` via:

DicomStoreIamMemberMap{ "key": DicomStoreIamMemberArgs{...} }

type DicomStoreIamMemberMapOutput

type DicomStoreIamMemberMapOutput struct{ *pulumi.OutputState }

func (DicomStoreIamMemberMapOutput) ElementType

func (DicomStoreIamMemberMapOutput) MapIndex

func (DicomStoreIamMemberMapOutput) ToDicomStoreIamMemberMapOutput

func (o DicomStoreIamMemberMapOutput) ToDicomStoreIamMemberMapOutput() DicomStoreIamMemberMapOutput

func (DicomStoreIamMemberMapOutput) ToDicomStoreIamMemberMapOutputWithContext

func (o DicomStoreIamMemberMapOutput) ToDicomStoreIamMemberMapOutputWithContext(ctx context.Context) DicomStoreIamMemberMapOutput

type DicomStoreIamMemberOutput

type DicomStoreIamMemberOutput struct{ *pulumi.OutputState }

func (DicomStoreIamMemberOutput) Condition

func (DicomStoreIamMemberOutput) DicomStoreId

The DICOM store ID, in the form `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's project setting will be used as a fallback.

func (DicomStoreIamMemberOutput) ElementType

func (DicomStoreIamMemberOutput) ElementType() reflect.Type

func (DicomStoreIamMemberOutput) Etag

(Computed) The etag of the DICOM store's IAM policy.

func (DicomStoreIamMemberOutput) Member

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

func (DicomStoreIamMemberOutput) Role

The role that should be applied. Only one `healthcare.DicomStoreIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (DicomStoreIamMemberOutput) ToDicomStoreIamMemberOutput

func (o DicomStoreIamMemberOutput) ToDicomStoreIamMemberOutput() DicomStoreIamMemberOutput

func (DicomStoreIamMemberOutput) ToDicomStoreIamMemberOutputWithContext

func (o DicomStoreIamMemberOutput) ToDicomStoreIamMemberOutputWithContext(ctx context.Context) DicomStoreIamMemberOutput

type DicomStoreIamMemberState

type DicomStoreIamMemberState struct {
	Condition DicomStoreIamMemberConditionPtrInput
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringPtrInput
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `healthcare.DicomStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (DicomStoreIamMemberState) ElementType

func (DicomStoreIamMemberState) ElementType() reflect.Type

type DicomStoreIamPolicy

type DicomStoreIamPolicy struct {
	pulumi.CustomResourceState

	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringOutput `pulumi:"dicomStoreId"`
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
}

Three different resources help you manage your IAM policy for Healthcare DICOM store. Each of these resources serves a different use case:

* `healthcare.DicomStoreIamPolicy`: Authoritative. Sets the IAM policy for the DICOM store and replaces any existing policy already attached. * `healthcare.DicomStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the DICOM store are preserved. * `healthcare.DicomStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the DICOM store are preserved.

> **Note:** `healthcare.DicomStoreIamPolicy` **cannot** be used in conjunction with `healthcare.DicomStoreIamBinding` and `healthcare.DicomStoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.DicomStoreIamBinding` resources **can be** used in conjunction with `healthcare.DicomStoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_dicom\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDicomStoreIamPolicy(ctx, "dicom_store", &healthcare.DicomStoreIamPolicyArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamBinding(ctx, "dicom_store", &healthcare.DicomStoreIamBindingArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamMember(ctx, "dicom_store", &healthcare.DicomStoreIamMemberArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewDicomStoreIamPolicy(ctx, "dicom_store", &healthcare.DicomStoreIamPolicyArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamBinding(ctx, "dicom_store", &healthcare.DicomStoreIamBindingArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dicom\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewDicomStoreIamMember(ctx, "dicom_store", &healthcare.DicomStoreIamMemberArgs{
			DicomStoreId: pulumi.String("your-dicom-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Healthcare DICOM store resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}/{{dicom_store}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}/{{dicom_store}}"

to = google_healthcare_dicom_store_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/dicomStoreIamPolicy:DicomStoreIamPolicy default {{project_id}}/{{location}}/{{dataset}}/{{dicom_store}} ```

func GetDicomStoreIamPolicy

func GetDicomStoreIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DicomStoreIamPolicyState, opts ...pulumi.ResourceOption) (*DicomStoreIamPolicy, error)

GetDicomStoreIamPolicy gets an existing DicomStoreIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDicomStoreIamPolicy

func NewDicomStoreIamPolicy(ctx *pulumi.Context,
	name string, args *DicomStoreIamPolicyArgs, opts ...pulumi.ResourceOption) (*DicomStoreIamPolicy, error)

NewDicomStoreIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*DicomStoreIamPolicy) ElementType

func (*DicomStoreIamPolicy) ElementType() reflect.Type

func (*DicomStoreIamPolicy) ToDicomStoreIamPolicyOutput

func (i *DicomStoreIamPolicy) ToDicomStoreIamPolicyOutput() DicomStoreIamPolicyOutput

func (*DicomStoreIamPolicy) ToDicomStoreIamPolicyOutputWithContext

func (i *DicomStoreIamPolicy) ToDicomStoreIamPolicyOutputWithContext(ctx context.Context) DicomStoreIamPolicyOutput

type DicomStoreIamPolicyArgs

type DicomStoreIamPolicyArgs struct {
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a DicomStoreIamPolicy resource.

func (DicomStoreIamPolicyArgs) ElementType

func (DicomStoreIamPolicyArgs) ElementType() reflect.Type

type DicomStoreIamPolicyArray

type DicomStoreIamPolicyArray []DicomStoreIamPolicyInput

func (DicomStoreIamPolicyArray) ElementType

func (DicomStoreIamPolicyArray) ElementType() reflect.Type

func (DicomStoreIamPolicyArray) ToDicomStoreIamPolicyArrayOutput

func (i DicomStoreIamPolicyArray) ToDicomStoreIamPolicyArrayOutput() DicomStoreIamPolicyArrayOutput

func (DicomStoreIamPolicyArray) ToDicomStoreIamPolicyArrayOutputWithContext

func (i DicomStoreIamPolicyArray) ToDicomStoreIamPolicyArrayOutputWithContext(ctx context.Context) DicomStoreIamPolicyArrayOutput

type DicomStoreIamPolicyArrayInput

type DicomStoreIamPolicyArrayInput interface {
	pulumi.Input

	ToDicomStoreIamPolicyArrayOutput() DicomStoreIamPolicyArrayOutput
	ToDicomStoreIamPolicyArrayOutputWithContext(context.Context) DicomStoreIamPolicyArrayOutput
}

DicomStoreIamPolicyArrayInput is an input type that accepts DicomStoreIamPolicyArray and DicomStoreIamPolicyArrayOutput values. You can construct a concrete instance of `DicomStoreIamPolicyArrayInput` via:

DicomStoreIamPolicyArray{ DicomStoreIamPolicyArgs{...} }

type DicomStoreIamPolicyArrayOutput

type DicomStoreIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (DicomStoreIamPolicyArrayOutput) ElementType

func (DicomStoreIamPolicyArrayOutput) Index

func (DicomStoreIamPolicyArrayOutput) ToDicomStoreIamPolicyArrayOutput

func (o DicomStoreIamPolicyArrayOutput) ToDicomStoreIamPolicyArrayOutput() DicomStoreIamPolicyArrayOutput

func (DicomStoreIamPolicyArrayOutput) ToDicomStoreIamPolicyArrayOutputWithContext

func (o DicomStoreIamPolicyArrayOutput) ToDicomStoreIamPolicyArrayOutputWithContext(ctx context.Context) DicomStoreIamPolicyArrayOutput

type DicomStoreIamPolicyInput

type DicomStoreIamPolicyInput interface {
	pulumi.Input

	ToDicomStoreIamPolicyOutput() DicomStoreIamPolicyOutput
	ToDicomStoreIamPolicyOutputWithContext(ctx context.Context) DicomStoreIamPolicyOutput
}

type DicomStoreIamPolicyMap

type DicomStoreIamPolicyMap map[string]DicomStoreIamPolicyInput

func (DicomStoreIamPolicyMap) ElementType

func (DicomStoreIamPolicyMap) ElementType() reflect.Type

func (DicomStoreIamPolicyMap) ToDicomStoreIamPolicyMapOutput

func (i DicomStoreIamPolicyMap) ToDicomStoreIamPolicyMapOutput() DicomStoreIamPolicyMapOutput

func (DicomStoreIamPolicyMap) ToDicomStoreIamPolicyMapOutputWithContext

func (i DicomStoreIamPolicyMap) ToDicomStoreIamPolicyMapOutputWithContext(ctx context.Context) DicomStoreIamPolicyMapOutput

type DicomStoreIamPolicyMapInput

type DicomStoreIamPolicyMapInput interface {
	pulumi.Input

	ToDicomStoreIamPolicyMapOutput() DicomStoreIamPolicyMapOutput
	ToDicomStoreIamPolicyMapOutputWithContext(context.Context) DicomStoreIamPolicyMapOutput
}

DicomStoreIamPolicyMapInput is an input type that accepts DicomStoreIamPolicyMap and DicomStoreIamPolicyMapOutput values. You can construct a concrete instance of `DicomStoreIamPolicyMapInput` via:

DicomStoreIamPolicyMap{ "key": DicomStoreIamPolicyArgs{...} }

type DicomStoreIamPolicyMapOutput

type DicomStoreIamPolicyMapOutput struct{ *pulumi.OutputState }

func (DicomStoreIamPolicyMapOutput) ElementType

func (DicomStoreIamPolicyMapOutput) MapIndex

func (DicomStoreIamPolicyMapOutput) ToDicomStoreIamPolicyMapOutput

func (o DicomStoreIamPolicyMapOutput) ToDicomStoreIamPolicyMapOutput() DicomStoreIamPolicyMapOutput

func (DicomStoreIamPolicyMapOutput) ToDicomStoreIamPolicyMapOutputWithContext

func (o DicomStoreIamPolicyMapOutput) ToDicomStoreIamPolicyMapOutputWithContext(ctx context.Context) DicomStoreIamPolicyMapOutput

type DicomStoreIamPolicyOutput

type DicomStoreIamPolicyOutput struct{ *pulumi.OutputState }

func (DicomStoreIamPolicyOutput) DicomStoreId

The DICOM store ID, in the form `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's project setting will be used as a fallback.

func (DicomStoreIamPolicyOutput) ElementType

func (DicomStoreIamPolicyOutput) ElementType() reflect.Type

func (DicomStoreIamPolicyOutput) Etag

(Computed) The etag of the DICOM store's IAM policy.

func (DicomStoreIamPolicyOutput) PolicyData

The policy data generated by a `organizations.getIAMPolicy` data source.

func (DicomStoreIamPolicyOutput) ToDicomStoreIamPolicyOutput

func (o DicomStoreIamPolicyOutput) ToDicomStoreIamPolicyOutput() DicomStoreIamPolicyOutput

func (DicomStoreIamPolicyOutput) ToDicomStoreIamPolicyOutputWithContext

func (o DicomStoreIamPolicyOutput) ToDicomStoreIamPolicyOutputWithContext(ctx context.Context) DicomStoreIamPolicyOutput

type DicomStoreIamPolicyState

type DicomStoreIamPolicyState struct {
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringPtrInput
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
}

func (DicomStoreIamPolicyState) ElementType

func (DicomStoreIamPolicyState) ElementType() reflect.Type

type DicomStoreInput

type DicomStoreInput interface {
	pulumi.Input

	ToDicomStoreOutput() DicomStoreOutput
	ToDicomStoreOutputWithContext(ctx context.Context) DicomStoreOutput
}

type DicomStoreMap

type DicomStoreMap map[string]DicomStoreInput

func (DicomStoreMap) ElementType

func (DicomStoreMap) ElementType() reflect.Type

func (DicomStoreMap) ToDicomStoreMapOutput

func (i DicomStoreMap) ToDicomStoreMapOutput() DicomStoreMapOutput

func (DicomStoreMap) ToDicomStoreMapOutputWithContext

func (i DicomStoreMap) ToDicomStoreMapOutputWithContext(ctx context.Context) DicomStoreMapOutput

type DicomStoreMapInput

type DicomStoreMapInput interface {
	pulumi.Input

	ToDicomStoreMapOutput() DicomStoreMapOutput
	ToDicomStoreMapOutputWithContext(context.Context) DicomStoreMapOutput
}

DicomStoreMapInput is an input type that accepts DicomStoreMap and DicomStoreMapOutput values. You can construct a concrete instance of `DicomStoreMapInput` via:

DicomStoreMap{ "key": DicomStoreArgs{...} }

type DicomStoreMapOutput

type DicomStoreMapOutput struct{ *pulumi.OutputState }

func (DicomStoreMapOutput) ElementType

func (DicomStoreMapOutput) ElementType() reflect.Type

func (DicomStoreMapOutput) MapIndex

func (DicomStoreMapOutput) ToDicomStoreMapOutput

func (o DicomStoreMapOutput) ToDicomStoreMapOutput() DicomStoreMapOutput

func (DicomStoreMapOutput) ToDicomStoreMapOutputWithContext

func (o DicomStoreMapOutput) ToDicomStoreMapOutputWithContext(ctx context.Context) DicomStoreMapOutput

type DicomStoreNotificationConfig

type DicomStoreNotificationConfig struct {
	// The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
	// PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
	// It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
	// was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
	// project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
	// Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
	PubsubTopic string `pulumi:"pubsubTopic"`
}

type DicomStoreNotificationConfigArgs

type DicomStoreNotificationConfigArgs struct {
	// The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
	// PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
	// It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
	// was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
	// project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
	// Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
	PubsubTopic pulumi.StringInput `pulumi:"pubsubTopic"`
}

func (DicomStoreNotificationConfigArgs) ElementType

func (DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigOutput

func (i DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigOutput() DicomStoreNotificationConfigOutput

func (DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigOutputWithContext

func (i DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigOutputWithContext(ctx context.Context) DicomStoreNotificationConfigOutput

func (DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigPtrOutput

func (i DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigPtrOutput() DicomStoreNotificationConfigPtrOutput

func (DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigPtrOutputWithContext

func (i DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigPtrOutputWithContext(ctx context.Context) DicomStoreNotificationConfigPtrOutput

type DicomStoreNotificationConfigInput

type DicomStoreNotificationConfigInput interface {
	pulumi.Input

	ToDicomStoreNotificationConfigOutput() DicomStoreNotificationConfigOutput
	ToDicomStoreNotificationConfigOutputWithContext(context.Context) DicomStoreNotificationConfigOutput
}

DicomStoreNotificationConfigInput is an input type that accepts DicomStoreNotificationConfigArgs and DicomStoreNotificationConfigOutput values. You can construct a concrete instance of `DicomStoreNotificationConfigInput` via:

DicomStoreNotificationConfigArgs{...}

type DicomStoreNotificationConfigOutput

type DicomStoreNotificationConfigOutput struct{ *pulumi.OutputState }

func (DicomStoreNotificationConfigOutput) ElementType

func (DicomStoreNotificationConfigOutput) PubsubTopic

The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

func (DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigOutput

func (o DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigOutput() DicomStoreNotificationConfigOutput

func (DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigOutputWithContext

func (o DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigOutputWithContext(ctx context.Context) DicomStoreNotificationConfigOutput

func (DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigPtrOutput

func (o DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigPtrOutput() DicomStoreNotificationConfigPtrOutput

func (DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigPtrOutputWithContext

func (o DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigPtrOutputWithContext(ctx context.Context) DicomStoreNotificationConfigPtrOutput

type DicomStoreNotificationConfigPtrInput

type DicomStoreNotificationConfigPtrInput interface {
	pulumi.Input

	ToDicomStoreNotificationConfigPtrOutput() DicomStoreNotificationConfigPtrOutput
	ToDicomStoreNotificationConfigPtrOutputWithContext(context.Context) DicomStoreNotificationConfigPtrOutput
}

DicomStoreNotificationConfigPtrInput is an input type that accepts DicomStoreNotificationConfigArgs, DicomStoreNotificationConfigPtr and DicomStoreNotificationConfigPtrOutput values. You can construct a concrete instance of `DicomStoreNotificationConfigPtrInput` via:

        DicomStoreNotificationConfigArgs{...}

or:

        nil

type DicomStoreNotificationConfigPtrOutput

type DicomStoreNotificationConfigPtrOutput struct{ *pulumi.OutputState }

func (DicomStoreNotificationConfigPtrOutput) Elem

func (DicomStoreNotificationConfigPtrOutput) ElementType

func (DicomStoreNotificationConfigPtrOutput) PubsubTopic

The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

func (DicomStoreNotificationConfigPtrOutput) ToDicomStoreNotificationConfigPtrOutput

func (o DicomStoreNotificationConfigPtrOutput) ToDicomStoreNotificationConfigPtrOutput() DicomStoreNotificationConfigPtrOutput

func (DicomStoreNotificationConfigPtrOutput) ToDicomStoreNotificationConfigPtrOutputWithContext

func (o DicomStoreNotificationConfigPtrOutput) ToDicomStoreNotificationConfigPtrOutputWithContext(ctx context.Context) DicomStoreNotificationConfigPtrOutput

type DicomStoreOutput

type DicomStoreOutput struct{ *pulumi.OutputState }

func (DicomStoreOutput) Dataset

func (o DicomStoreOutput) Dataset() pulumi.StringOutput

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'

***

func (DicomStoreOutput) EffectiveLabels

func (o DicomStoreOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (DicomStoreOutput) ElementType

func (DicomStoreOutput) ElementType() reflect.Type

func (DicomStoreOutput) Labels

User-supplied key-value pairs used to organize DICOM stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effectiveLabels` for all of the labels present on the resource.

func (DicomStoreOutput) Name

The resource name for the DicomStore. ** Changing this property may recreate the Dicom store (removing all data) **

func (DicomStoreOutput) NotificationConfig

A nested object resource Structure is documented below.

func (DicomStoreOutput) PulumiLabels

func (o DicomStoreOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (o DicomStoreOutput) SelfLink() pulumi.StringOutput

The fully qualified name of this dataset

func (DicomStoreOutput) StreamConfigs

To enable streaming to BigQuery, configure the streamConfigs object in your DICOM store. streamConfigs is an array, so you can specify multiple BigQuery destinations. You can stream metadata from a single DICOM store to up to five BigQuery tables in a BigQuery dataset. Structure is documented below.

func (DicomStoreOutput) ToDicomStoreOutput

func (o DicomStoreOutput) ToDicomStoreOutput() DicomStoreOutput

func (DicomStoreOutput) ToDicomStoreOutputWithContext

func (o DicomStoreOutput) ToDicomStoreOutputWithContext(ctx context.Context) DicomStoreOutput

type DicomStoreState

type DicomStoreState struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// User-supplied key-value pairs used to organize DICOM stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The resource name for the DicomStore.
	// ** Changing this property may recreate the Dicom store (removing all data) **
	Name pulumi.StringPtrInput
	// A nested object resource
	// Structure is documented below.
	NotificationConfig DicomStoreNotificationConfigPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// The fully qualified name of this dataset
	SelfLink pulumi.StringPtrInput
	// To enable streaming to BigQuery, configure the streamConfigs object in your DICOM store.
	// streamConfigs is an array, so you can specify multiple BigQuery destinations. You can stream metadata from a single DICOM store to up to five BigQuery tables in a BigQuery dataset.
	// Structure is documented below.
	StreamConfigs DicomStoreStreamConfigArrayInput
}

func (DicomStoreState) ElementType

func (DicomStoreState) ElementType() reflect.Type

type DicomStoreStreamConfig

type DicomStoreStreamConfig struct {
	// BigQueryDestination to include a fully qualified BigQuery table URI where DICOM instance metadata will be streamed.
	// Structure is documented below.
	BigqueryDestination DicomStoreStreamConfigBigqueryDestination `pulumi:"bigqueryDestination"`
}

type DicomStoreStreamConfigArgs

type DicomStoreStreamConfigArgs struct {
	// BigQueryDestination to include a fully qualified BigQuery table URI where DICOM instance metadata will be streamed.
	// Structure is documented below.
	BigqueryDestination DicomStoreStreamConfigBigqueryDestinationInput `pulumi:"bigqueryDestination"`
}

func (DicomStoreStreamConfigArgs) ElementType

func (DicomStoreStreamConfigArgs) ElementType() reflect.Type

func (DicomStoreStreamConfigArgs) ToDicomStoreStreamConfigOutput

func (i DicomStoreStreamConfigArgs) ToDicomStoreStreamConfigOutput() DicomStoreStreamConfigOutput

func (DicomStoreStreamConfigArgs) ToDicomStoreStreamConfigOutputWithContext

func (i DicomStoreStreamConfigArgs) ToDicomStoreStreamConfigOutputWithContext(ctx context.Context) DicomStoreStreamConfigOutput

type DicomStoreStreamConfigArray

type DicomStoreStreamConfigArray []DicomStoreStreamConfigInput

func (DicomStoreStreamConfigArray) ElementType

func (DicomStoreStreamConfigArray) ToDicomStoreStreamConfigArrayOutput

func (i DicomStoreStreamConfigArray) ToDicomStoreStreamConfigArrayOutput() DicomStoreStreamConfigArrayOutput

func (DicomStoreStreamConfigArray) ToDicomStoreStreamConfigArrayOutputWithContext

func (i DicomStoreStreamConfigArray) ToDicomStoreStreamConfigArrayOutputWithContext(ctx context.Context) DicomStoreStreamConfigArrayOutput

type DicomStoreStreamConfigArrayInput

type DicomStoreStreamConfigArrayInput interface {
	pulumi.Input

	ToDicomStoreStreamConfigArrayOutput() DicomStoreStreamConfigArrayOutput
	ToDicomStoreStreamConfigArrayOutputWithContext(context.Context) DicomStoreStreamConfigArrayOutput
}

DicomStoreStreamConfigArrayInput is an input type that accepts DicomStoreStreamConfigArray and DicomStoreStreamConfigArrayOutput values. You can construct a concrete instance of `DicomStoreStreamConfigArrayInput` via:

DicomStoreStreamConfigArray{ DicomStoreStreamConfigArgs{...} }

type DicomStoreStreamConfigArrayOutput

type DicomStoreStreamConfigArrayOutput struct{ *pulumi.OutputState }

func (DicomStoreStreamConfigArrayOutput) ElementType

func (DicomStoreStreamConfigArrayOutput) Index

func (DicomStoreStreamConfigArrayOutput) ToDicomStoreStreamConfigArrayOutput

func (o DicomStoreStreamConfigArrayOutput) ToDicomStoreStreamConfigArrayOutput() DicomStoreStreamConfigArrayOutput

func (DicomStoreStreamConfigArrayOutput) ToDicomStoreStreamConfigArrayOutputWithContext

func (o DicomStoreStreamConfigArrayOutput) ToDicomStoreStreamConfigArrayOutputWithContext(ctx context.Context) DicomStoreStreamConfigArrayOutput

type DicomStoreStreamConfigBigqueryDestination

type DicomStoreStreamConfigBigqueryDestination struct {
	// a fully qualified BigQuery table URI where DICOM instance metadata will be streamed.
	TableUri string `pulumi:"tableUri"`
}

type DicomStoreStreamConfigBigqueryDestinationArgs

type DicomStoreStreamConfigBigqueryDestinationArgs struct {
	// a fully qualified BigQuery table URI where DICOM instance metadata will be streamed.
	TableUri pulumi.StringInput `pulumi:"tableUri"`
}

func (DicomStoreStreamConfigBigqueryDestinationArgs) ElementType

func (DicomStoreStreamConfigBigqueryDestinationArgs) ToDicomStoreStreamConfigBigqueryDestinationOutput

func (i DicomStoreStreamConfigBigqueryDestinationArgs) ToDicomStoreStreamConfigBigqueryDestinationOutput() DicomStoreStreamConfigBigqueryDestinationOutput

func (DicomStoreStreamConfigBigqueryDestinationArgs) ToDicomStoreStreamConfigBigqueryDestinationOutputWithContext

func (i DicomStoreStreamConfigBigqueryDestinationArgs) ToDicomStoreStreamConfigBigqueryDestinationOutputWithContext(ctx context.Context) DicomStoreStreamConfigBigqueryDestinationOutput

type DicomStoreStreamConfigBigqueryDestinationInput

type DicomStoreStreamConfigBigqueryDestinationInput interface {
	pulumi.Input

	ToDicomStoreStreamConfigBigqueryDestinationOutput() DicomStoreStreamConfigBigqueryDestinationOutput
	ToDicomStoreStreamConfigBigqueryDestinationOutputWithContext(context.Context) DicomStoreStreamConfigBigqueryDestinationOutput
}

DicomStoreStreamConfigBigqueryDestinationInput is an input type that accepts DicomStoreStreamConfigBigqueryDestinationArgs and DicomStoreStreamConfigBigqueryDestinationOutput values. You can construct a concrete instance of `DicomStoreStreamConfigBigqueryDestinationInput` via:

DicomStoreStreamConfigBigqueryDestinationArgs{...}

type DicomStoreStreamConfigBigqueryDestinationOutput

type DicomStoreStreamConfigBigqueryDestinationOutput struct{ *pulumi.OutputState }

func (DicomStoreStreamConfigBigqueryDestinationOutput) ElementType

func (DicomStoreStreamConfigBigqueryDestinationOutput) TableUri

a fully qualified BigQuery table URI where DICOM instance metadata will be streamed.

func (DicomStoreStreamConfigBigqueryDestinationOutput) ToDicomStoreStreamConfigBigqueryDestinationOutput

func (o DicomStoreStreamConfigBigqueryDestinationOutput) ToDicomStoreStreamConfigBigqueryDestinationOutput() DicomStoreStreamConfigBigqueryDestinationOutput

func (DicomStoreStreamConfigBigqueryDestinationOutput) ToDicomStoreStreamConfigBigqueryDestinationOutputWithContext

func (o DicomStoreStreamConfigBigqueryDestinationOutput) ToDicomStoreStreamConfigBigqueryDestinationOutputWithContext(ctx context.Context) DicomStoreStreamConfigBigqueryDestinationOutput

type DicomStoreStreamConfigInput

type DicomStoreStreamConfigInput interface {
	pulumi.Input

	ToDicomStoreStreamConfigOutput() DicomStoreStreamConfigOutput
	ToDicomStoreStreamConfigOutputWithContext(context.Context) DicomStoreStreamConfigOutput
}

DicomStoreStreamConfigInput is an input type that accepts DicomStoreStreamConfigArgs and DicomStoreStreamConfigOutput values. You can construct a concrete instance of `DicomStoreStreamConfigInput` via:

DicomStoreStreamConfigArgs{...}

type DicomStoreStreamConfigOutput

type DicomStoreStreamConfigOutput struct{ *pulumi.OutputState }

func (DicomStoreStreamConfigOutput) BigqueryDestination

BigQueryDestination to include a fully qualified BigQuery table URI where DICOM instance metadata will be streamed. Structure is documented below.

func (DicomStoreStreamConfigOutput) ElementType

func (DicomStoreStreamConfigOutput) ToDicomStoreStreamConfigOutput

func (o DicomStoreStreamConfigOutput) ToDicomStoreStreamConfigOutput() DicomStoreStreamConfigOutput

func (DicomStoreStreamConfigOutput) ToDicomStoreStreamConfigOutputWithContext

func (o DicomStoreStreamConfigOutput) ToDicomStoreStreamConfigOutputWithContext(ctx context.Context) DicomStoreStreamConfigOutput

type FhirStore

type FhirStore struct {
	pulumi.CustomResourceState

	// Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED by default after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources.
	// Possible values are: `COMPLEX_DATA_TYPE_REFERENCE_PARSING_UNSPECIFIED`, `DISABLED`, `ENABLED`.
	ComplexDataTypeReferenceParsing pulumi.StringOutput `pulumi:"complexDataTypeReferenceParsing"`
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// If true, overrides the default search behavior for this FHIR store to handling=strict which returns an error for unrecognized search parameters.
	// If false, uses the FHIR specification default handling=lenient which ignores unrecognized search parameters.
	// The handling can always be changed from the default on an individual API call by setting the HTTP header Prefer: handling=strict or Prefer: handling=lenient.
	DefaultSearchHandlingStrict pulumi.BoolPtrOutput `pulumi:"defaultSearchHandlingStrict"`
	// Whether to disable referential integrity in this FHIR store. This field is immutable after FHIR store
	// creation. The default value is false, meaning that the API will enforce referential integrity and fail the
	// requests that will result in inconsistent state in the FHIR store. When this field is set to true, the API
	// will skip referential integrity check. Consequently, operations that rely on references, such as
	// Patient.get$everything, will not return all the results if broken references exist.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	DisableReferentialIntegrity pulumi.BoolPtrOutput `pulumi:"disableReferentialIntegrity"`
	// Whether to disable resource versioning for this FHIR store. This field can not be changed after the creation
	// of FHIR store. If set to false, which is the default behavior, all write operations will cause historical
	// versions to be recorded automatically. The historical versions can be fetched through the history APIs, but
	// cannot be updated. If set to true, no historical versions will be kept. The server will send back errors for
	// attempts to read the historical versions.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	DisableResourceVersioning pulumi.BoolPtrOutput `pulumi:"disableResourceVersioning"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// Whether to allow the bulk import API to accept history bundles and directly insert historical resource
	// versions into the FHIR store. Importing resource histories creates resource interactions that appear to have
	// occurred in the past, which clients may not want to allow. If set to false, history bundles within an import
	// will fail with an error.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	// ** This property can be changed manually in the Google Cloud Healthcare admin console without recreating the FHIR store **
	EnableHistoryImport pulumi.BoolPtrOutput `pulumi:"enableHistoryImport"`
	// Whether to allow the ExecuteBundle API to accept history bundles, and directly insert and overwrite historical
	// resource versions into the FHIR store. If set to false, using history bundles fails with an error.
	EnableHistoryModifications pulumi.BoolPtrOutput `pulumi:"enableHistoryModifications"`
	// Whether this FHIR store has the updateCreate capability. This determines if the client can use an Update
	// operation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through
	// the Create operation and attempts to Update a non-existent resource will return errors. Please treat the audit
	// logs with appropriate levels of care if client-specified resource IDs contain sensitive data such as patient
	// identifiers, those IDs will be part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub
	// notifications.
	EnableUpdateCreate pulumi.BoolPtrOutput `pulumi:"enableUpdateCreate"`
	// User-supplied key-value pairs used to organize FHIR stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The resource name for the FhirStore.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	Name pulumi.StringOutput `pulumi:"name"`
	// A nested object resource
	// Structure is documented below.
	NotificationConfig FhirStoreNotificationConfigPtrOutput `pulumi:"notificationConfig"`
	// A list of notifcation configs that configure the notification for every resource mutation in this FHIR store.
	// Structure is documented below.
	NotificationConfigs FhirStoreNotificationConfigArrayOutput `pulumi:"notificationConfigs"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// The fully qualified name of this dataset
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
	// A list of streaming configs that configure the destinations of streaming export for every resource mutation in
	// this FHIR store. Each store is allowed to have up to 10 streaming configs. After a new config is added, the next
	// resource mutation is streamed to the new location in addition to the existing ones. When a location is removed
	// from the list, the server stops streaming to that location. Before adding a new config, you must add the required
	// bigquery.dataEditor role to your project's Cloud Healthcare Service Agent service account. Some lag (typically on
	// the order of dozens of seconds) is expected before the results show up in the streaming destination.
	// Structure is documented below.
	StreamConfigs FhirStoreStreamConfigArrayOutput `pulumi:"streamConfigs"`
	// The FHIR specification version.
	// Default value is `STU3`.
	// Possible values are: `DSTU2`, `STU3`, `R4`.
	Version pulumi.StringPtrOutput `pulumi:"version"`
}

A FhirStore is a datastore inside a Healthcare dataset that conforms to the FHIR (https://www.hl7.org/fhir/STU3/) standard for Healthcare information exchange

To get more information about FhirStore, see:

* [API documentation](https://cloud.google.com/healthcare/docs/reference/rest/v1/projects.locations.datasets.fhirStores) * How-to Guides

## Example Usage

### Healthcare Fhir Store Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		topic, err := pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.String("fhir-notifications"),
		})
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Name:     pulumi.String("example-dataset"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStore(ctx, "default", &healthcare.FhirStoreArgs{
			Name:                            pulumi.String("example-fhir-store"),
			Dataset:                         dataset.ID(),
			Version:                         pulumi.String("R4"),
			ComplexDataTypeReferenceParsing: pulumi.String("DISABLED"),
			EnableUpdateCreate:              pulumi.Bool(false),
			DisableReferentialIntegrity:     pulumi.Bool(false),
			DisableResourceVersioning:       pulumi.Bool(false),
			EnableHistoryImport:             pulumi.Bool(false),
			DefaultSearchHandlingStrict:     pulumi.Bool(false),
			NotificationConfig: &healthcare.FhirStoreNotificationConfigArgs{
				PubsubTopic: topic.ID(),
			},
			Labels: pulumi.StringMap{
				"label1": pulumi.String("labelvalue1"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Fhir Store Streaming Config

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/bigquery"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Name:     pulumi.String("example-dataset"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		bqDataset, err := bigquery.NewDataset(ctx, "bq_dataset", &bigquery.DatasetArgs{
			DatasetId:               pulumi.String("bq_example_dataset"),
			FriendlyName:            pulumi.String("test"),
			Description:             pulumi.String("This is a test description"),
			Location:                pulumi.String("US"),
			DeleteContentsOnDestroy: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStore(ctx, "default", &healthcare.FhirStoreArgs{
			Name:                        pulumi.String("example-fhir-store"),
			Dataset:                     dataset.ID(),
			Version:                     pulumi.String("R4"),
			EnableUpdateCreate:          pulumi.Bool(false),
			DisableReferentialIntegrity: pulumi.Bool(false),
			DisableResourceVersioning:   pulumi.Bool(false),
			EnableHistoryImport:         pulumi.Bool(false),
			Labels: pulumi.StringMap{
				"label1": pulumi.String("labelvalue1"),
			},
			StreamConfigs: healthcare.FhirStoreStreamConfigArray{
				&healthcare.FhirStoreStreamConfigArgs{
					ResourceTypes: pulumi.StringArray{
						pulumi.String("Observation"),
					},
					BigqueryDestination: &healthcare.FhirStoreStreamConfigBigqueryDestinationArgs{
						DatasetUri: pulumi.All(bqDataset.Project, bqDataset.DatasetId).ApplyT(func(_args []interface{}) (string, error) {
							project := _args[0].(string)
							datasetId := _args[1].(string)
							return fmt.Sprintf("bq://%v.%v", project, datasetId), nil
						}).(pulumi.StringOutput),
						SchemaConfig: &healthcare.FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs{
							RecursiveStructureDepth: pulumi.Int(3),
							LastUpdatedPartitionConfig: &healthcare.FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs{
								Type:         pulumi.String("HOUR"),
								ExpirationMs: pulumi.String("1000000"),
							},
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.String("fhir-notifications"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Fhir Store Notification Config

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		topic, err := pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.String("fhir-notifications"),
		})
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Name:     pulumi.String("example-dataset"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStore(ctx, "default", &healthcare.FhirStoreArgs{
			Name:                        pulumi.String("example-fhir-store"),
			Dataset:                     dataset.ID(),
			Version:                     pulumi.String("R4"),
			EnableUpdateCreate:          pulumi.Bool(false),
			DisableReferentialIntegrity: pulumi.Bool(false),
			DisableResourceVersioning:   pulumi.Bool(false),
			EnableHistoryImport:         pulumi.Bool(false),
			Labels: pulumi.StringMap{
				"label1": pulumi.String("labelvalue1"),
			},
			NotificationConfig: &healthcare.FhirStoreNotificationConfigArgs{
				PubsubTopic: topic.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Fhir Store Notification Configs

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		topic, err := pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.String("fhir-notifications"),
		})
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Name:     pulumi.String("example-dataset"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStore(ctx, "default", &healthcare.FhirStoreArgs{
			Name:                        pulumi.String("example-fhir-store"),
			Dataset:                     dataset.ID(),
			Version:                     pulumi.String("R4"),
			EnableUpdateCreate:          pulumi.Bool(false),
			DisableReferentialIntegrity: pulumi.Bool(false),
			DisableResourceVersioning:   pulumi.Bool(false),
			EnableHistoryImport:         pulumi.Bool(false),
			EnableHistoryModifications:  pulumi.Bool(false),
			Labels: pulumi.StringMap{
				"label1": pulumi.String("labelvalue1"),
			},
			NotificationConfigs: healthcare.FhirStoreNotificationConfigArray{
				&healthcare.FhirStoreNotificationConfigArgs{
					PubsubTopic:                  topic.ID(),
					SendFullResource:             pulumi.Bool(true),
					SendPreviousResourceOnDelete: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

FhirStore can be imported using any of these accepted formats:

* `{{dataset}}/fhirStores/{{name}}`

* `{{dataset}}/{{name}}`

When using the `pulumi import` command, FhirStore can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:healthcare/fhirStore:FhirStore default {{dataset}}/fhirStores/{{name}} ```

```sh $ pulumi import gcp:healthcare/fhirStore:FhirStore default {{dataset}}/{{name}} ```

func GetFhirStore

func GetFhirStore(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FhirStoreState, opts ...pulumi.ResourceOption) (*FhirStore, error)

GetFhirStore gets an existing FhirStore resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFhirStore

func NewFhirStore(ctx *pulumi.Context,
	name string, args *FhirStoreArgs, opts ...pulumi.ResourceOption) (*FhirStore, error)

NewFhirStore registers a new resource with the given unique name, arguments, and options.

func (*FhirStore) ElementType

func (*FhirStore) ElementType() reflect.Type

func (*FhirStore) ToFhirStoreOutput

func (i *FhirStore) ToFhirStoreOutput() FhirStoreOutput

func (*FhirStore) ToFhirStoreOutputWithContext

func (i *FhirStore) ToFhirStoreOutputWithContext(ctx context.Context) FhirStoreOutput

type FhirStoreArgs

type FhirStoreArgs struct {
	// Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED by default after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources.
	// Possible values are: `COMPLEX_DATA_TYPE_REFERENCE_PARSING_UNSPECIFIED`, `DISABLED`, `ENABLED`.
	ComplexDataTypeReferenceParsing pulumi.StringPtrInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringInput
	// If true, overrides the default search behavior for this FHIR store to handling=strict which returns an error for unrecognized search parameters.
	// If false, uses the FHIR specification default handling=lenient which ignores unrecognized search parameters.
	// The handling can always be changed from the default on an individual API call by setting the HTTP header Prefer: handling=strict or Prefer: handling=lenient.
	DefaultSearchHandlingStrict pulumi.BoolPtrInput
	// Whether to disable referential integrity in this FHIR store. This field is immutable after FHIR store
	// creation. The default value is false, meaning that the API will enforce referential integrity and fail the
	// requests that will result in inconsistent state in the FHIR store. When this field is set to true, the API
	// will skip referential integrity check. Consequently, operations that rely on references, such as
	// Patient.get$everything, will not return all the results if broken references exist.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	DisableReferentialIntegrity pulumi.BoolPtrInput
	// Whether to disable resource versioning for this FHIR store. This field can not be changed after the creation
	// of FHIR store. If set to false, which is the default behavior, all write operations will cause historical
	// versions to be recorded automatically. The historical versions can be fetched through the history APIs, but
	// cannot be updated. If set to true, no historical versions will be kept. The server will send back errors for
	// attempts to read the historical versions.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	DisableResourceVersioning pulumi.BoolPtrInput
	// Whether to allow the bulk import API to accept history bundles and directly insert historical resource
	// versions into the FHIR store. Importing resource histories creates resource interactions that appear to have
	// occurred in the past, which clients may not want to allow. If set to false, history bundles within an import
	// will fail with an error.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	// ** This property can be changed manually in the Google Cloud Healthcare admin console without recreating the FHIR store **
	EnableHistoryImport pulumi.BoolPtrInput
	// Whether to allow the ExecuteBundle API to accept history bundles, and directly insert and overwrite historical
	// resource versions into the FHIR store. If set to false, using history bundles fails with an error.
	EnableHistoryModifications pulumi.BoolPtrInput
	// Whether this FHIR store has the updateCreate capability. This determines if the client can use an Update
	// operation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through
	// the Create operation and attempts to Update a non-existent resource will return errors. Please treat the audit
	// logs with appropriate levels of care if client-specified resource IDs contain sensitive data such as patient
	// identifiers, those IDs will be part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub
	// notifications.
	EnableUpdateCreate pulumi.BoolPtrInput
	// User-supplied key-value pairs used to organize FHIR stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The resource name for the FhirStore.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	Name pulumi.StringPtrInput
	// A nested object resource
	// Structure is documented below.
	NotificationConfig FhirStoreNotificationConfigPtrInput
	// A list of notifcation configs that configure the notification for every resource mutation in this FHIR store.
	// Structure is documented below.
	NotificationConfigs FhirStoreNotificationConfigArrayInput
	// A list of streaming configs that configure the destinations of streaming export for every resource mutation in
	// this FHIR store. Each store is allowed to have up to 10 streaming configs. After a new config is added, the next
	// resource mutation is streamed to the new location in addition to the existing ones. When a location is removed
	// from the list, the server stops streaming to that location. Before adding a new config, you must add the required
	// bigquery.dataEditor role to your project's Cloud Healthcare Service Agent service account. Some lag (typically on
	// the order of dozens of seconds) is expected before the results show up in the streaming destination.
	// Structure is documented below.
	StreamConfigs FhirStoreStreamConfigArrayInput
	// The FHIR specification version.
	// Default value is `STU3`.
	// Possible values are: `DSTU2`, `STU3`, `R4`.
	Version pulumi.StringPtrInput
}

The set of arguments for constructing a FhirStore resource.

func (FhirStoreArgs) ElementType

func (FhirStoreArgs) ElementType() reflect.Type

type FhirStoreArray

type FhirStoreArray []FhirStoreInput

func (FhirStoreArray) ElementType

func (FhirStoreArray) ElementType() reflect.Type

func (FhirStoreArray) ToFhirStoreArrayOutput

func (i FhirStoreArray) ToFhirStoreArrayOutput() FhirStoreArrayOutput

func (FhirStoreArray) ToFhirStoreArrayOutputWithContext

func (i FhirStoreArray) ToFhirStoreArrayOutputWithContext(ctx context.Context) FhirStoreArrayOutput

type FhirStoreArrayInput

type FhirStoreArrayInput interface {
	pulumi.Input

	ToFhirStoreArrayOutput() FhirStoreArrayOutput
	ToFhirStoreArrayOutputWithContext(context.Context) FhirStoreArrayOutput
}

FhirStoreArrayInput is an input type that accepts FhirStoreArray and FhirStoreArrayOutput values. You can construct a concrete instance of `FhirStoreArrayInput` via:

FhirStoreArray{ FhirStoreArgs{...} }

type FhirStoreArrayOutput

type FhirStoreArrayOutput struct{ *pulumi.OutputState }

func (FhirStoreArrayOutput) ElementType

func (FhirStoreArrayOutput) ElementType() reflect.Type

func (FhirStoreArrayOutput) Index

func (FhirStoreArrayOutput) ToFhirStoreArrayOutput

func (o FhirStoreArrayOutput) ToFhirStoreArrayOutput() FhirStoreArrayOutput

func (FhirStoreArrayOutput) ToFhirStoreArrayOutputWithContext

func (o FhirStoreArrayOutput) ToFhirStoreArrayOutputWithContext(ctx context.Context) FhirStoreArrayOutput

type FhirStoreIamBinding

type FhirStoreIamBinding struct {
	pulumi.CustomResourceState

	Condition FhirStoreIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the FHIR store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringOutput `pulumi:"fhirStoreId"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The role that should be applied. Only one
	// `healthcare.FhirStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Healthcare FHIR store. Each of these resources serves a different use case:

* `healthcare.FhirStoreIamPolicy`: Authoritative. Sets the IAM policy for the FHIR store and replaces any existing policy already attached. * `healthcare.FhirStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the FHIR store are preserved. * `healthcare.FhirStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the FHIR store are preserved.

> **Note:** `healthcare.FhirStoreIamPolicy` **cannot** be used in conjunction with `healthcare.FhirStoreIamBinding` and `healthcare.FhirStoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.FhirStoreIamBinding` resources **can be** used in conjunction with `healthcare.FhirStoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_fhir\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStoreIamPolicy(ctx, "fhir_store", &healthcare.FhirStoreIamPolicyArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamBinding(ctx, "fhir_store", &healthcare.FhirStoreIamBindingArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamMember(ctx, "fhir_store", &healthcare.FhirStoreIamMemberArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStoreIamPolicy(ctx, "fhir_store", &healthcare.FhirStoreIamPolicyArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamBinding(ctx, "fhir_store", &healthcare.FhirStoreIamBindingArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamMember(ctx, "fhir_store", &healthcare.FhirStoreIamMemberArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Healthcare FHIR store resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}/{{fhir_store}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}/{{fhir_store}}"

to = google_healthcare_fhir_store_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/fhirStoreIamBinding:FhirStoreIamBinding default {{project_id}}/{{location}}/{{dataset}}/{{fhir_store}} ```

func GetFhirStoreIamBinding

func GetFhirStoreIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FhirStoreIamBindingState, opts ...pulumi.ResourceOption) (*FhirStoreIamBinding, error)

GetFhirStoreIamBinding gets an existing FhirStoreIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFhirStoreIamBinding

func NewFhirStoreIamBinding(ctx *pulumi.Context,
	name string, args *FhirStoreIamBindingArgs, opts ...pulumi.ResourceOption) (*FhirStoreIamBinding, error)

NewFhirStoreIamBinding registers a new resource with the given unique name, arguments, and options.

func (*FhirStoreIamBinding) ElementType

func (*FhirStoreIamBinding) ElementType() reflect.Type

func (*FhirStoreIamBinding) ToFhirStoreIamBindingOutput

func (i *FhirStoreIamBinding) ToFhirStoreIamBindingOutput() FhirStoreIamBindingOutput

func (*FhirStoreIamBinding) ToFhirStoreIamBindingOutputWithContext

func (i *FhirStoreIamBinding) ToFhirStoreIamBindingOutputWithContext(ctx context.Context) FhirStoreIamBindingOutput

type FhirStoreIamBindingArgs

type FhirStoreIamBindingArgs struct {
	Condition FhirStoreIamBindingConditionPtrInput
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.FhirStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a FhirStoreIamBinding resource.

func (FhirStoreIamBindingArgs) ElementType

func (FhirStoreIamBindingArgs) ElementType() reflect.Type

type FhirStoreIamBindingArray

type FhirStoreIamBindingArray []FhirStoreIamBindingInput

func (FhirStoreIamBindingArray) ElementType

func (FhirStoreIamBindingArray) ElementType() reflect.Type

func (FhirStoreIamBindingArray) ToFhirStoreIamBindingArrayOutput

func (i FhirStoreIamBindingArray) ToFhirStoreIamBindingArrayOutput() FhirStoreIamBindingArrayOutput

func (FhirStoreIamBindingArray) ToFhirStoreIamBindingArrayOutputWithContext

func (i FhirStoreIamBindingArray) ToFhirStoreIamBindingArrayOutputWithContext(ctx context.Context) FhirStoreIamBindingArrayOutput

type FhirStoreIamBindingArrayInput

type FhirStoreIamBindingArrayInput interface {
	pulumi.Input

	ToFhirStoreIamBindingArrayOutput() FhirStoreIamBindingArrayOutput
	ToFhirStoreIamBindingArrayOutputWithContext(context.Context) FhirStoreIamBindingArrayOutput
}

FhirStoreIamBindingArrayInput is an input type that accepts FhirStoreIamBindingArray and FhirStoreIamBindingArrayOutput values. You can construct a concrete instance of `FhirStoreIamBindingArrayInput` via:

FhirStoreIamBindingArray{ FhirStoreIamBindingArgs{...} }

type FhirStoreIamBindingArrayOutput

type FhirStoreIamBindingArrayOutput struct{ *pulumi.OutputState }

func (FhirStoreIamBindingArrayOutput) ElementType

func (FhirStoreIamBindingArrayOutput) Index

func (FhirStoreIamBindingArrayOutput) ToFhirStoreIamBindingArrayOutput

func (o FhirStoreIamBindingArrayOutput) ToFhirStoreIamBindingArrayOutput() FhirStoreIamBindingArrayOutput

func (FhirStoreIamBindingArrayOutput) ToFhirStoreIamBindingArrayOutputWithContext

func (o FhirStoreIamBindingArrayOutput) ToFhirStoreIamBindingArrayOutputWithContext(ctx context.Context) FhirStoreIamBindingArrayOutput

type FhirStoreIamBindingCondition

type FhirStoreIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type FhirStoreIamBindingConditionArgs

type FhirStoreIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (FhirStoreIamBindingConditionArgs) ElementType

func (FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionOutput

func (i FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionOutput() FhirStoreIamBindingConditionOutput

func (FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionOutputWithContext

func (i FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionOutputWithContext(ctx context.Context) FhirStoreIamBindingConditionOutput

func (FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionPtrOutput

func (i FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionPtrOutput() FhirStoreIamBindingConditionPtrOutput

func (FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionPtrOutputWithContext

func (i FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionPtrOutputWithContext(ctx context.Context) FhirStoreIamBindingConditionPtrOutput

type FhirStoreIamBindingConditionInput

type FhirStoreIamBindingConditionInput interface {
	pulumi.Input

	ToFhirStoreIamBindingConditionOutput() FhirStoreIamBindingConditionOutput
	ToFhirStoreIamBindingConditionOutputWithContext(context.Context) FhirStoreIamBindingConditionOutput
}

FhirStoreIamBindingConditionInput is an input type that accepts FhirStoreIamBindingConditionArgs and FhirStoreIamBindingConditionOutput values. You can construct a concrete instance of `FhirStoreIamBindingConditionInput` via:

FhirStoreIamBindingConditionArgs{...}

type FhirStoreIamBindingConditionOutput

type FhirStoreIamBindingConditionOutput struct{ *pulumi.OutputState }

func (FhirStoreIamBindingConditionOutput) Description

func (FhirStoreIamBindingConditionOutput) ElementType

func (FhirStoreIamBindingConditionOutput) Expression

func (FhirStoreIamBindingConditionOutput) Title

func (FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionOutput

func (o FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionOutput() FhirStoreIamBindingConditionOutput

func (FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionOutputWithContext

func (o FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionOutputWithContext(ctx context.Context) FhirStoreIamBindingConditionOutput

func (FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionPtrOutput

func (o FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionPtrOutput() FhirStoreIamBindingConditionPtrOutput

func (FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionPtrOutputWithContext

func (o FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionPtrOutputWithContext(ctx context.Context) FhirStoreIamBindingConditionPtrOutput

type FhirStoreIamBindingConditionPtrInput

type FhirStoreIamBindingConditionPtrInput interface {
	pulumi.Input

	ToFhirStoreIamBindingConditionPtrOutput() FhirStoreIamBindingConditionPtrOutput
	ToFhirStoreIamBindingConditionPtrOutputWithContext(context.Context) FhirStoreIamBindingConditionPtrOutput
}

FhirStoreIamBindingConditionPtrInput is an input type that accepts FhirStoreIamBindingConditionArgs, FhirStoreIamBindingConditionPtr and FhirStoreIamBindingConditionPtrOutput values. You can construct a concrete instance of `FhirStoreIamBindingConditionPtrInput` via:

        FhirStoreIamBindingConditionArgs{...}

or:

        nil

type FhirStoreIamBindingConditionPtrOutput

type FhirStoreIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (FhirStoreIamBindingConditionPtrOutput) Description

func (FhirStoreIamBindingConditionPtrOutput) Elem

func (FhirStoreIamBindingConditionPtrOutput) ElementType

func (FhirStoreIamBindingConditionPtrOutput) Expression

func (FhirStoreIamBindingConditionPtrOutput) Title

func (FhirStoreIamBindingConditionPtrOutput) ToFhirStoreIamBindingConditionPtrOutput

func (o FhirStoreIamBindingConditionPtrOutput) ToFhirStoreIamBindingConditionPtrOutput() FhirStoreIamBindingConditionPtrOutput

func (FhirStoreIamBindingConditionPtrOutput) ToFhirStoreIamBindingConditionPtrOutputWithContext

func (o FhirStoreIamBindingConditionPtrOutput) ToFhirStoreIamBindingConditionPtrOutputWithContext(ctx context.Context) FhirStoreIamBindingConditionPtrOutput

type FhirStoreIamBindingInput

type FhirStoreIamBindingInput interface {
	pulumi.Input

	ToFhirStoreIamBindingOutput() FhirStoreIamBindingOutput
	ToFhirStoreIamBindingOutputWithContext(ctx context.Context) FhirStoreIamBindingOutput
}

type FhirStoreIamBindingMap

type FhirStoreIamBindingMap map[string]FhirStoreIamBindingInput

func (FhirStoreIamBindingMap) ElementType

func (FhirStoreIamBindingMap) ElementType() reflect.Type

func (FhirStoreIamBindingMap) ToFhirStoreIamBindingMapOutput

func (i FhirStoreIamBindingMap) ToFhirStoreIamBindingMapOutput() FhirStoreIamBindingMapOutput

func (FhirStoreIamBindingMap) ToFhirStoreIamBindingMapOutputWithContext

func (i FhirStoreIamBindingMap) ToFhirStoreIamBindingMapOutputWithContext(ctx context.Context) FhirStoreIamBindingMapOutput

type FhirStoreIamBindingMapInput

type FhirStoreIamBindingMapInput interface {
	pulumi.Input

	ToFhirStoreIamBindingMapOutput() FhirStoreIamBindingMapOutput
	ToFhirStoreIamBindingMapOutputWithContext(context.Context) FhirStoreIamBindingMapOutput
}

FhirStoreIamBindingMapInput is an input type that accepts FhirStoreIamBindingMap and FhirStoreIamBindingMapOutput values. You can construct a concrete instance of `FhirStoreIamBindingMapInput` via:

FhirStoreIamBindingMap{ "key": FhirStoreIamBindingArgs{...} }

type FhirStoreIamBindingMapOutput

type FhirStoreIamBindingMapOutput struct{ *pulumi.OutputState }

func (FhirStoreIamBindingMapOutput) ElementType

func (FhirStoreIamBindingMapOutput) MapIndex

func (FhirStoreIamBindingMapOutput) ToFhirStoreIamBindingMapOutput

func (o FhirStoreIamBindingMapOutput) ToFhirStoreIamBindingMapOutput() FhirStoreIamBindingMapOutput

func (FhirStoreIamBindingMapOutput) ToFhirStoreIamBindingMapOutputWithContext

func (o FhirStoreIamBindingMapOutput) ToFhirStoreIamBindingMapOutputWithContext(ctx context.Context) FhirStoreIamBindingMapOutput

type FhirStoreIamBindingOutput

type FhirStoreIamBindingOutput struct{ *pulumi.OutputState }

func (FhirStoreIamBindingOutput) Condition

func (FhirStoreIamBindingOutput) ElementType

func (FhirStoreIamBindingOutput) ElementType() reflect.Type

func (FhirStoreIamBindingOutput) Etag

(Computed) The etag of the FHIR store's IAM policy.

func (FhirStoreIamBindingOutput) FhirStoreId

The FHIR store ID, in the form `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's project setting will be used as a fallback.

func (FhirStoreIamBindingOutput) Members

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

func (FhirStoreIamBindingOutput) Role

The role that should be applied. Only one `healthcare.FhirStoreIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (FhirStoreIamBindingOutput) ToFhirStoreIamBindingOutput

func (o FhirStoreIamBindingOutput) ToFhirStoreIamBindingOutput() FhirStoreIamBindingOutput

func (FhirStoreIamBindingOutput) ToFhirStoreIamBindingOutputWithContext

func (o FhirStoreIamBindingOutput) ToFhirStoreIamBindingOutputWithContext(ctx context.Context) FhirStoreIamBindingOutput

type FhirStoreIamBindingState

type FhirStoreIamBindingState struct {
	Condition FhirStoreIamBindingConditionPtrInput
	// (Computed) The etag of the FHIR store's IAM policy.
	Etag pulumi.StringPtrInput
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.FhirStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (FhirStoreIamBindingState) ElementType

func (FhirStoreIamBindingState) ElementType() reflect.Type

type FhirStoreIamMember

type FhirStoreIamMember struct {
	pulumi.CustomResourceState

	Condition FhirStoreIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the FHIR store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringOutput `pulumi:"fhirStoreId"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `healthcare.FhirStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Healthcare FHIR store. Each of these resources serves a different use case:

* `healthcare.FhirStoreIamPolicy`: Authoritative. Sets the IAM policy for the FHIR store and replaces any existing policy already attached. * `healthcare.FhirStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the FHIR store are preserved. * `healthcare.FhirStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the FHIR store are preserved.

> **Note:** `healthcare.FhirStoreIamPolicy` **cannot** be used in conjunction with `healthcare.FhirStoreIamBinding` and `healthcare.FhirStoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.FhirStoreIamBinding` resources **can be** used in conjunction with `healthcare.FhirStoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_fhir\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStoreIamPolicy(ctx, "fhir_store", &healthcare.FhirStoreIamPolicyArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamBinding(ctx, "fhir_store", &healthcare.FhirStoreIamBindingArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamMember(ctx, "fhir_store", &healthcare.FhirStoreIamMemberArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStoreIamPolicy(ctx, "fhir_store", &healthcare.FhirStoreIamPolicyArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamBinding(ctx, "fhir_store", &healthcare.FhirStoreIamBindingArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamMember(ctx, "fhir_store", &healthcare.FhirStoreIamMemberArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Healthcare FHIR store resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}/{{fhir_store}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}/{{fhir_store}}"

to = google_healthcare_fhir_store_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/fhirStoreIamMember:FhirStoreIamMember default {{project_id}}/{{location}}/{{dataset}}/{{fhir_store}} ```

func GetFhirStoreIamMember

func GetFhirStoreIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FhirStoreIamMemberState, opts ...pulumi.ResourceOption) (*FhirStoreIamMember, error)

GetFhirStoreIamMember gets an existing FhirStoreIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFhirStoreIamMember

func NewFhirStoreIamMember(ctx *pulumi.Context,
	name string, args *FhirStoreIamMemberArgs, opts ...pulumi.ResourceOption) (*FhirStoreIamMember, error)

NewFhirStoreIamMember registers a new resource with the given unique name, arguments, and options.

func (*FhirStoreIamMember) ElementType

func (*FhirStoreIamMember) ElementType() reflect.Type

func (*FhirStoreIamMember) ToFhirStoreIamMemberOutput

func (i *FhirStoreIamMember) ToFhirStoreIamMemberOutput() FhirStoreIamMemberOutput

func (*FhirStoreIamMember) ToFhirStoreIamMemberOutputWithContext

func (i *FhirStoreIamMember) ToFhirStoreIamMemberOutputWithContext(ctx context.Context) FhirStoreIamMemberOutput

type FhirStoreIamMemberArgs

type FhirStoreIamMemberArgs struct {
	Condition FhirStoreIamMemberConditionPtrInput
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringInput
	// The role that should be applied. Only one
	// `healthcare.FhirStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a FhirStoreIamMember resource.

func (FhirStoreIamMemberArgs) ElementType

func (FhirStoreIamMemberArgs) ElementType() reflect.Type

type FhirStoreIamMemberArray

type FhirStoreIamMemberArray []FhirStoreIamMemberInput

func (FhirStoreIamMemberArray) ElementType

func (FhirStoreIamMemberArray) ElementType() reflect.Type

func (FhirStoreIamMemberArray) ToFhirStoreIamMemberArrayOutput

func (i FhirStoreIamMemberArray) ToFhirStoreIamMemberArrayOutput() FhirStoreIamMemberArrayOutput

func (FhirStoreIamMemberArray) ToFhirStoreIamMemberArrayOutputWithContext

func (i FhirStoreIamMemberArray) ToFhirStoreIamMemberArrayOutputWithContext(ctx context.Context) FhirStoreIamMemberArrayOutput

type FhirStoreIamMemberArrayInput

type FhirStoreIamMemberArrayInput interface {
	pulumi.Input

	ToFhirStoreIamMemberArrayOutput() FhirStoreIamMemberArrayOutput
	ToFhirStoreIamMemberArrayOutputWithContext(context.Context) FhirStoreIamMemberArrayOutput
}

FhirStoreIamMemberArrayInput is an input type that accepts FhirStoreIamMemberArray and FhirStoreIamMemberArrayOutput values. You can construct a concrete instance of `FhirStoreIamMemberArrayInput` via:

FhirStoreIamMemberArray{ FhirStoreIamMemberArgs{...} }

type FhirStoreIamMemberArrayOutput

type FhirStoreIamMemberArrayOutput struct{ *pulumi.OutputState }

func (FhirStoreIamMemberArrayOutput) ElementType

func (FhirStoreIamMemberArrayOutput) Index

func (FhirStoreIamMemberArrayOutput) ToFhirStoreIamMemberArrayOutput

func (o FhirStoreIamMemberArrayOutput) ToFhirStoreIamMemberArrayOutput() FhirStoreIamMemberArrayOutput

func (FhirStoreIamMemberArrayOutput) ToFhirStoreIamMemberArrayOutputWithContext

func (o FhirStoreIamMemberArrayOutput) ToFhirStoreIamMemberArrayOutputWithContext(ctx context.Context) FhirStoreIamMemberArrayOutput

type FhirStoreIamMemberCondition

type FhirStoreIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type FhirStoreIamMemberConditionArgs

type FhirStoreIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (FhirStoreIamMemberConditionArgs) ElementType

func (FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionOutput

func (i FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionOutput() FhirStoreIamMemberConditionOutput

func (FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionOutputWithContext

func (i FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionOutputWithContext(ctx context.Context) FhirStoreIamMemberConditionOutput

func (FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionPtrOutput

func (i FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionPtrOutput() FhirStoreIamMemberConditionPtrOutput

func (FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionPtrOutputWithContext

func (i FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionPtrOutputWithContext(ctx context.Context) FhirStoreIamMemberConditionPtrOutput

type FhirStoreIamMemberConditionInput

type FhirStoreIamMemberConditionInput interface {
	pulumi.Input

	ToFhirStoreIamMemberConditionOutput() FhirStoreIamMemberConditionOutput
	ToFhirStoreIamMemberConditionOutputWithContext(context.Context) FhirStoreIamMemberConditionOutput
}

FhirStoreIamMemberConditionInput is an input type that accepts FhirStoreIamMemberConditionArgs and FhirStoreIamMemberConditionOutput values. You can construct a concrete instance of `FhirStoreIamMemberConditionInput` via:

FhirStoreIamMemberConditionArgs{...}

type FhirStoreIamMemberConditionOutput

type FhirStoreIamMemberConditionOutput struct{ *pulumi.OutputState }

func (FhirStoreIamMemberConditionOutput) Description

func (FhirStoreIamMemberConditionOutput) ElementType

func (FhirStoreIamMemberConditionOutput) Expression

func (FhirStoreIamMemberConditionOutput) Title

func (FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionOutput

func (o FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionOutput() FhirStoreIamMemberConditionOutput

func (FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionOutputWithContext

func (o FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionOutputWithContext(ctx context.Context) FhirStoreIamMemberConditionOutput

func (FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionPtrOutput

func (o FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionPtrOutput() FhirStoreIamMemberConditionPtrOutput

func (FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionPtrOutputWithContext

func (o FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionPtrOutputWithContext(ctx context.Context) FhirStoreIamMemberConditionPtrOutput

type FhirStoreIamMemberConditionPtrInput

type FhirStoreIamMemberConditionPtrInput interface {
	pulumi.Input

	ToFhirStoreIamMemberConditionPtrOutput() FhirStoreIamMemberConditionPtrOutput
	ToFhirStoreIamMemberConditionPtrOutputWithContext(context.Context) FhirStoreIamMemberConditionPtrOutput
}

FhirStoreIamMemberConditionPtrInput is an input type that accepts FhirStoreIamMemberConditionArgs, FhirStoreIamMemberConditionPtr and FhirStoreIamMemberConditionPtrOutput values. You can construct a concrete instance of `FhirStoreIamMemberConditionPtrInput` via:

        FhirStoreIamMemberConditionArgs{...}

or:

        nil

type FhirStoreIamMemberConditionPtrOutput

type FhirStoreIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (FhirStoreIamMemberConditionPtrOutput) Description

func (FhirStoreIamMemberConditionPtrOutput) Elem

func (FhirStoreIamMemberConditionPtrOutput) ElementType

func (FhirStoreIamMemberConditionPtrOutput) Expression

func (FhirStoreIamMemberConditionPtrOutput) Title

func (FhirStoreIamMemberConditionPtrOutput) ToFhirStoreIamMemberConditionPtrOutput

func (o FhirStoreIamMemberConditionPtrOutput) ToFhirStoreIamMemberConditionPtrOutput() FhirStoreIamMemberConditionPtrOutput

func (FhirStoreIamMemberConditionPtrOutput) ToFhirStoreIamMemberConditionPtrOutputWithContext

func (o FhirStoreIamMemberConditionPtrOutput) ToFhirStoreIamMemberConditionPtrOutputWithContext(ctx context.Context) FhirStoreIamMemberConditionPtrOutput

type FhirStoreIamMemberInput

type FhirStoreIamMemberInput interface {
	pulumi.Input

	ToFhirStoreIamMemberOutput() FhirStoreIamMemberOutput
	ToFhirStoreIamMemberOutputWithContext(ctx context.Context) FhirStoreIamMemberOutput
}

type FhirStoreIamMemberMap

type FhirStoreIamMemberMap map[string]FhirStoreIamMemberInput

func (FhirStoreIamMemberMap) ElementType

func (FhirStoreIamMemberMap) ElementType() reflect.Type

func (FhirStoreIamMemberMap) ToFhirStoreIamMemberMapOutput

func (i FhirStoreIamMemberMap) ToFhirStoreIamMemberMapOutput() FhirStoreIamMemberMapOutput

func (FhirStoreIamMemberMap) ToFhirStoreIamMemberMapOutputWithContext

func (i FhirStoreIamMemberMap) ToFhirStoreIamMemberMapOutputWithContext(ctx context.Context) FhirStoreIamMemberMapOutput

type FhirStoreIamMemberMapInput

type FhirStoreIamMemberMapInput interface {
	pulumi.Input

	ToFhirStoreIamMemberMapOutput() FhirStoreIamMemberMapOutput
	ToFhirStoreIamMemberMapOutputWithContext(context.Context) FhirStoreIamMemberMapOutput
}

FhirStoreIamMemberMapInput is an input type that accepts FhirStoreIamMemberMap and FhirStoreIamMemberMapOutput values. You can construct a concrete instance of `FhirStoreIamMemberMapInput` via:

FhirStoreIamMemberMap{ "key": FhirStoreIamMemberArgs{...} }

type FhirStoreIamMemberMapOutput

type FhirStoreIamMemberMapOutput struct{ *pulumi.OutputState }

func (FhirStoreIamMemberMapOutput) ElementType

func (FhirStoreIamMemberMapOutput) MapIndex

func (FhirStoreIamMemberMapOutput) ToFhirStoreIamMemberMapOutput

func (o FhirStoreIamMemberMapOutput) ToFhirStoreIamMemberMapOutput() FhirStoreIamMemberMapOutput

func (FhirStoreIamMemberMapOutput) ToFhirStoreIamMemberMapOutputWithContext

func (o FhirStoreIamMemberMapOutput) ToFhirStoreIamMemberMapOutputWithContext(ctx context.Context) FhirStoreIamMemberMapOutput

type FhirStoreIamMemberOutput

type FhirStoreIamMemberOutput struct{ *pulumi.OutputState }

func (FhirStoreIamMemberOutput) Condition

func (FhirStoreIamMemberOutput) ElementType

func (FhirStoreIamMemberOutput) ElementType() reflect.Type

func (FhirStoreIamMemberOutput) Etag

(Computed) The etag of the FHIR store's IAM policy.

func (FhirStoreIamMemberOutput) FhirStoreId

The FHIR store ID, in the form `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's project setting will be used as a fallback.

func (FhirStoreIamMemberOutput) Member

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

func (FhirStoreIamMemberOutput) Role

The role that should be applied. Only one `healthcare.FhirStoreIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (FhirStoreIamMemberOutput) ToFhirStoreIamMemberOutput

func (o FhirStoreIamMemberOutput) ToFhirStoreIamMemberOutput() FhirStoreIamMemberOutput

func (FhirStoreIamMemberOutput) ToFhirStoreIamMemberOutputWithContext

func (o FhirStoreIamMemberOutput) ToFhirStoreIamMemberOutputWithContext(ctx context.Context) FhirStoreIamMemberOutput

type FhirStoreIamMemberState

type FhirStoreIamMemberState struct {
	Condition FhirStoreIamMemberConditionPtrInput
	// (Computed) The etag of the FHIR store's IAM policy.
	Etag pulumi.StringPtrInput
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `healthcare.FhirStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (FhirStoreIamMemberState) ElementType

func (FhirStoreIamMemberState) ElementType() reflect.Type

type FhirStoreIamPolicy

type FhirStoreIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the FHIR store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringOutput `pulumi:"fhirStoreId"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
}

Three different resources help you manage your IAM policy for Healthcare FHIR store. Each of these resources serves a different use case:

* `healthcare.FhirStoreIamPolicy`: Authoritative. Sets the IAM policy for the FHIR store and replaces any existing policy already attached. * `healthcare.FhirStoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the FHIR store are preserved. * `healthcare.FhirStoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the FHIR store are preserved.

> **Note:** `healthcare.FhirStoreIamPolicy` **cannot** be used in conjunction with `healthcare.FhirStoreIamBinding` and `healthcare.FhirStoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.FhirStoreIamBinding` resources **can be** used in conjunction with `healthcare.FhirStoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_fhir\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStoreIamPolicy(ctx, "fhir_store", &healthcare.FhirStoreIamPolicyArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamBinding(ctx, "fhir_store", &healthcare.FhirStoreIamBindingArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamMember(ctx, "fhir_store", &healthcare.FhirStoreIamMemberArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStoreIamPolicy(ctx, "fhir_store", &healthcare.FhirStoreIamPolicyArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			PolicyData:  pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamBinding(ctx, "fhir_store", &healthcare.FhirStoreIamBindingArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_fhir\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewFhirStoreIamMember(ctx, "fhir_store", &healthcare.FhirStoreIamMemberArgs{
			FhirStoreId: pulumi.String("your-fhir-store-id"),
			Role:        pulumi.String("roles/editor"),
			Member:      pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Healthcare FHIR store resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}/{{fhir_store}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}/{{fhir_store}}"

to = google_healthcare_fhir_store_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/fhirStoreIamPolicy:FhirStoreIamPolicy default {{project_id}}/{{location}}/{{dataset}}/{{fhir_store}} ```

func GetFhirStoreIamPolicy

func GetFhirStoreIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FhirStoreIamPolicyState, opts ...pulumi.ResourceOption) (*FhirStoreIamPolicy, error)

GetFhirStoreIamPolicy gets an existing FhirStoreIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewFhirStoreIamPolicy

func NewFhirStoreIamPolicy(ctx *pulumi.Context,
	name string, args *FhirStoreIamPolicyArgs, opts ...pulumi.ResourceOption) (*FhirStoreIamPolicy, error)

NewFhirStoreIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*FhirStoreIamPolicy) ElementType

func (*FhirStoreIamPolicy) ElementType() reflect.Type

func (*FhirStoreIamPolicy) ToFhirStoreIamPolicyOutput

func (i *FhirStoreIamPolicy) ToFhirStoreIamPolicyOutput() FhirStoreIamPolicyOutput

func (*FhirStoreIamPolicy) ToFhirStoreIamPolicyOutputWithContext

func (i *FhirStoreIamPolicy) ToFhirStoreIamPolicyOutputWithContext(ctx context.Context) FhirStoreIamPolicyOutput

type FhirStoreIamPolicyArgs

type FhirStoreIamPolicyArgs struct {
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a FhirStoreIamPolicy resource.

func (FhirStoreIamPolicyArgs) ElementType

func (FhirStoreIamPolicyArgs) ElementType() reflect.Type

type FhirStoreIamPolicyArray

type FhirStoreIamPolicyArray []FhirStoreIamPolicyInput

func (FhirStoreIamPolicyArray) ElementType

func (FhirStoreIamPolicyArray) ElementType() reflect.Type

func (FhirStoreIamPolicyArray) ToFhirStoreIamPolicyArrayOutput

func (i FhirStoreIamPolicyArray) ToFhirStoreIamPolicyArrayOutput() FhirStoreIamPolicyArrayOutput

func (FhirStoreIamPolicyArray) ToFhirStoreIamPolicyArrayOutputWithContext

func (i FhirStoreIamPolicyArray) ToFhirStoreIamPolicyArrayOutputWithContext(ctx context.Context) FhirStoreIamPolicyArrayOutput

type FhirStoreIamPolicyArrayInput

type FhirStoreIamPolicyArrayInput interface {
	pulumi.Input

	ToFhirStoreIamPolicyArrayOutput() FhirStoreIamPolicyArrayOutput
	ToFhirStoreIamPolicyArrayOutputWithContext(context.Context) FhirStoreIamPolicyArrayOutput
}

FhirStoreIamPolicyArrayInput is an input type that accepts FhirStoreIamPolicyArray and FhirStoreIamPolicyArrayOutput values. You can construct a concrete instance of `FhirStoreIamPolicyArrayInput` via:

FhirStoreIamPolicyArray{ FhirStoreIamPolicyArgs{...} }

type FhirStoreIamPolicyArrayOutput

type FhirStoreIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (FhirStoreIamPolicyArrayOutput) ElementType

func (FhirStoreIamPolicyArrayOutput) Index

func (FhirStoreIamPolicyArrayOutput) ToFhirStoreIamPolicyArrayOutput

func (o FhirStoreIamPolicyArrayOutput) ToFhirStoreIamPolicyArrayOutput() FhirStoreIamPolicyArrayOutput

func (FhirStoreIamPolicyArrayOutput) ToFhirStoreIamPolicyArrayOutputWithContext

func (o FhirStoreIamPolicyArrayOutput) ToFhirStoreIamPolicyArrayOutputWithContext(ctx context.Context) FhirStoreIamPolicyArrayOutput

type FhirStoreIamPolicyInput

type FhirStoreIamPolicyInput interface {
	pulumi.Input

	ToFhirStoreIamPolicyOutput() FhirStoreIamPolicyOutput
	ToFhirStoreIamPolicyOutputWithContext(ctx context.Context) FhirStoreIamPolicyOutput
}

type FhirStoreIamPolicyMap

type FhirStoreIamPolicyMap map[string]FhirStoreIamPolicyInput

func (FhirStoreIamPolicyMap) ElementType

func (FhirStoreIamPolicyMap) ElementType() reflect.Type

func (FhirStoreIamPolicyMap) ToFhirStoreIamPolicyMapOutput

func (i FhirStoreIamPolicyMap) ToFhirStoreIamPolicyMapOutput() FhirStoreIamPolicyMapOutput

func (FhirStoreIamPolicyMap) ToFhirStoreIamPolicyMapOutputWithContext

func (i FhirStoreIamPolicyMap) ToFhirStoreIamPolicyMapOutputWithContext(ctx context.Context) FhirStoreIamPolicyMapOutput

type FhirStoreIamPolicyMapInput

type FhirStoreIamPolicyMapInput interface {
	pulumi.Input

	ToFhirStoreIamPolicyMapOutput() FhirStoreIamPolicyMapOutput
	ToFhirStoreIamPolicyMapOutputWithContext(context.Context) FhirStoreIamPolicyMapOutput
}

FhirStoreIamPolicyMapInput is an input type that accepts FhirStoreIamPolicyMap and FhirStoreIamPolicyMapOutput values. You can construct a concrete instance of `FhirStoreIamPolicyMapInput` via:

FhirStoreIamPolicyMap{ "key": FhirStoreIamPolicyArgs{...} }

type FhirStoreIamPolicyMapOutput

type FhirStoreIamPolicyMapOutput struct{ *pulumi.OutputState }

func (FhirStoreIamPolicyMapOutput) ElementType

func (FhirStoreIamPolicyMapOutput) MapIndex

func (FhirStoreIamPolicyMapOutput) ToFhirStoreIamPolicyMapOutput

func (o FhirStoreIamPolicyMapOutput) ToFhirStoreIamPolicyMapOutput() FhirStoreIamPolicyMapOutput

func (FhirStoreIamPolicyMapOutput) ToFhirStoreIamPolicyMapOutputWithContext

func (o FhirStoreIamPolicyMapOutput) ToFhirStoreIamPolicyMapOutputWithContext(ctx context.Context) FhirStoreIamPolicyMapOutput

type FhirStoreIamPolicyOutput

type FhirStoreIamPolicyOutput struct{ *pulumi.OutputState }

func (FhirStoreIamPolicyOutput) ElementType

func (FhirStoreIamPolicyOutput) ElementType() reflect.Type

func (FhirStoreIamPolicyOutput) Etag

(Computed) The etag of the FHIR store's IAM policy.

func (FhirStoreIamPolicyOutput) FhirStoreId

The FHIR store ID, in the form `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's project setting will be used as a fallback.

func (FhirStoreIamPolicyOutput) PolicyData

The policy data generated by a `organizations.getIAMPolicy` data source.

func (FhirStoreIamPolicyOutput) ToFhirStoreIamPolicyOutput

func (o FhirStoreIamPolicyOutput) ToFhirStoreIamPolicyOutput() FhirStoreIamPolicyOutput

func (FhirStoreIamPolicyOutput) ToFhirStoreIamPolicyOutputWithContext

func (o FhirStoreIamPolicyOutput) ToFhirStoreIamPolicyOutputWithContext(ctx context.Context) FhirStoreIamPolicyOutput

type FhirStoreIamPolicyState

type FhirStoreIamPolicyState struct {
	// (Computed) The etag of the FHIR store's IAM policy.
	Etag pulumi.StringPtrInput
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
}

func (FhirStoreIamPolicyState) ElementType

func (FhirStoreIamPolicyState) ElementType() reflect.Type

type FhirStoreInput

type FhirStoreInput interface {
	pulumi.Input

	ToFhirStoreOutput() FhirStoreOutput
	ToFhirStoreOutputWithContext(ctx context.Context) FhirStoreOutput
}

type FhirStoreMap

type FhirStoreMap map[string]FhirStoreInput

func (FhirStoreMap) ElementType

func (FhirStoreMap) ElementType() reflect.Type

func (FhirStoreMap) ToFhirStoreMapOutput

func (i FhirStoreMap) ToFhirStoreMapOutput() FhirStoreMapOutput

func (FhirStoreMap) ToFhirStoreMapOutputWithContext

func (i FhirStoreMap) ToFhirStoreMapOutputWithContext(ctx context.Context) FhirStoreMapOutput

type FhirStoreMapInput

type FhirStoreMapInput interface {
	pulumi.Input

	ToFhirStoreMapOutput() FhirStoreMapOutput
	ToFhirStoreMapOutputWithContext(context.Context) FhirStoreMapOutput
}

FhirStoreMapInput is an input type that accepts FhirStoreMap and FhirStoreMapOutput values. You can construct a concrete instance of `FhirStoreMapInput` via:

FhirStoreMap{ "key": FhirStoreArgs{...} }

type FhirStoreMapOutput

type FhirStoreMapOutput struct{ *pulumi.OutputState }

func (FhirStoreMapOutput) ElementType

func (FhirStoreMapOutput) ElementType() reflect.Type

func (FhirStoreMapOutput) MapIndex

func (FhirStoreMapOutput) ToFhirStoreMapOutput

func (o FhirStoreMapOutput) ToFhirStoreMapOutput() FhirStoreMapOutput

func (FhirStoreMapOutput) ToFhirStoreMapOutputWithContext

func (o FhirStoreMapOutput) ToFhirStoreMapOutputWithContext(ctx context.Context) FhirStoreMapOutput

type FhirStoreNotificationConfig

type FhirStoreNotificationConfig struct {
	// The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
	// PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
	// It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
	// was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
	// project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
	// Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
	PubsubTopic string `pulumi:"pubsubTopic"`
	// Whether to send full FHIR resource to this Pub/Sub topic for Create and Update operation.
	// Note that setting this to true does not guarantee that all resources will be sent in the format of
	// full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be
	// sent. Clients should always check the "payloadType" label from a Pub/Sub message to determine whether
	// it needs to fetch the full resource as a separate operation.
	SendFullResource *bool `pulumi:"sendFullResource"`
	// Whether to send full FHIR resource to this Pub/Sub topic for deleting FHIR resource. Note that setting this to
	// true does not guarantee that all previous resources will be sent in the format of full FHIR resource. When a
	// resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always
	// check the "payloadType" label from a Pub/Sub message to determine whether it needs to fetch the full previous
	// resource as a separate operation.
	SendPreviousResourceOnDelete *bool `pulumi:"sendPreviousResourceOnDelete"`
}

type FhirStoreNotificationConfigArgs

type FhirStoreNotificationConfigArgs struct {
	// The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
	// PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
	// It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
	// was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
	// project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
	// Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
	PubsubTopic pulumi.StringInput `pulumi:"pubsubTopic"`
	// Whether to send full FHIR resource to this Pub/Sub topic for Create and Update operation.
	// Note that setting this to true does not guarantee that all resources will be sent in the format of
	// full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be
	// sent. Clients should always check the "payloadType" label from a Pub/Sub message to determine whether
	// it needs to fetch the full resource as a separate operation.
	SendFullResource pulumi.BoolPtrInput `pulumi:"sendFullResource"`
	// Whether to send full FHIR resource to this Pub/Sub topic for deleting FHIR resource. Note that setting this to
	// true does not guarantee that all previous resources will be sent in the format of full FHIR resource. When a
	// resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always
	// check the "payloadType" label from a Pub/Sub message to determine whether it needs to fetch the full previous
	// resource as a separate operation.
	SendPreviousResourceOnDelete pulumi.BoolPtrInput `pulumi:"sendPreviousResourceOnDelete"`
}

func (FhirStoreNotificationConfigArgs) ElementType

func (FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigOutput

func (i FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigOutput() FhirStoreNotificationConfigOutput

func (FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigOutputWithContext

func (i FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigOutputWithContext(ctx context.Context) FhirStoreNotificationConfigOutput

func (FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigPtrOutput

func (i FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigPtrOutput() FhirStoreNotificationConfigPtrOutput

func (FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigPtrOutputWithContext

func (i FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigPtrOutputWithContext(ctx context.Context) FhirStoreNotificationConfigPtrOutput

type FhirStoreNotificationConfigArray

type FhirStoreNotificationConfigArray []FhirStoreNotificationConfigInput

func (FhirStoreNotificationConfigArray) ElementType

func (FhirStoreNotificationConfigArray) ToFhirStoreNotificationConfigArrayOutput

func (i FhirStoreNotificationConfigArray) ToFhirStoreNotificationConfigArrayOutput() FhirStoreNotificationConfigArrayOutput

func (FhirStoreNotificationConfigArray) ToFhirStoreNotificationConfigArrayOutputWithContext

func (i FhirStoreNotificationConfigArray) ToFhirStoreNotificationConfigArrayOutputWithContext(ctx context.Context) FhirStoreNotificationConfigArrayOutput

type FhirStoreNotificationConfigArrayInput

type FhirStoreNotificationConfigArrayInput interface {
	pulumi.Input

	ToFhirStoreNotificationConfigArrayOutput() FhirStoreNotificationConfigArrayOutput
	ToFhirStoreNotificationConfigArrayOutputWithContext(context.Context) FhirStoreNotificationConfigArrayOutput
}

FhirStoreNotificationConfigArrayInput is an input type that accepts FhirStoreNotificationConfigArray and FhirStoreNotificationConfigArrayOutput values. You can construct a concrete instance of `FhirStoreNotificationConfigArrayInput` via:

FhirStoreNotificationConfigArray{ FhirStoreNotificationConfigArgs{...} }

type FhirStoreNotificationConfigArrayOutput

type FhirStoreNotificationConfigArrayOutput struct{ *pulumi.OutputState }

func (FhirStoreNotificationConfigArrayOutput) ElementType

func (FhirStoreNotificationConfigArrayOutput) Index

func (FhirStoreNotificationConfigArrayOutput) ToFhirStoreNotificationConfigArrayOutput

func (o FhirStoreNotificationConfigArrayOutput) ToFhirStoreNotificationConfigArrayOutput() FhirStoreNotificationConfigArrayOutput

func (FhirStoreNotificationConfigArrayOutput) ToFhirStoreNotificationConfigArrayOutputWithContext

func (o FhirStoreNotificationConfigArrayOutput) ToFhirStoreNotificationConfigArrayOutputWithContext(ctx context.Context) FhirStoreNotificationConfigArrayOutput

type FhirStoreNotificationConfigInput

type FhirStoreNotificationConfigInput interface {
	pulumi.Input

	ToFhirStoreNotificationConfigOutput() FhirStoreNotificationConfigOutput
	ToFhirStoreNotificationConfigOutputWithContext(context.Context) FhirStoreNotificationConfigOutput
}

FhirStoreNotificationConfigInput is an input type that accepts FhirStoreNotificationConfigArgs and FhirStoreNotificationConfigOutput values. You can construct a concrete instance of `FhirStoreNotificationConfigInput` via:

FhirStoreNotificationConfigArgs{...}

type FhirStoreNotificationConfigOutput

type FhirStoreNotificationConfigOutput struct{ *pulumi.OutputState }

func (FhirStoreNotificationConfigOutput) ElementType

func (FhirStoreNotificationConfigOutput) PubsubTopic

The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

func (FhirStoreNotificationConfigOutput) SendFullResource

Whether to send full FHIR resource to this Pub/Sub topic for Create and Update operation. Note that setting this to true does not guarantee that all resources will be sent in the format of full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always check the "payloadType" label from a Pub/Sub message to determine whether it needs to fetch the full resource as a separate operation.

func (FhirStoreNotificationConfigOutput) SendPreviousResourceOnDelete

func (o FhirStoreNotificationConfigOutput) SendPreviousResourceOnDelete() pulumi.BoolPtrOutput

Whether to send full FHIR resource to this Pub/Sub topic for deleting FHIR resource. Note that setting this to true does not guarantee that all previous resources will be sent in the format of full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always check the "payloadType" label from a Pub/Sub message to determine whether it needs to fetch the full previous resource as a separate operation.

func (FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigOutput

func (o FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigOutput() FhirStoreNotificationConfigOutput

func (FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigOutputWithContext

func (o FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigOutputWithContext(ctx context.Context) FhirStoreNotificationConfigOutput

func (FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigPtrOutput

func (o FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigPtrOutput() FhirStoreNotificationConfigPtrOutput

func (FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigPtrOutputWithContext

func (o FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigPtrOutputWithContext(ctx context.Context) FhirStoreNotificationConfigPtrOutput

type FhirStoreNotificationConfigPtrInput

type FhirStoreNotificationConfigPtrInput interface {
	pulumi.Input

	ToFhirStoreNotificationConfigPtrOutput() FhirStoreNotificationConfigPtrOutput
	ToFhirStoreNotificationConfigPtrOutputWithContext(context.Context) FhirStoreNotificationConfigPtrOutput
}

FhirStoreNotificationConfigPtrInput is an input type that accepts FhirStoreNotificationConfigArgs, FhirStoreNotificationConfigPtr and FhirStoreNotificationConfigPtrOutput values. You can construct a concrete instance of `FhirStoreNotificationConfigPtrInput` via:

        FhirStoreNotificationConfigArgs{...}

or:

        nil

type FhirStoreNotificationConfigPtrOutput

type FhirStoreNotificationConfigPtrOutput struct{ *pulumi.OutputState }

func (FhirStoreNotificationConfigPtrOutput) Elem

func (FhirStoreNotificationConfigPtrOutput) ElementType

func (FhirStoreNotificationConfigPtrOutput) PubsubTopic

The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

func (FhirStoreNotificationConfigPtrOutput) SendFullResource

Whether to send full FHIR resource to this Pub/Sub topic for Create and Update operation. Note that setting this to true does not guarantee that all resources will be sent in the format of full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always check the "payloadType" label from a Pub/Sub message to determine whether it needs to fetch the full resource as a separate operation.

func (FhirStoreNotificationConfigPtrOutput) SendPreviousResourceOnDelete

func (o FhirStoreNotificationConfigPtrOutput) SendPreviousResourceOnDelete() pulumi.BoolPtrOutput

Whether to send full FHIR resource to this Pub/Sub topic for deleting FHIR resource. Note that setting this to true does not guarantee that all previous resources will be sent in the format of full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always check the "payloadType" label from a Pub/Sub message to determine whether it needs to fetch the full previous resource as a separate operation.

func (FhirStoreNotificationConfigPtrOutput) ToFhirStoreNotificationConfigPtrOutput

func (o FhirStoreNotificationConfigPtrOutput) ToFhirStoreNotificationConfigPtrOutput() FhirStoreNotificationConfigPtrOutput

func (FhirStoreNotificationConfigPtrOutput) ToFhirStoreNotificationConfigPtrOutputWithContext

func (o FhirStoreNotificationConfigPtrOutput) ToFhirStoreNotificationConfigPtrOutputWithContext(ctx context.Context) FhirStoreNotificationConfigPtrOutput

type FhirStoreOutput

type FhirStoreOutput struct{ *pulumi.OutputState }

func (FhirStoreOutput) ComplexDataTypeReferenceParsing

func (o FhirStoreOutput) ComplexDataTypeReferenceParsing() pulumi.StringOutput

Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED by default after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources. Possible values are: `COMPLEX_DATA_TYPE_REFERENCE_PARSING_UNSPECIFIED`, `DISABLED`, `ENABLED`.

func (FhirStoreOutput) Dataset

func (o FhirStoreOutput) Dataset() pulumi.StringOutput

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'

***

func (FhirStoreOutput) DefaultSearchHandlingStrict

func (o FhirStoreOutput) DefaultSearchHandlingStrict() pulumi.BoolPtrOutput

If true, overrides the default search behavior for this FHIR store to handling=strict which returns an error for unrecognized search parameters. If false, uses the FHIR specification default handling=lenient which ignores unrecognized search parameters. The handling can always be changed from the default on an individual API call by setting the HTTP header Prefer: handling=strict or Prefer: handling=lenient.

func (FhirStoreOutput) DisableReferentialIntegrity

func (o FhirStoreOutput) DisableReferentialIntegrity() pulumi.BoolPtrOutput

Whether to disable referential integrity in this FHIR store. This field is immutable after FHIR store creation. The default value is false, meaning that the API will enforce referential integrity and fail the requests that will result in inconsistent state in the FHIR store. When this field is set to true, the API will skip referential integrity check. Consequently, operations that rely on references, such as Patient.get$everything, will not return all the results if broken references exist. ** Changing this property may recreate the FHIR store (removing all data) **

func (FhirStoreOutput) DisableResourceVersioning

func (o FhirStoreOutput) DisableResourceVersioning() pulumi.BoolPtrOutput

Whether to disable resource versioning for this FHIR store. This field can not be changed after the creation of FHIR store. If set to false, which is the default behavior, all write operations will cause historical versions to be recorded automatically. The historical versions can be fetched through the history APIs, but cannot be updated. If set to true, no historical versions will be kept. The server will send back errors for attempts to read the historical versions. ** Changing this property may recreate the FHIR store (removing all data) **

func (FhirStoreOutput) EffectiveLabels

func (o FhirStoreOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (FhirStoreOutput) ElementType

func (FhirStoreOutput) ElementType() reflect.Type

func (FhirStoreOutput) EnableHistoryImport

func (o FhirStoreOutput) EnableHistoryImport() pulumi.BoolPtrOutput

Whether to allow the bulk import API to accept history bundles and directly insert historical resource versions into the FHIR store. Importing resource histories creates resource interactions that appear to have occurred in the past, which clients may not want to allow. If set to false, history bundles within an import will fail with an error. ** Changing this property may recreate the FHIR store (removing all data) ** ** This property can be changed manually in the Google Cloud Healthcare admin console without recreating the FHIR store **

func (FhirStoreOutput) EnableHistoryModifications added in v7.7.0

func (o FhirStoreOutput) EnableHistoryModifications() pulumi.BoolPtrOutput

Whether to allow the ExecuteBundle API to accept history bundles, and directly insert and overwrite historical resource versions into the FHIR store. If set to false, using history bundles fails with an error.

func (FhirStoreOutput) EnableUpdateCreate

func (o FhirStoreOutput) EnableUpdateCreate() pulumi.BoolPtrOutput

Whether this FHIR store has the updateCreate capability. This determines if the client can use an Update operation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through the Create operation and attempts to Update a non-existent resource will return errors. Please treat the audit logs with appropriate levels of care if client-specified resource IDs contain sensitive data such as patient identifiers, those IDs will be part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub notifications.

func (FhirStoreOutput) Labels

User-supplied key-value pairs used to organize FHIR stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effectiveLabels` for all of the labels present on the resource.

func (FhirStoreOutput) Name

The resource name for the FhirStore. ** Changing this property may recreate the FHIR store (removing all data) **

func (FhirStoreOutput) NotificationConfig

A nested object resource Structure is documented below.

func (FhirStoreOutput) NotificationConfigs

A list of notifcation configs that configure the notification for every resource mutation in this FHIR store. Structure is documented below.

func (FhirStoreOutput) PulumiLabels

func (o FhirStoreOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (o FhirStoreOutput) SelfLink() pulumi.StringOutput

The fully qualified name of this dataset

func (FhirStoreOutput) StreamConfigs

A list of streaming configs that configure the destinations of streaming export for every resource mutation in this FHIR store. Each store is allowed to have up to 10 streaming configs. After a new config is added, the next resource mutation is streamed to the new location in addition to the existing ones. When a location is removed from the list, the server stops streaming to that location. Before adding a new config, you must add the required bigquery.dataEditor role to your project's Cloud Healthcare Service Agent service account. Some lag (typically on the order of dozens of seconds) is expected before the results show up in the streaming destination. Structure is documented below.

func (FhirStoreOutput) ToFhirStoreOutput

func (o FhirStoreOutput) ToFhirStoreOutput() FhirStoreOutput

func (FhirStoreOutput) ToFhirStoreOutputWithContext

func (o FhirStoreOutput) ToFhirStoreOutputWithContext(ctx context.Context) FhirStoreOutput

func (FhirStoreOutput) Version

The FHIR specification version. Default value is `STU3`. Possible values are: `DSTU2`, `STU3`, `R4`.

type FhirStoreState

type FhirStoreState struct {
	// Enable parsing of references within complex FHIR data types such as Extensions. If this value is set to ENABLED, then features like referential integrity and Bundle reference rewriting apply to all references. If this flag has not been specified the behavior of the FHIR store will not change, references in complex data types will not be parsed. New stores will have this value set to ENABLED by default after a notification period. Warning: turning on this flag causes processing existing resources to fail if they contain references to non-existent resources.
	// Possible values are: `COMPLEX_DATA_TYPE_REFERENCE_PARSING_UNSPECIFIED`, `DISABLED`, `ENABLED`.
	ComplexDataTypeReferenceParsing pulumi.StringPtrInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringPtrInput
	// If true, overrides the default search behavior for this FHIR store to handling=strict which returns an error for unrecognized search parameters.
	// If false, uses the FHIR specification default handling=lenient which ignores unrecognized search parameters.
	// The handling can always be changed from the default on an individual API call by setting the HTTP header Prefer: handling=strict or Prefer: handling=lenient.
	DefaultSearchHandlingStrict pulumi.BoolPtrInput
	// Whether to disable referential integrity in this FHIR store. This field is immutable after FHIR store
	// creation. The default value is false, meaning that the API will enforce referential integrity and fail the
	// requests that will result in inconsistent state in the FHIR store. When this field is set to true, the API
	// will skip referential integrity check. Consequently, operations that rely on references, such as
	// Patient.get$everything, will not return all the results if broken references exist.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	DisableReferentialIntegrity pulumi.BoolPtrInput
	// Whether to disable resource versioning for this FHIR store. This field can not be changed after the creation
	// of FHIR store. If set to false, which is the default behavior, all write operations will cause historical
	// versions to be recorded automatically. The historical versions can be fetched through the history APIs, but
	// cannot be updated. If set to true, no historical versions will be kept. The server will send back errors for
	// attempts to read the historical versions.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	DisableResourceVersioning pulumi.BoolPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// Whether to allow the bulk import API to accept history bundles and directly insert historical resource
	// versions into the FHIR store. Importing resource histories creates resource interactions that appear to have
	// occurred in the past, which clients may not want to allow. If set to false, history bundles within an import
	// will fail with an error.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	// ** This property can be changed manually in the Google Cloud Healthcare admin console without recreating the FHIR store **
	EnableHistoryImport pulumi.BoolPtrInput
	// Whether to allow the ExecuteBundle API to accept history bundles, and directly insert and overwrite historical
	// resource versions into the FHIR store. If set to false, using history bundles fails with an error.
	EnableHistoryModifications pulumi.BoolPtrInput
	// Whether this FHIR store has the updateCreate capability. This determines if the client can use an Update
	// operation to create a new resource with a client-specified ID. If false, all IDs are server-assigned through
	// the Create operation and attempts to Update a non-existent resource will return errors. Please treat the audit
	// logs with appropriate levels of care if client-specified resource IDs contain sensitive data such as patient
	// identifiers, those IDs will be part of the FHIR resource path recorded in Cloud audit logs and Cloud Pub/Sub
	// notifications.
	EnableUpdateCreate pulumi.BoolPtrInput
	// User-supplied key-value pairs used to organize FHIR stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The resource name for the FhirStore.
	// ** Changing this property may recreate the FHIR store (removing all data) **
	Name pulumi.StringPtrInput
	// A nested object resource
	// Structure is documented below.
	NotificationConfig FhirStoreNotificationConfigPtrInput
	// A list of notifcation configs that configure the notification for every resource mutation in this FHIR store.
	// Structure is documented below.
	NotificationConfigs FhirStoreNotificationConfigArrayInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// The fully qualified name of this dataset
	SelfLink pulumi.StringPtrInput
	// A list of streaming configs that configure the destinations of streaming export for every resource mutation in
	// this FHIR store. Each store is allowed to have up to 10 streaming configs. After a new config is added, the next
	// resource mutation is streamed to the new location in addition to the existing ones. When a location is removed
	// from the list, the server stops streaming to that location. Before adding a new config, you must add the required
	// bigquery.dataEditor role to your project's Cloud Healthcare Service Agent service account. Some lag (typically on
	// the order of dozens of seconds) is expected before the results show up in the streaming destination.
	// Structure is documented below.
	StreamConfigs FhirStoreStreamConfigArrayInput
	// The FHIR specification version.
	// Default value is `STU3`.
	// Possible values are: `DSTU2`, `STU3`, `R4`.
	Version pulumi.StringPtrInput
}

func (FhirStoreState) ElementType

func (FhirStoreState) ElementType() reflect.Type

type FhirStoreStreamConfig

type FhirStoreStreamConfig struct {
	// The destination BigQuery structure that contains both the dataset location and corresponding schema config.
	// The output is organized in one table per resource type. The server reuses the existing tables (if any) that
	// are named after the resource types, e.g. "Patient", "Observation". When there is no existing table for a given
	// resource type, the server attempts to create one.
	// See the [streaming config reference](https://cloud.google.com/healthcare/docs/reference/rest/v1beta1/projects.locations.datasets.fhirStores#streamconfig) for more details.
	// Structure is documented below.
	BigqueryDestination FhirStoreStreamConfigBigqueryDestination `pulumi:"bigqueryDestination"`
	// Supply a FHIR resource type (such as "Patient" or "Observation"). See
	// https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats
	// an empty list as an intent to stream all the supported resource types in this FHIR store.
	ResourceTypes []string `pulumi:"resourceTypes"`
}

type FhirStoreStreamConfigArgs

type FhirStoreStreamConfigArgs struct {
	// The destination BigQuery structure that contains both the dataset location and corresponding schema config.
	// The output is organized in one table per resource type. The server reuses the existing tables (if any) that
	// are named after the resource types, e.g. "Patient", "Observation". When there is no existing table for a given
	// resource type, the server attempts to create one.
	// See the [streaming config reference](https://cloud.google.com/healthcare/docs/reference/rest/v1beta1/projects.locations.datasets.fhirStores#streamconfig) for more details.
	// Structure is documented below.
	BigqueryDestination FhirStoreStreamConfigBigqueryDestinationInput `pulumi:"bigqueryDestination"`
	// Supply a FHIR resource type (such as "Patient" or "Observation"). See
	// https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats
	// an empty list as an intent to stream all the supported resource types in this FHIR store.
	ResourceTypes pulumi.StringArrayInput `pulumi:"resourceTypes"`
}

func (FhirStoreStreamConfigArgs) ElementType

func (FhirStoreStreamConfigArgs) ElementType() reflect.Type

func (FhirStoreStreamConfigArgs) ToFhirStoreStreamConfigOutput

func (i FhirStoreStreamConfigArgs) ToFhirStoreStreamConfigOutput() FhirStoreStreamConfigOutput

func (FhirStoreStreamConfigArgs) ToFhirStoreStreamConfigOutputWithContext

func (i FhirStoreStreamConfigArgs) ToFhirStoreStreamConfigOutputWithContext(ctx context.Context) FhirStoreStreamConfigOutput

type FhirStoreStreamConfigArray

type FhirStoreStreamConfigArray []FhirStoreStreamConfigInput

func (FhirStoreStreamConfigArray) ElementType

func (FhirStoreStreamConfigArray) ElementType() reflect.Type

func (FhirStoreStreamConfigArray) ToFhirStoreStreamConfigArrayOutput

func (i FhirStoreStreamConfigArray) ToFhirStoreStreamConfigArrayOutput() FhirStoreStreamConfigArrayOutput

func (FhirStoreStreamConfigArray) ToFhirStoreStreamConfigArrayOutputWithContext

func (i FhirStoreStreamConfigArray) ToFhirStoreStreamConfigArrayOutputWithContext(ctx context.Context) FhirStoreStreamConfigArrayOutput

type FhirStoreStreamConfigArrayInput

type FhirStoreStreamConfigArrayInput interface {
	pulumi.Input

	ToFhirStoreStreamConfigArrayOutput() FhirStoreStreamConfigArrayOutput
	ToFhirStoreStreamConfigArrayOutputWithContext(context.Context) FhirStoreStreamConfigArrayOutput
}

FhirStoreStreamConfigArrayInput is an input type that accepts FhirStoreStreamConfigArray and FhirStoreStreamConfigArrayOutput values. You can construct a concrete instance of `FhirStoreStreamConfigArrayInput` via:

FhirStoreStreamConfigArray{ FhirStoreStreamConfigArgs{...} }

type FhirStoreStreamConfigArrayOutput

type FhirStoreStreamConfigArrayOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigArrayOutput) ElementType

func (FhirStoreStreamConfigArrayOutput) Index

func (FhirStoreStreamConfigArrayOutput) ToFhirStoreStreamConfigArrayOutput

func (o FhirStoreStreamConfigArrayOutput) ToFhirStoreStreamConfigArrayOutput() FhirStoreStreamConfigArrayOutput

func (FhirStoreStreamConfigArrayOutput) ToFhirStoreStreamConfigArrayOutputWithContext

func (o FhirStoreStreamConfigArrayOutput) ToFhirStoreStreamConfigArrayOutputWithContext(ctx context.Context) FhirStoreStreamConfigArrayOutput

type FhirStoreStreamConfigBigqueryDestination

type FhirStoreStreamConfigBigqueryDestination struct {
	// BigQuery URI to a dataset, up to 2000 characters long, in the format bq://projectId.bqDatasetId
	DatasetUri string `pulumi:"datasetUri"`
	// The configuration for the exported BigQuery schema.
	// Structure is documented below.
	SchemaConfig FhirStoreStreamConfigBigqueryDestinationSchemaConfig `pulumi:"schemaConfig"`
}

type FhirStoreStreamConfigBigqueryDestinationArgs

type FhirStoreStreamConfigBigqueryDestinationArgs struct {
	// BigQuery URI to a dataset, up to 2000 characters long, in the format bq://projectId.bqDatasetId
	DatasetUri pulumi.StringInput `pulumi:"datasetUri"`
	// The configuration for the exported BigQuery schema.
	// Structure is documented below.
	SchemaConfig FhirStoreStreamConfigBigqueryDestinationSchemaConfigInput `pulumi:"schemaConfig"`
}

func (FhirStoreStreamConfigBigqueryDestinationArgs) ElementType

func (FhirStoreStreamConfigBigqueryDestinationArgs) ToFhirStoreStreamConfigBigqueryDestinationOutput

func (i FhirStoreStreamConfigBigqueryDestinationArgs) ToFhirStoreStreamConfigBigqueryDestinationOutput() FhirStoreStreamConfigBigqueryDestinationOutput

func (FhirStoreStreamConfigBigqueryDestinationArgs) ToFhirStoreStreamConfigBigqueryDestinationOutputWithContext

func (i FhirStoreStreamConfigBigqueryDestinationArgs) ToFhirStoreStreamConfigBigqueryDestinationOutputWithContext(ctx context.Context) FhirStoreStreamConfigBigqueryDestinationOutput

type FhirStoreStreamConfigBigqueryDestinationInput

type FhirStoreStreamConfigBigqueryDestinationInput interface {
	pulumi.Input

	ToFhirStoreStreamConfigBigqueryDestinationOutput() FhirStoreStreamConfigBigqueryDestinationOutput
	ToFhirStoreStreamConfigBigqueryDestinationOutputWithContext(context.Context) FhirStoreStreamConfigBigqueryDestinationOutput
}

FhirStoreStreamConfigBigqueryDestinationInput is an input type that accepts FhirStoreStreamConfigBigqueryDestinationArgs and FhirStoreStreamConfigBigqueryDestinationOutput values. You can construct a concrete instance of `FhirStoreStreamConfigBigqueryDestinationInput` via:

FhirStoreStreamConfigBigqueryDestinationArgs{...}

type FhirStoreStreamConfigBigqueryDestinationOutput

type FhirStoreStreamConfigBigqueryDestinationOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigBigqueryDestinationOutput) DatasetUri

BigQuery URI to a dataset, up to 2000 characters long, in the format bq://projectId.bqDatasetId

func (FhirStoreStreamConfigBigqueryDestinationOutput) ElementType

func (FhirStoreStreamConfigBigqueryDestinationOutput) SchemaConfig

The configuration for the exported BigQuery schema. Structure is documented below.

func (FhirStoreStreamConfigBigqueryDestinationOutput) ToFhirStoreStreamConfigBigqueryDestinationOutput

func (o FhirStoreStreamConfigBigqueryDestinationOutput) ToFhirStoreStreamConfigBigqueryDestinationOutput() FhirStoreStreamConfigBigqueryDestinationOutput

func (FhirStoreStreamConfigBigqueryDestinationOutput) ToFhirStoreStreamConfigBigqueryDestinationOutputWithContext

func (o FhirStoreStreamConfigBigqueryDestinationOutput) ToFhirStoreStreamConfigBigqueryDestinationOutputWithContext(ctx context.Context) FhirStoreStreamConfigBigqueryDestinationOutput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfig

type FhirStoreStreamConfigBigqueryDestinationSchemaConfig struct {
	// The configuration for exported BigQuery tables to be partitioned by FHIR resource's last updated time column.
	// Structure is documented below.
	LastUpdatedPartitionConfig *FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfig `pulumi:"lastUpdatedPartitionConfig"`
	// The depth for all recursive structures in the output analytics schema. For example, concept in the CodeSystem
	// resource is a recursive structure; when the depth is 2, the CodeSystem table will have a column called
	// concept.concept but not concept.concept.concept. If not specified or set to 0, the server will use the default
	// value 2. The maximum depth allowed is 5.
	RecursiveStructureDepth int `pulumi:"recursiveStructureDepth"`
	// Specifies the output schema type.
	// * ANALYTICS: Analytics schema defined by the FHIR community.
	//   See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
	// * ANALYTICS_V2: Analytics V2, similar to schema defined by the FHIR community, with added support for extensions with one or more occurrences and contained resources in stringified JSON.
	// * LOSSLESS: A data-driven schema generated from the fields present in the FHIR data being exported, with no additional simplification.
	//   Default value is `ANALYTICS`.
	//   Possible values are: `ANALYTICS`, `ANALYTICS_V2`, `LOSSLESS`.
	SchemaType *string `pulumi:"schemaType"`
}

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs struct {
	// The configuration for exported BigQuery tables to be partitioned by FHIR resource's last updated time column.
	// Structure is documented below.
	LastUpdatedPartitionConfig FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrInput `pulumi:"lastUpdatedPartitionConfig"`
	// The depth for all recursive structures in the output analytics schema. For example, concept in the CodeSystem
	// resource is a recursive structure; when the depth is 2, the CodeSystem table will have a column called
	// concept.concept but not concept.concept.concept. If not specified or set to 0, the server will use the default
	// value 2. The maximum depth allowed is 5.
	RecursiveStructureDepth pulumi.IntInput `pulumi:"recursiveStructureDepth"`
	// Specifies the output schema type.
	// * ANALYTICS: Analytics schema defined by the FHIR community.
	//   See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
	// * ANALYTICS_V2: Analytics V2, similar to schema defined by the FHIR community, with added support for extensions with one or more occurrences and contained resources in stringified JSON.
	// * LOSSLESS: A data-driven schema generated from the fields present in the FHIR data being exported, with no additional simplification.
	//   Default value is `ANALYTICS`.
	//   Possible values are: `ANALYTICS`, `ANALYTICS_V2`, `LOSSLESS`.
	SchemaType pulumi.StringPtrInput `pulumi:"schemaType"`
}

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs) ElementType

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutputWithContext

func (i FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutputWithContext(ctx context.Context) FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigInput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigInput interface {
	pulumi.Input

	ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput() FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput
	ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutputWithContext(context.Context) FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput
}

FhirStoreStreamConfigBigqueryDestinationSchemaConfigInput is an input type that accepts FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs and FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput values. You can construct a concrete instance of `FhirStoreStreamConfigBigqueryDestinationSchemaConfigInput` via:

FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs{...}

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfig

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfig struct {
	// Number of milliseconds for which to keep the storage for a partition.
	ExpirationMs *string `pulumi:"expirationMs"`
	// Type of partitioning.
	// Possible values are: `PARTITION_TYPE_UNSPECIFIED`, `HOUR`, `DAY`, `MONTH`, `YEAR`.
	Type string `pulumi:"type"`
}

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs struct {
	// Number of milliseconds for which to keep the storage for a partition.
	ExpirationMs pulumi.StringPtrInput `pulumi:"expirationMs"`
	// Type of partitioning.
	// Possible values are: `PARTITION_TYPE_UNSPECIFIED`, `HOUR`, `DAY`, `MONTH`, `YEAR`.
	Type pulumi.StringInput `pulumi:"type"`
}

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs) ElementType

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutputWithContext

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutputWithContext

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigInput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigInput interface {
	pulumi.Input

	ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput() FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput
	ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutputWithContext(context.Context) FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput
}

FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigInput is an input type that accepts FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs and FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput values. You can construct a concrete instance of `FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigInput` via:

FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs{...}

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ElementType

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ExpirationMs

Number of milliseconds for which to keep the storage for a partition.

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutputWithContext

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutputWithContext

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) Type

Type of partitioning. Possible values are: `PARTITION_TYPE_UNSPECIFIED`, `HOUR`, `DAY`, `MONTH`, `YEAR`.

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrInput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrInput interface {
	pulumi.Input

	ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput() FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput
	ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutputWithContext(context.Context) FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput
}

FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrInput is an input type that accepts FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs, FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtr and FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput values. You can construct a concrete instance of `FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrInput` via:

        FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs{...}

or:

        nil

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) ElementType

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) ExpirationMs

Number of milliseconds for which to keep the storage for a partition.

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutputWithContext

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) Type

Type of partitioning. Possible values are: `PARTITION_TYPE_UNSPECIFIED`, `HOUR`, `DAY`, `MONTH`, `YEAR`.

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) ElementType

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) LastUpdatedPartitionConfig

The configuration for exported BigQuery tables to be partitioned by FHIR resource's last updated time column. Structure is documented below.

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) RecursiveStructureDepth

The depth for all recursive structures in the output analytics schema. For example, concept in the CodeSystem resource is a recursive structure; when the depth is 2, the CodeSystem table will have a column called concept.concept but not concept.concept.concept. If not specified or set to 0, the server will use the default value 2. The maximum depth allowed is 5.

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) SchemaType

Specifies the output schema type.

  • ANALYTICS: Analytics schema defined by the FHIR community. See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
  • ANALYTICS_V2: Analytics V2, similar to schema defined by the FHIR community, with added support for extensions with one or more occurrences and contained resources in stringified JSON.
  • LOSSLESS: A data-driven schema generated from the fields present in the FHIR data being exported, with no additional simplification. Default value is `ANALYTICS`. Possible values are: `ANALYTICS`, `ANALYTICS_V2`, `LOSSLESS`.

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutputWithContext

func (o FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutputWithContext(ctx context.Context) FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput

type FhirStoreStreamConfigInput

type FhirStoreStreamConfigInput interface {
	pulumi.Input

	ToFhirStoreStreamConfigOutput() FhirStoreStreamConfigOutput
	ToFhirStoreStreamConfigOutputWithContext(context.Context) FhirStoreStreamConfigOutput
}

FhirStoreStreamConfigInput is an input type that accepts FhirStoreStreamConfigArgs and FhirStoreStreamConfigOutput values. You can construct a concrete instance of `FhirStoreStreamConfigInput` via:

FhirStoreStreamConfigArgs{...}

type FhirStoreStreamConfigOutput

type FhirStoreStreamConfigOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigOutput) BigqueryDestination

The destination BigQuery structure that contains both the dataset location and corresponding schema config. The output is organized in one table per resource type. The server reuses the existing tables (if any) that are named after the resource types, e.g. "Patient", "Observation". When there is no existing table for a given resource type, the server attempts to create one. See the [streaming config reference](https://cloud.google.com/healthcare/docs/reference/rest/v1beta1/projects.locations.datasets.fhirStores#streamconfig) for more details. Structure is documented below.

func (FhirStoreStreamConfigOutput) ElementType

func (FhirStoreStreamConfigOutput) ResourceTypes

Supply a FHIR resource type (such as "Patient" or "Observation"). See https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats an empty list as an intent to stream all the supported resource types in this FHIR store.

func (FhirStoreStreamConfigOutput) ToFhirStoreStreamConfigOutput

func (o FhirStoreStreamConfigOutput) ToFhirStoreStreamConfigOutput() FhirStoreStreamConfigOutput

func (FhirStoreStreamConfigOutput) ToFhirStoreStreamConfigOutputWithContext

func (o FhirStoreStreamConfigOutput) ToFhirStoreStreamConfigOutputWithContext(ctx context.Context) FhirStoreStreamConfigOutput

type GetHl7V2StoreIamPolicyArgs

type GetHl7V2StoreIamPolicyArgs struct {
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId string `pulumi:"hl7V2StoreId"`
}

A collection of arguments for invoking getHl7V2StoreIamPolicy.

type GetHl7V2StoreIamPolicyOutputArgs

type GetHl7V2StoreIamPolicyOutputArgs struct {
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringInput `pulumi:"hl7V2StoreId"`
}

A collection of arguments for invoking getHl7V2StoreIamPolicy.

func (GetHl7V2StoreIamPolicyOutputArgs) ElementType

type GetHl7V2StoreIamPolicyResult

type GetHl7V2StoreIamPolicyResult struct {
	// (Computed) The etag of the IAM policy.
	Etag         string `pulumi:"etag"`
	Hl7V2StoreId string `pulumi:"hl7V2StoreId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Computed) The policy data
	PolicyData string `pulumi:"policyData"`
}

A collection of values returned by getHl7V2StoreIamPolicy.

func GetHl7V2StoreIamPolicy

func GetHl7V2StoreIamPolicy(ctx *pulumi.Context, args *GetHl7V2StoreIamPolicyArgs, opts ...pulumi.InvokeOption) (*GetHl7V2StoreIamPolicyResult, error)

Retrieves the current IAM policy data for a Google Cloud Healthcare HL7v2 store.

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.GetHl7V2StoreIamPolicy(ctx, &healthcare.GetHl7V2StoreIamPolicyArgs{
			Hl7V2StoreId: hl7V2Store.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetHl7V2StoreIamPolicyResultOutput

type GetHl7V2StoreIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHl7V2StoreIamPolicy.

func (GetHl7V2StoreIamPolicyResultOutput) ElementType

func (GetHl7V2StoreIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (GetHl7V2StoreIamPolicyResultOutput) Hl7V2StoreId

func (GetHl7V2StoreIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetHl7V2StoreIamPolicyResultOutput) PolicyData

(Computed) The policy data

func (GetHl7V2StoreIamPolicyResultOutput) ToGetHl7V2StoreIamPolicyResultOutput

func (o GetHl7V2StoreIamPolicyResultOutput) ToGetHl7V2StoreIamPolicyResultOutput() GetHl7V2StoreIamPolicyResultOutput

func (GetHl7V2StoreIamPolicyResultOutput) ToGetHl7V2StoreIamPolicyResultOutputWithContext

func (o GetHl7V2StoreIamPolicyResultOutput) ToGetHl7V2StoreIamPolicyResultOutputWithContext(ctx context.Context) GetHl7V2StoreIamPolicyResultOutput

type Hl7Store

type Hl7Store struct {
	pulumi.CustomResourceState

	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapOutput `pulumi:"effectiveLabels"`
	// User-supplied key-value pairs used to organize HL7v2 stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The resource name for the Hl7V2Store.
	// ** Changing this property may recreate the Hl7v2 store (removing all data) **
	Name pulumi.StringOutput `pulumi:"name"`
	// (Optional, Deprecated)
	// A nested object resource
	// Structure is documented below.
	//
	// > **Warning:** `notificationConfig` is deprecated and will be removed in a future major release. Use `notificationConfigs` instead.
	//
	// Deprecated: `notificationConfig` is deprecated and will be removed in a future major release. Use `notificationConfigs` instead.
	NotificationConfig Hl7StoreNotificationConfigPtrOutput `pulumi:"notificationConfig"`
	// A list of notification configs. Each configuration uses a filter to determine whether to publish a
	// message (both Ingest & Create) on the corresponding notification destination. Only the message name
	// is sent as part of the notification. Supplied by the client.
	// Structure is documented below.
	NotificationConfigs Hl7StoreNotificationConfigsArrayOutput `pulumi:"notificationConfigs"`
	// A nested object resource
	// Structure is documented below.
	ParserConfig Hl7StoreParserConfigOutput `pulumi:"parserConfig"`
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapOutput `pulumi:"pulumiLabels"`
	// Determines whether duplicate messages are allowed.
	RejectDuplicateMessage pulumi.BoolPtrOutput `pulumi:"rejectDuplicateMessage"`
	// The fully qualified name of this dataset
	SelfLink pulumi.StringOutput `pulumi:"selfLink"`
}

A Hl7V2Store is a datastore inside a Healthcare dataset that conforms to the FHIR (https://www.hl7.org/hl7V2/STU3/) standard for Healthcare information exchange

To get more information about Hl7V2Store, see:

* [API documentation](https://cloud.google.com/healthcare/docs/reference/rest/v1/projects.locations.datasets.hl7V2Stores) * How-to Guides

## Example Usage

### Healthcare Hl7 V2 Store Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		topic, err := pubsub.NewTopic(ctx, "topic", &pubsub.TopicArgs{
			Name: pulumi.String("hl7-v2-notifications"),
		})
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Name:     pulumi.String("example-dataset"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7Store(ctx, "store", &healthcare.Hl7StoreArgs{
			Name:                   pulumi.String("example-hl7-v2-store"),
			Dataset:                dataset.ID(),
			RejectDuplicateMessage: pulumi.Bool(true),
			NotificationConfigs: healthcare.Hl7StoreNotificationConfigsArray{
				&healthcare.Hl7StoreNotificationConfigsArgs{
					PubsubTopic: topic.ID(),
				},
			},
			Labels: pulumi.StringMap{
				"label1": pulumi.String("labelvalue1"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Hl7 V2 Store Parser Config

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Name:     pulumi.String("example-dataset"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7Store(ctx, "store", &healthcare.Hl7StoreArgs{
			Name:    pulumi.String("example-hl7-v2-store"),
			Dataset: dataset.ID(),
			ParserConfig: &healthcare.Hl7StoreParserConfigArgs{
				AllowNullHeader:   pulumi.Bool(false),
				SegmentTerminator: pulumi.String("Jw=="),
				Schema: pulumi.String(`{
  "schemas": [{
    "messageSchemaConfigs": {
      "ADT_A01": {
        "name": "ADT_A01",
        "minOccurs": 1,
        "maxOccurs": 1,
        "members": [{
            "segment": {
              "type": "MSH",
              "minOccurs": 1,
              "maxOccurs": 1
            }
          },
          {
            "segment": {
              "type": "EVN",
              "minOccurs": 1,
              "maxOccurs": 1
            }
          },
          {
            "segment": {
              "type": "PID",
              "minOccurs": 1,
              "maxOccurs": 1
            }
          },
          {
            "segment": {
              "type": "ZPD",
              "minOccurs": 1,
              "maxOccurs": 1
            }
          },
          {
            "segment": {
              "type": "OBX"
            }
          },
          {
            "group": {
              "name": "PROCEDURE",
              "members": [{
                  "segment": {
                    "type": "PR1",
                    "minOccurs": 1,
                    "maxOccurs": 1
                  }
                },
                {
                  "segment": {
                    "type": "ROL"
                  }
                }
              ]
            }
          },
          {
            "segment": {
              "type": "PDA",
              "maxOccurs": 1
            }
          }
        ]
      }
    }
  }],
  "types": [{
    "type": [{
        "name": "ZPD",
        "primitive": "VARIES"
      }

    ]
  }],
  "ignoreMinOccurs": true
}

`),

			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Hl7 V2 Store Unschematized

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Name:     pulumi.String("example-dataset"),
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7Store(ctx, "store", &healthcare.Hl7StoreArgs{
			Name:    pulumi.String("example-hl7-v2-store"),
			Dataset: dataset.ID(),
			ParserConfig: &healthcare.Hl7StoreParserConfigArgs{
				AllowNullHeader:   pulumi.Bool(false),
				SegmentTerminator: pulumi.String("Jw=="),
				Version:           pulumi.String("V2"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Hl7V2Store can be imported using any of these accepted formats:

* `{{dataset}}/hl7V2Stores/{{name}}`

* `{{dataset}}/{{name}}`

When using the `pulumi import` command, Hl7V2Store can be imported using one of the formats above. For example:

```sh $ pulumi import gcp:healthcare/hl7Store:Hl7Store default {{dataset}}/hl7V2Stores/{{name}} ```

```sh $ pulumi import gcp:healthcare/hl7Store:Hl7Store default {{dataset}}/{{name}} ```

func GetHl7Store

func GetHl7Store(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Hl7StoreState, opts ...pulumi.ResourceOption) (*Hl7Store, error)

GetHl7Store gets an existing Hl7Store resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHl7Store

func NewHl7Store(ctx *pulumi.Context,
	name string, args *Hl7StoreArgs, opts ...pulumi.ResourceOption) (*Hl7Store, error)

NewHl7Store registers a new resource with the given unique name, arguments, and options.

func (*Hl7Store) ElementType

func (*Hl7Store) ElementType() reflect.Type

func (*Hl7Store) ToHl7StoreOutput

func (i *Hl7Store) ToHl7StoreOutput() Hl7StoreOutput

func (*Hl7Store) ToHl7StoreOutputWithContext

func (i *Hl7Store) ToHl7StoreOutputWithContext(ctx context.Context) Hl7StoreOutput

type Hl7StoreArgs

type Hl7StoreArgs struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringInput
	// User-supplied key-value pairs used to organize HL7v2 stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The resource name for the Hl7V2Store.
	// ** Changing this property may recreate the Hl7v2 store (removing all data) **
	Name pulumi.StringPtrInput
	// (Optional, Deprecated)
	// A nested object resource
	// Structure is documented below.
	//
	// > **Warning:** `notificationConfig` is deprecated and will be removed in a future major release. Use `notificationConfigs` instead.
	//
	// Deprecated: `notificationConfig` is deprecated and will be removed in a future major release. Use `notificationConfigs` instead.
	NotificationConfig Hl7StoreNotificationConfigPtrInput
	// A list of notification configs. Each configuration uses a filter to determine whether to publish a
	// message (both Ingest & Create) on the corresponding notification destination. Only the message name
	// is sent as part of the notification. Supplied by the client.
	// Structure is documented below.
	NotificationConfigs Hl7StoreNotificationConfigsArrayInput
	// A nested object resource
	// Structure is documented below.
	ParserConfig Hl7StoreParserConfigPtrInput
	// Determines whether duplicate messages are allowed.
	RejectDuplicateMessage pulumi.BoolPtrInput
}

The set of arguments for constructing a Hl7Store resource.

func (Hl7StoreArgs) ElementType

func (Hl7StoreArgs) ElementType() reflect.Type

type Hl7StoreArray

type Hl7StoreArray []Hl7StoreInput

func (Hl7StoreArray) ElementType

func (Hl7StoreArray) ElementType() reflect.Type

func (Hl7StoreArray) ToHl7StoreArrayOutput

func (i Hl7StoreArray) ToHl7StoreArrayOutput() Hl7StoreArrayOutput

func (Hl7StoreArray) ToHl7StoreArrayOutputWithContext

func (i Hl7StoreArray) ToHl7StoreArrayOutputWithContext(ctx context.Context) Hl7StoreArrayOutput

type Hl7StoreArrayInput

type Hl7StoreArrayInput interface {
	pulumi.Input

	ToHl7StoreArrayOutput() Hl7StoreArrayOutput
	ToHl7StoreArrayOutputWithContext(context.Context) Hl7StoreArrayOutput
}

Hl7StoreArrayInput is an input type that accepts Hl7StoreArray and Hl7StoreArrayOutput values. You can construct a concrete instance of `Hl7StoreArrayInput` via:

Hl7StoreArray{ Hl7StoreArgs{...} }

type Hl7StoreArrayOutput

type Hl7StoreArrayOutput struct{ *pulumi.OutputState }

func (Hl7StoreArrayOutput) ElementType

func (Hl7StoreArrayOutput) ElementType() reflect.Type

func (Hl7StoreArrayOutput) Index

func (Hl7StoreArrayOutput) ToHl7StoreArrayOutput

func (o Hl7StoreArrayOutput) ToHl7StoreArrayOutput() Hl7StoreArrayOutput

func (Hl7StoreArrayOutput) ToHl7StoreArrayOutputWithContext

func (o Hl7StoreArrayOutput) ToHl7StoreArrayOutputWithContext(ctx context.Context) Hl7StoreArrayOutput

type Hl7StoreIamBinding

type Hl7StoreIamBinding struct {
	pulumi.CustomResourceState

	Condition Hl7StoreIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the HL7v2 store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringOutput `pulumi:"hl7V2StoreId"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The role that should be applied. Only one
	// `healthcare.Hl7StoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Healthcare HL7v2 store. Each of these resources serves a different use case:

* `healthcare.Hl7StoreIamPolicy`: Authoritative. Sets the IAM policy for the HL7v2 store and replaces any existing policy already attached. * `healthcare.Hl7StoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the HL7v2 store are preserved. * `healthcare.Hl7StoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the HL7v2 store are preserved.

> **Note:** `healthcare.Hl7StoreIamPolicy` **cannot** be used in conjunction with `healthcare.Hl7StoreIamBinding` and `healthcare.Hl7StoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.Hl7StoreIamBinding` resources **can be** used in conjunction with `healthcare.Hl7StoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_hl7\_v2\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7StoreIamPolicy(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamPolicyArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamBinding(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamBindingArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamMember(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamMemberArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7StoreIamPolicy(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamPolicyArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamBinding(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamBindingArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamMember(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamMemberArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Google Cloud Healthcare HL7v2 store resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}/{{hl7_v2_store}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}/{{hl7_v2_store}}"

to = google_healthcare_hl7_v2_store_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/hl7StoreIamBinding:Hl7StoreIamBinding default {{project_id}}/{{location}}/{{dataset}}/{{hl7_v2_store}} ```

func GetHl7StoreIamBinding

func GetHl7StoreIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Hl7StoreIamBindingState, opts ...pulumi.ResourceOption) (*Hl7StoreIamBinding, error)

GetHl7StoreIamBinding gets an existing Hl7StoreIamBinding resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHl7StoreIamBinding

func NewHl7StoreIamBinding(ctx *pulumi.Context,
	name string, args *Hl7StoreIamBindingArgs, opts ...pulumi.ResourceOption) (*Hl7StoreIamBinding, error)

NewHl7StoreIamBinding registers a new resource with the given unique name, arguments, and options.

func (*Hl7StoreIamBinding) ElementType

func (*Hl7StoreIamBinding) ElementType() reflect.Type

func (*Hl7StoreIamBinding) ToHl7StoreIamBindingOutput

func (i *Hl7StoreIamBinding) ToHl7StoreIamBindingOutput() Hl7StoreIamBindingOutput

func (*Hl7StoreIamBinding) ToHl7StoreIamBindingOutputWithContext

func (i *Hl7StoreIamBinding) ToHl7StoreIamBindingOutputWithContext(ctx context.Context) Hl7StoreIamBindingOutput

type Hl7StoreIamBindingArgs

type Hl7StoreIamBindingArgs struct {
	Condition Hl7StoreIamBindingConditionPtrInput
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.Hl7StoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a Hl7StoreIamBinding resource.

func (Hl7StoreIamBindingArgs) ElementType

func (Hl7StoreIamBindingArgs) ElementType() reflect.Type

type Hl7StoreIamBindingArray

type Hl7StoreIamBindingArray []Hl7StoreIamBindingInput

func (Hl7StoreIamBindingArray) ElementType

func (Hl7StoreIamBindingArray) ElementType() reflect.Type

func (Hl7StoreIamBindingArray) ToHl7StoreIamBindingArrayOutput

func (i Hl7StoreIamBindingArray) ToHl7StoreIamBindingArrayOutput() Hl7StoreIamBindingArrayOutput

func (Hl7StoreIamBindingArray) ToHl7StoreIamBindingArrayOutputWithContext

func (i Hl7StoreIamBindingArray) ToHl7StoreIamBindingArrayOutputWithContext(ctx context.Context) Hl7StoreIamBindingArrayOutput

type Hl7StoreIamBindingArrayInput

type Hl7StoreIamBindingArrayInput interface {
	pulumi.Input

	ToHl7StoreIamBindingArrayOutput() Hl7StoreIamBindingArrayOutput
	ToHl7StoreIamBindingArrayOutputWithContext(context.Context) Hl7StoreIamBindingArrayOutput
}

Hl7StoreIamBindingArrayInput is an input type that accepts Hl7StoreIamBindingArray and Hl7StoreIamBindingArrayOutput values. You can construct a concrete instance of `Hl7StoreIamBindingArrayInput` via:

Hl7StoreIamBindingArray{ Hl7StoreIamBindingArgs{...} }

type Hl7StoreIamBindingArrayOutput

type Hl7StoreIamBindingArrayOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamBindingArrayOutput) ElementType

func (Hl7StoreIamBindingArrayOutput) Index

func (Hl7StoreIamBindingArrayOutput) ToHl7StoreIamBindingArrayOutput

func (o Hl7StoreIamBindingArrayOutput) ToHl7StoreIamBindingArrayOutput() Hl7StoreIamBindingArrayOutput

func (Hl7StoreIamBindingArrayOutput) ToHl7StoreIamBindingArrayOutputWithContext

func (o Hl7StoreIamBindingArrayOutput) ToHl7StoreIamBindingArrayOutputWithContext(ctx context.Context) Hl7StoreIamBindingArrayOutput

type Hl7StoreIamBindingCondition

type Hl7StoreIamBindingCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type Hl7StoreIamBindingConditionArgs

type Hl7StoreIamBindingConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (Hl7StoreIamBindingConditionArgs) ElementType

func (Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionOutput

func (i Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionOutput() Hl7StoreIamBindingConditionOutput

func (Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionOutputWithContext

func (i Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionOutputWithContext(ctx context.Context) Hl7StoreIamBindingConditionOutput

func (Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionPtrOutput

func (i Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionPtrOutput() Hl7StoreIamBindingConditionPtrOutput

func (Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionPtrOutputWithContext

func (i Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamBindingConditionPtrOutput

type Hl7StoreIamBindingConditionInput

type Hl7StoreIamBindingConditionInput interface {
	pulumi.Input

	ToHl7StoreIamBindingConditionOutput() Hl7StoreIamBindingConditionOutput
	ToHl7StoreIamBindingConditionOutputWithContext(context.Context) Hl7StoreIamBindingConditionOutput
}

Hl7StoreIamBindingConditionInput is an input type that accepts Hl7StoreIamBindingConditionArgs and Hl7StoreIamBindingConditionOutput values. You can construct a concrete instance of `Hl7StoreIamBindingConditionInput` via:

Hl7StoreIamBindingConditionArgs{...}

type Hl7StoreIamBindingConditionOutput

type Hl7StoreIamBindingConditionOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamBindingConditionOutput) Description

func (Hl7StoreIamBindingConditionOutput) ElementType

func (Hl7StoreIamBindingConditionOutput) Expression

func (Hl7StoreIamBindingConditionOutput) Title

func (Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionOutput

func (o Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionOutput() Hl7StoreIamBindingConditionOutput

func (Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionOutputWithContext

func (o Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionOutputWithContext(ctx context.Context) Hl7StoreIamBindingConditionOutput

func (Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionPtrOutput

func (o Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionPtrOutput() Hl7StoreIamBindingConditionPtrOutput

func (Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionPtrOutputWithContext

func (o Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamBindingConditionPtrOutput

type Hl7StoreIamBindingConditionPtrInput

type Hl7StoreIamBindingConditionPtrInput interface {
	pulumi.Input

	ToHl7StoreIamBindingConditionPtrOutput() Hl7StoreIamBindingConditionPtrOutput
	ToHl7StoreIamBindingConditionPtrOutputWithContext(context.Context) Hl7StoreIamBindingConditionPtrOutput
}

Hl7StoreIamBindingConditionPtrInput is an input type that accepts Hl7StoreIamBindingConditionArgs, Hl7StoreIamBindingConditionPtr and Hl7StoreIamBindingConditionPtrOutput values. You can construct a concrete instance of `Hl7StoreIamBindingConditionPtrInput` via:

        Hl7StoreIamBindingConditionArgs{...}

or:

        nil

type Hl7StoreIamBindingConditionPtrOutput

type Hl7StoreIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamBindingConditionPtrOutput) Description

func (Hl7StoreIamBindingConditionPtrOutput) Elem

func (Hl7StoreIamBindingConditionPtrOutput) ElementType

func (Hl7StoreIamBindingConditionPtrOutput) Expression

func (Hl7StoreIamBindingConditionPtrOutput) Title

func (Hl7StoreIamBindingConditionPtrOutput) ToHl7StoreIamBindingConditionPtrOutput

func (o Hl7StoreIamBindingConditionPtrOutput) ToHl7StoreIamBindingConditionPtrOutput() Hl7StoreIamBindingConditionPtrOutput

func (Hl7StoreIamBindingConditionPtrOutput) ToHl7StoreIamBindingConditionPtrOutputWithContext

func (o Hl7StoreIamBindingConditionPtrOutput) ToHl7StoreIamBindingConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamBindingConditionPtrOutput

type Hl7StoreIamBindingInput

type Hl7StoreIamBindingInput interface {
	pulumi.Input

	ToHl7StoreIamBindingOutput() Hl7StoreIamBindingOutput
	ToHl7StoreIamBindingOutputWithContext(ctx context.Context) Hl7StoreIamBindingOutput
}

type Hl7StoreIamBindingMap

type Hl7StoreIamBindingMap map[string]Hl7StoreIamBindingInput

func (Hl7StoreIamBindingMap) ElementType

func (Hl7StoreIamBindingMap) ElementType() reflect.Type

func (Hl7StoreIamBindingMap) ToHl7StoreIamBindingMapOutput

func (i Hl7StoreIamBindingMap) ToHl7StoreIamBindingMapOutput() Hl7StoreIamBindingMapOutput

func (Hl7StoreIamBindingMap) ToHl7StoreIamBindingMapOutputWithContext

func (i Hl7StoreIamBindingMap) ToHl7StoreIamBindingMapOutputWithContext(ctx context.Context) Hl7StoreIamBindingMapOutput

type Hl7StoreIamBindingMapInput

type Hl7StoreIamBindingMapInput interface {
	pulumi.Input

	ToHl7StoreIamBindingMapOutput() Hl7StoreIamBindingMapOutput
	ToHl7StoreIamBindingMapOutputWithContext(context.Context) Hl7StoreIamBindingMapOutput
}

Hl7StoreIamBindingMapInput is an input type that accepts Hl7StoreIamBindingMap and Hl7StoreIamBindingMapOutput values. You can construct a concrete instance of `Hl7StoreIamBindingMapInput` via:

Hl7StoreIamBindingMap{ "key": Hl7StoreIamBindingArgs{...} }

type Hl7StoreIamBindingMapOutput

type Hl7StoreIamBindingMapOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamBindingMapOutput) ElementType

func (Hl7StoreIamBindingMapOutput) MapIndex

func (Hl7StoreIamBindingMapOutput) ToHl7StoreIamBindingMapOutput

func (o Hl7StoreIamBindingMapOutput) ToHl7StoreIamBindingMapOutput() Hl7StoreIamBindingMapOutput

func (Hl7StoreIamBindingMapOutput) ToHl7StoreIamBindingMapOutputWithContext

func (o Hl7StoreIamBindingMapOutput) ToHl7StoreIamBindingMapOutputWithContext(ctx context.Context) Hl7StoreIamBindingMapOutput

type Hl7StoreIamBindingOutput

type Hl7StoreIamBindingOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamBindingOutput) Condition

func (Hl7StoreIamBindingOutput) ElementType

func (Hl7StoreIamBindingOutput) ElementType() reflect.Type

func (Hl7StoreIamBindingOutput) Etag

(Computed) The etag of the HL7v2 store's IAM policy.

func (Hl7StoreIamBindingOutput) Hl7V2StoreId

func (o Hl7StoreIamBindingOutput) Hl7V2StoreId() pulumi.StringOutput

The HL7v2 store ID, in the form `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's project setting will be used as a fallback.

func (Hl7StoreIamBindingOutput) Members

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

func (Hl7StoreIamBindingOutput) Role

The role that should be applied. Only one `healthcare.Hl7StoreIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (Hl7StoreIamBindingOutput) ToHl7StoreIamBindingOutput

func (o Hl7StoreIamBindingOutput) ToHl7StoreIamBindingOutput() Hl7StoreIamBindingOutput

func (Hl7StoreIamBindingOutput) ToHl7StoreIamBindingOutputWithContext

func (o Hl7StoreIamBindingOutput) ToHl7StoreIamBindingOutputWithContext(ctx context.Context) Hl7StoreIamBindingOutput

type Hl7StoreIamBindingState

type Hl7StoreIamBindingState struct {
	Condition Hl7StoreIamBindingConditionPtrInput
	// (Computed) The etag of the HL7v2 store's IAM policy.
	Etag pulumi.StringPtrInput
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.Hl7StoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (Hl7StoreIamBindingState) ElementType

func (Hl7StoreIamBindingState) ElementType() reflect.Type

type Hl7StoreIamMember

type Hl7StoreIamMember struct {
	pulumi.CustomResourceState

	Condition Hl7StoreIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the HL7v2 store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringOutput `pulumi:"hl7V2StoreId"`
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringOutput `pulumi:"member"`
	// The role that should be applied. Only one
	// `healthcare.Hl7StoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Healthcare HL7v2 store. Each of these resources serves a different use case:

* `healthcare.Hl7StoreIamPolicy`: Authoritative. Sets the IAM policy for the HL7v2 store and replaces any existing policy already attached. * `healthcare.Hl7StoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the HL7v2 store are preserved. * `healthcare.Hl7StoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the HL7v2 store are preserved.

> **Note:** `healthcare.Hl7StoreIamPolicy` **cannot** be used in conjunction with `healthcare.Hl7StoreIamBinding` and `healthcare.Hl7StoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.Hl7StoreIamBinding` resources **can be** used in conjunction with `healthcare.Hl7StoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_hl7\_v2\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7StoreIamPolicy(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamPolicyArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamBinding(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamBindingArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamMember(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamMemberArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7StoreIamPolicy(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamPolicyArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamBinding(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamBindingArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamMember(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamMemberArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Google Cloud Healthcare HL7v2 store resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}/{{hl7_v2_store}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}/{{hl7_v2_store}}"

to = google_healthcare_hl7_v2_store_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/hl7StoreIamMember:Hl7StoreIamMember default {{project_id}}/{{location}}/{{dataset}}/{{hl7_v2_store}} ```

func GetHl7StoreIamMember

func GetHl7StoreIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Hl7StoreIamMemberState, opts ...pulumi.ResourceOption) (*Hl7StoreIamMember, error)

GetHl7StoreIamMember gets an existing Hl7StoreIamMember resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHl7StoreIamMember

func NewHl7StoreIamMember(ctx *pulumi.Context,
	name string, args *Hl7StoreIamMemberArgs, opts ...pulumi.ResourceOption) (*Hl7StoreIamMember, error)

NewHl7StoreIamMember registers a new resource with the given unique name, arguments, and options.

func (*Hl7StoreIamMember) ElementType

func (*Hl7StoreIamMember) ElementType() reflect.Type

func (*Hl7StoreIamMember) ToHl7StoreIamMemberOutput

func (i *Hl7StoreIamMember) ToHl7StoreIamMemberOutput() Hl7StoreIamMemberOutput

func (*Hl7StoreIamMember) ToHl7StoreIamMemberOutputWithContext

func (i *Hl7StoreIamMember) ToHl7StoreIamMemberOutputWithContext(ctx context.Context) Hl7StoreIamMemberOutput

type Hl7StoreIamMemberArgs

type Hl7StoreIamMemberArgs struct {
	Condition Hl7StoreIamMemberConditionPtrInput
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringInput
	// The role that should be applied. Only one
	// `healthcare.Hl7StoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a Hl7StoreIamMember resource.

func (Hl7StoreIamMemberArgs) ElementType

func (Hl7StoreIamMemberArgs) ElementType() reflect.Type

type Hl7StoreIamMemberArray

type Hl7StoreIamMemberArray []Hl7StoreIamMemberInput

func (Hl7StoreIamMemberArray) ElementType

func (Hl7StoreIamMemberArray) ElementType() reflect.Type

func (Hl7StoreIamMemberArray) ToHl7StoreIamMemberArrayOutput

func (i Hl7StoreIamMemberArray) ToHl7StoreIamMemberArrayOutput() Hl7StoreIamMemberArrayOutput

func (Hl7StoreIamMemberArray) ToHl7StoreIamMemberArrayOutputWithContext

func (i Hl7StoreIamMemberArray) ToHl7StoreIamMemberArrayOutputWithContext(ctx context.Context) Hl7StoreIamMemberArrayOutput

type Hl7StoreIamMemberArrayInput

type Hl7StoreIamMemberArrayInput interface {
	pulumi.Input

	ToHl7StoreIamMemberArrayOutput() Hl7StoreIamMemberArrayOutput
	ToHl7StoreIamMemberArrayOutputWithContext(context.Context) Hl7StoreIamMemberArrayOutput
}

Hl7StoreIamMemberArrayInput is an input type that accepts Hl7StoreIamMemberArray and Hl7StoreIamMemberArrayOutput values. You can construct a concrete instance of `Hl7StoreIamMemberArrayInput` via:

Hl7StoreIamMemberArray{ Hl7StoreIamMemberArgs{...} }

type Hl7StoreIamMemberArrayOutput

type Hl7StoreIamMemberArrayOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamMemberArrayOutput) ElementType

func (Hl7StoreIamMemberArrayOutput) Index

func (Hl7StoreIamMemberArrayOutput) ToHl7StoreIamMemberArrayOutput

func (o Hl7StoreIamMemberArrayOutput) ToHl7StoreIamMemberArrayOutput() Hl7StoreIamMemberArrayOutput

func (Hl7StoreIamMemberArrayOutput) ToHl7StoreIamMemberArrayOutputWithContext

func (o Hl7StoreIamMemberArrayOutput) ToHl7StoreIamMemberArrayOutputWithContext(ctx context.Context) Hl7StoreIamMemberArrayOutput

type Hl7StoreIamMemberCondition

type Hl7StoreIamMemberCondition struct {
	Description *string `pulumi:"description"`
	Expression  string  `pulumi:"expression"`
	Title       string  `pulumi:"title"`
}

type Hl7StoreIamMemberConditionArgs

type Hl7StoreIamMemberConditionArgs struct {
	Description pulumi.StringPtrInput `pulumi:"description"`
	Expression  pulumi.StringInput    `pulumi:"expression"`
	Title       pulumi.StringInput    `pulumi:"title"`
}

func (Hl7StoreIamMemberConditionArgs) ElementType

func (Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionOutput

func (i Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionOutput() Hl7StoreIamMemberConditionOutput

func (Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionOutputWithContext

func (i Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionOutputWithContext(ctx context.Context) Hl7StoreIamMemberConditionOutput

func (Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionPtrOutput

func (i Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionPtrOutput() Hl7StoreIamMemberConditionPtrOutput

func (Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionPtrOutputWithContext

func (i Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamMemberConditionPtrOutput

type Hl7StoreIamMemberConditionInput

type Hl7StoreIamMemberConditionInput interface {
	pulumi.Input

	ToHl7StoreIamMemberConditionOutput() Hl7StoreIamMemberConditionOutput
	ToHl7StoreIamMemberConditionOutputWithContext(context.Context) Hl7StoreIamMemberConditionOutput
}

Hl7StoreIamMemberConditionInput is an input type that accepts Hl7StoreIamMemberConditionArgs and Hl7StoreIamMemberConditionOutput values. You can construct a concrete instance of `Hl7StoreIamMemberConditionInput` via:

Hl7StoreIamMemberConditionArgs{...}

type Hl7StoreIamMemberConditionOutput

type Hl7StoreIamMemberConditionOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamMemberConditionOutput) Description

func (Hl7StoreIamMemberConditionOutput) ElementType

func (Hl7StoreIamMemberConditionOutput) Expression

func (Hl7StoreIamMemberConditionOutput) Title

func (Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionOutput

func (o Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionOutput() Hl7StoreIamMemberConditionOutput

func (Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionOutputWithContext

func (o Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionOutputWithContext(ctx context.Context) Hl7StoreIamMemberConditionOutput

func (Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionPtrOutput

func (o Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionPtrOutput() Hl7StoreIamMemberConditionPtrOutput

func (Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionPtrOutputWithContext

func (o Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamMemberConditionPtrOutput

type Hl7StoreIamMemberConditionPtrInput

type Hl7StoreIamMemberConditionPtrInput interface {
	pulumi.Input

	ToHl7StoreIamMemberConditionPtrOutput() Hl7StoreIamMemberConditionPtrOutput
	ToHl7StoreIamMemberConditionPtrOutputWithContext(context.Context) Hl7StoreIamMemberConditionPtrOutput
}

Hl7StoreIamMemberConditionPtrInput is an input type that accepts Hl7StoreIamMemberConditionArgs, Hl7StoreIamMemberConditionPtr and Hl7StoreIamMemberConditionPtrOutput values. You can construct a concrete instance of `Hl7StoreIamMemberConditionPtrInput` via:

        Hl7StoreIamMemberConditionArgs{...}

or:

        nil

type Hl7StoreIamMemberConditionPtrOutput

type Hl7StoreIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamMemberConditionPtrOutput) Description

func (Hl7StoreIamMemberConditionPtrOutput) Elem

func (Hl7StoreIamMemberConditionPtrOutput) ElementType

func (Hl7StoreIamMemberConditionPtrOutput) Expression

func (Hl7StoreIamMemberConditionPtrOutput) Title

func (Hl7StoreIamMemberConditionPtrOutput) ToHl7StoreIamMemberConditionPtrOutput

func (o Hl7StoreIamMemberConditionPtrOutput) ToHl7StoreIamMemberConditionPtrOutput() Hl7StoreIamMemberConditionPtrOutput

func (Hl7StoreIamMemberConditionPtrOutput) ToHl7StoreIamMemberConditionPtrOutputWithContext

func (o Hl7StoreIamMemberConditionPtrOutput) ToHl7StoreIamMemberConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamMemberConditionPtrOutput

type Hl7StoreIamMemberInput

type Hl7StoreIamMemberInput interface {
	pulumi.Input

	ToHl7StoreIamMemberOutput() Hl7StoreIamMemberOutput
	ToHl7StoreIamMemberOutputWithContext(ctx context.Context) Hl7StoreIamMemberOutput
}

type Hl7StoreIamMemberMap

type Hl7StoreIamMemberMap map[string]Hl7StoreIamMemberInput

func (Hl7StoreIamMemberMap) ElementType

func (Hl7StoreIamMemberMap) ElementType() reflect.Type

func (Hl7StoreIamMemberMap) ToHl7StoreIamMemberMapOutput

func (i Hl7StoreIamMemberMap) ToHl7StoreIamMemberMapOutput() Hl7StoreIamMemberMapOutput

func (Hl7StoreIamMemberMap) ToHl7StoreIamMemberMapOutputWithContext

func (i Hl7StoreIamMemberMap) ToHl7StoreIamMemberMapOutputWithContext(ctx context.Context) Hl7StoreIamMemberMapOutput

type Hl7StoreIamMemberMapInput

type Hl7StoreIamMemberMapInput interface {
	pulumi.Input

	ToHl7StoreIamMemberMapOutput() Hl7StoreIamMemberMapOutput
	ToHl7StoreIamMemberMapOutputWithContext(context.Context) Hl7StoreIamMemberMapOutput
}

Hl7StoreIamMemberMapInput is an input type that accepts Hl7StoreIamMemberMap and Hl7StoreIamMemberMapOutput values. You can construct a concrete instance of `Hl7StoreIamMemberMapInput` via:

Hl7StoreIamMemberMap{ "key": Hl7StoreIamMemberArgs{...} }

type Hl7StoreIamMemberMapOutput

type Hl7StoreIamMemberMapOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamMemberMapOutput) ElementType

func (Hl7StoreIamMemberMapOutput) ElementType() reflect.Type

func (Hl7StoreIamMemberMapOutput) MapIndex

func (Hl7StoreIamMemberMapOutput) ToHl7StoreIamMemberMapOutput

func (o Hl7StoreIamMemberMapOutput) ToHl7StoreIamMemberMapOutput() Hl7StoreIamMemberMapOutput

func (Hl7StoreIamMemberMapOutput) ToHl7StoreIamMemberMapOutputWithContext

func (o Hl7StoreIamMemberMapOutput) ToHl7StoreIamMemberMapOutputWithContext(ctx context.Context) Hl7StoreIamMemberMapOutput

type Hl7StoreIamMemberOutput

type Hl7StoreIamMemberOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamMemberOutput) Condition

func (Hl7StoreIamMemberOutput) ElementType

func (Hl7StoreIamMemberOutput) ElementType() reflect.Type

func (Hl7StoreIamMemberOutput) Etag

(Computed) The etag of the HL7v2 store's IAM policy.

func (Hl7StoreIamMemberOutput) Hl7V2StoreId

func (o Hl7StoreIamMemberOutput) Hl7V2StoreId() pulumi.StringOutput

The HL7v2 store ID, in the form `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's project setting will be used as a fallback.

func (Hl7StoreIamMemberOutput) Member

Identities that will be granted the privilege in `role`. Each entry can have one of the following values: * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account. * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account. * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com. * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com. * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com. * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.

func (Hl7StoreIamMemberOutput) Role

The role that should be applied. Only one `healthcare.Hl7StoreIamBinding` can be used per role. Note that custom roles must be of the format `[projects|organizations]/{parent-name}/roles/{role-name}`.

func (Hl7StoreIamMemberOutput) ToHl7StoreIamMemberOutput

func (o Hl7StoreIamMemberOutput) ToHl7StoreIamMemberOutput() Hl7StoreIamMemberOutput

func (Hl7StoreIamMemberOutput) ToHl7StoreIamMemberOutputWithContext

func (o Hl7StoreIamMemberOutput) ToHl7StoreIamMemberOutputWithContext(ctx context.Context) Hl7StoreIamMemberOutput

type Hl7StoreIamMemberState

type Hl7StoreIamMemberState struct {
	Condition Hl7StoreIamMemberConditionPtrInput
	// (Computed) The etag of the HL7v2 store's IAM policy.
	Etag pulumi.StringPtrInput
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringPtrInput
	// Identities that will be granted the privilege in `role`.
	// Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `healthcare.Hl7StoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (Hl7StoreIamMemberState) ElementType

func (Hl7StoreIamMemberState) ElementType() reflect.Type

type Hl7StoreIamPolicy

type Hl7StoreIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the HL7v2 store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringOutput `pulumi:"hl7V2StoreId"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
}

Three different resources help you manage your IAM policy for Healthcare HL7v2 store. Each of these resources serves a different use case:

* `healthcare.Hl7StoreIamPolicy`: Authoritative. Sets the IAM policy for the HL7v2 store and replaces any existing policy already attached. * `healthcare.Hl7StoreIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the HL7v2 store are preserved. * `healthcare.Hl7StoreIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the HL7v2 store are preserved.

> **Note:** `healthcare.Hl7StoreIamPolicy` **cannot** be used in conjunction with `healthcare.Hl7StoreIamBinding` and `healthcare.Hl7StoreIamMember` or they will fight over what your policy should be.

> **Note:** `healthcare.Hl7StoreIamBinding` resources **can be** used in conjunction with `healthcare.Hl7StoreIamMember` resources **only if** they do not grant privilege to the same role.

## google\_healthcare\_hl7\_v2\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7StoreIamPolicy(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamPolicyArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamBinding(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamBindingArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamMember(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamMemberArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/editor",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7StoreIamPolicy(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamPolicyArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			PolicyData:   pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamBinding(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamBindingArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamMember(ctx, "hl7_v2_store", &healthcare.Hl7StoreIamMemberArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Role:         pulumi.String("roles/editor"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

### Importing IAM policies

IAM policy imports use the identifier of the Google Cloud Healthcare HL7v2 store resource. For example:

* `"{{project_id}}/{{location}}/{{dataset}}/{{hl7_v2_store}}"`

An `import` block (Terraform v1.5.0 and later) can be used to import IAM policies:

tf

import {

id = "{{project_id}}/{{location}}/{{dataset}}/{{hl7_v2_store}}"

to = google_healthcare_hl7_v2_store_iam_policy.default

}

The `pulumi import` command can also be used:

```sh $ pulumi import gcp:healthcare/hl7StoreIamPolicy:Hl7StoreIamPolicy default {{project_id}}/{{location}}/{{dataset}}/{{hl7_v2_store}} ```

func GetHl7StoreIamPolicy

func GetHl7StoreIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *Hl7StoreIamPolicyState, opts ...pulumi.ResourceOption) (*Hl7StoreIamPolicy, error)

GetHl7StoreIamPolicy gets an existing Hl7StoreIamPolicy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewHl7StoreIamPolicy

func NewHl7StoreIamPolicy(ctx *pulumi.Context,
	name string, args *Hl7StoreIamPolicyArgs, opts ...pulumi.ResourceOption) (*Hl7StoreIamPolicy, error)

NewHl7StoreIamPolicy registers a new resource with the given unique name, arguments, and options.

func (*Hl7StoreIamPolicy) ElementType

func (*Hl7StoreIamPolicy) ElementType() reflect.Type

func (*Hl7StoreIamPolicy) ToHl7StoreIamPolicyOutput

func (i *Hl7StoreIamPolicy) ToHl7StoreIamPolicyOutput() Hl7StoreIamPolicyOutput

func (*Hl7StoreIamPolicy) ToHl7StoreIamPolicyOutputWithContext

func (i *Hl7StoreIamPolicy) ToHl7StoreIamPolicyOutputWithContext(ctx context.Context) Hl7StoreIamPolicyOutput

type Hl7StoreIamPolicyArgs

type Hl7StoreIamPolicyArgs struct {
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a Hl7StoreIamPolicy resource.

func (Hl7StoreIamPolicyArgs) ElementType

func (Hl7StoreIamPolicyArgs) ElementType() reflect.Type

type Hl7StoreIamPolicyArray

type Hl7StoreIamPolicyArray []Hl7StoreIamPolicyInput

func (Hl7StoreIamPolicyArray) ElementType

func (Hl7StoreIamPolicyArray) ElementType() reflect.Type

func (Hl7StoreIamPolicyArray) ToHl7StoreIamPolicyArrayOutput

func (i Hl7StoreIamPolicyArray) ToHl7StoreIamPolicyArrayOutput() Hl7StoreIamPolicyArrayOutput

func (Hl7StoreIamPolicyArray) ToHl7StoreIamPolicyArrayOutputWithContext

func (i Hl7StoreIamPolicyArray) ToHl7StoreIamPolicyArrayOutputWithContext(ctx context.Context) Hl7StoreIamPolicyArrayOutput

type Hl7StoreIamPolicyArrayInput

type Hl7StoreIamPolicyArrayInput interface {
	pulumi.Input

	ToHl7StoreIamPolicyArrayOutput() Hl7StoreIamPolicyArrayOutput
	ToHl7StoreIamPolicyArrayOutputWithContext(context.Context) Hl7StoreIamPolicyArrayOutput
}

Hl7StoreIamPolicyArrayInput is an input type that accepts Hl7StoreIamPolicyArray and Hl7StoreIamPolicyArrayOutput values. You can construct a concrete instance of `Hl7StoreIamPolicyArrayInput` via:

Hl7StoreIamPolicyArray{ Hl7StoreIamPolicyArgs{...} }

type Hl7StoreIamPolicyArrayOutput

type Hl7StoreIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamPolicyArrayOutput) ElementType

func (Hl7StoreIamPolicyArrayOutput) Index

func (Hl7StoreIamPolicyArrayOutput) ToHl7StoreIamPolicyArrayOutput

func (o Hl7StoreIamPolicyArrayOutput) ToHl7StoreIamPolicyArrayOutput() Hl7StoreIamPolicyArrayOutput

func (Hl7StoreIamPolicyArrayOutput) ToHl7StoreIamPolicyArrayOutputWithContext

func (o Hl7StoreIamPolicyArrayOutput) ToHl7StoreIamPolicyArrayOutputWithContext(ctx context.Context) Hl7StoreIamPolicyArrayOutput

type Hl7StoreIamPolicyInput

type Hl7StoreIamPolicyInput interface {
	pulumi.Input

	ToHl7StoreIamPolicyOutput() Hl7StoreIamPolicyOutput
	ToHl7StoreIamPolicyOutputWithContext(ctx context.Context) Hl7StoreIamPolicyOutput
}

type Hl7StoreIamPolicyMap

type Hl7StoreIamPolicyMap map[string]Hl7StoreIamPolicyInput

func (Hl7StoreIamPolicyMap) ElementType

func (Hl7StoreIamPolicyMap) ElementType() reflect.Type

func (Hl7StoreIamPolicyMap) ToHl7StoreIamPolicyMapOutput

func (i Hl7StoreIamPolicyMap) ToHl7StoreIamPolicyMapOutput() Hl7StoreIamPolicyMapOutput

func (Hl7StoreIamPolicyMap) ToHl7StoreIamPolicyMapOutputWithContext

func (i Hl7StoreIamPolicyMap) ToHl7StoreIamPolicyMapOutputWithContext(ctx context.Context) Hl7StoreIamPolicyMapOutput

type Hl7StoreIamPolicyMapInput

type Hl7StoreIamPolicyMapInput interface {
	pulumi.Input

	ToHl7StoreIamPolicyMapOutput() Hl7StoreIamPolicyMapOutput
	ToHl7StoreIamPolicyMapOutputWithContext(context.Context) Hl7StoreIamPolicyMapOutput
}

Hl7StoreIamPolicyMapInput is an input type that accepts Hl7StoreIamPolicyMap and Hl7StoreIamPolicyMapOutput values. You can construct a concrete instance of `Hl7StoreIamPolicyMapInput` via:

Hl7StoreIamPolicyMap{ "key": Hl7StoreIamPolicyArgs{...} }

type Hl7StoreIamPolicyMapOutput

type Hl7StoreIamPolicyMapOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamPolicyMapOutput) ElementType

func (Hl7StoreIamPolicyMapOutput) ElementType() reflect.Type

func (Hl7StoreIamPolicyMapOutput) MapIndex

func (Hl7StoreIamPolicyMapOutput) ToHl7StoreIamPolicyMapOutput

func (o Hl7StoreIamPolicyMapOutput) ToHl7StoreIamPolicyMapOutput() Hl7StoreIamPolicyMapOutput

func (Hl7StoreIamPolicyMapOutput) ToHl7StoreIamPolicyMapOutputWithContext

func (o Hl7StoreIamPolicyMapOutput) ToHl7StoreIamPolicyMapOutputWithContext(ctx context.Context) Hl7StoreIamPolicyMapOutput

type Hl7StoreIamPolicyOutput

type Hl7StoreIamPolicyOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamPolicyOutput) ElementType

func (Hl7StoreIamPolicyOutput) ElementType() reflect.Type

func (Hl7StoreIamPolicyOutput) Etag

(Computed) The etag of the HL7v2 store's IAM policy.

func (Hl7StoreIamPolicyOutput) Hl7V2StoreId

func (o Hl7StoreIamPolicyOutput) Hl7V2StoreId() pulumi.StringOutput

The HL7v2 store ID, in the form `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's project setting will be used as a fallback.

func (Hl7StoreIamPolicyOutput) PolicyData

The policy data generated by a `organizations.getIAMPolicy` data source.

func (Hl7StoreIamPolicyOutput) ToHl7StoreIamPolicyOutput

func (o Hl7StoreIamPolicyOutput) ToHl7StoreIamPolicyOutput() Hl7StoreIamPolicyOutput

func (Hl7StoreIamPolicyOutput) ToHl7StoreIamPolicyOutputWithContext

func (o Hl7StoreIamPolicyOutput) ToHl7StoreIamPolicyOutputWithContext(ctx context.Context) Hl7StoreIamPolicyOutput

type Hl7StoreIamPolicyState

type Hl7StoreIamPolicyState struct {
	// (Computed) The etag of the HL7v2 store's IAM policy.
	Etag pulumi.StringPtrInput
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
}

func (Hl7StoreIamPolicyState) ElementType

func (Hl7StoreIamPolicyState) ElementType() reflect.Type

type Hl7StoreInput

type Hl7StoreInput interface {
	pulumi.Input

	ToHl7StoreOutput() Hl7StoreOutput
	ToHl7StoreOutputWithContext(ctx context.Context) Hl7StoreOutput
}

type Hl7StoreMap

type Hl7StoreMap map[string]Hl7StoreInput

func (Hl7StoreMap) ElementType

func (Hl7StoreMap) ElementType() reflect.Type

func (Hl7StoreMap) ToHl7StoreMapOutput

func (i Hl7StoreMap) ToHl7StoreMapOutput() Hl7StoreMapOutput

func (Hl7StoreMap) ToHl7StoreMapOutputWithContext

func (i Hl7StoreMap) ToHl7StoreMapOutputWithContext(ctx context.Context) Hl7StoreMapOutput

type Hl7StoreMapInput

type Hl7StoreMapInput interface {
	pulumi.Input

	ToHl7StoreMapOutput() Hl7StoreMapOutput
	ToHl7StoreMapOutputWithContext(context.Context) Hl7StoreMapOutput
}

Hl7StoreMapInput is an input type that accepts Hl7StoreMap and Hl7StoreMapOutput values. You can construct a concrete instance of `Hl7StoreMapInput` via:

Hl7StoreMap{ "key": Hl7StoreArgs{...} }

type Hl7StoreMapOutput

type Hl7StoreMapOutput struct{ *pulumi.OutputState }

func (Hl7StoreMapOutput) ElementType

func (Hl7StoreMapOutput) ElementType() reflect.Type

func (Hl7StoreMapOutput) MapIndex

func (Hl7StoreMapOutput) ToHl7StoreMapOutput

func (o Hl7StoreMapOutput) ToHl7StoreMapOutput() Hl7StoreMapOutput

func (Hl7StoreMapOutput) ToHl7StoreMapOutputWithContext

func (o Hl7StoreMapOutput) ToHl7StoreMapOutputWithContext(ctx context.Context) Hl7StoreMapOutput

type Hl7StoreNotificationConfig

type Hl7StoreNotificationConfig struct {
	// The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
	// PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
	// It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
	// was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
	// project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
	// Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
	PubsubTopic string `pulumi:"pubsubTopic"`
}

type Hl7StoreNotificationConfigArgs

type Hl7StoreNotificationConfigArgs struct {
	// The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
	// PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
	// It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
	// was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
	// project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
	// Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
	PubsubTopic pulumi.StringInput `pulumi:"pubsubTopic"`
}

func (Hl7StoreNotificationConfigArgs) ElementType

func (Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigOutput

func (i Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigOutput() Hl7StoreNotificationConfigOutput

func (Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigOutputWithContext

func (i Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigOutput

func (Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigPtrOutput

func (i Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigPtrOutput() Hl7StoreNotificationConfigPtrOutput

func (Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigPtrOutputWithContext

func (i Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigPtrOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigPtrOutput

type Hl7StoreNotificationConfigInput

type Hl7StoreNotificationConfigInput interface {
	pulumi.Input

	ToHl7StoreNotificationConfigOutput() Hl7StoreNotificationConfigOutput
	ToHl7StoreNotificationConfigOutputWithContext(context.Context) Hl7StoreNotificationConfigOutput
}

Hl7StoreNotificationConfigInput is an input type that accepts Hl7StoreNotificationConfigArgs and Hl7StoreNotificationConfigOutput values. You can construct a concrete instance of `Hl7StoreNotificationConfigInput` via:

Hl7StoreNotificationConfigArgs{...}

type Hl7StoreNotificationConfigOutput

type Hl7StoreNotificationConfigOutput struct{ *pulumi.OutputState }

func (Hl7StoreNotificationConfigOutput) ElementType

func (Hl7StoreNotificationConfigOutput) PubsubTopic

The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

func (Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigOutput

func (o Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigOutput() Hl7StoreNotificationConfigOutput

func (Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigOutputWithContext

func (o Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigOutput

func (Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigPtrOutput

func (o Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigPtrOutput() Hl7StoreNotificationConfigPtrOutput

func (Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigPtrOutputWithContext

func (o Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigPtrOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigPtrOutput

type Hl7StoreNotificationConfigPtrInput

type Hl7StoreNotificationConfigPtrInput interface {
	pulumi.Input

	ToHl7StoreNotificationConfigPtrOutput() Hl7StoreNotificationConfigPtrOutput
	ToHl7StoreNotificationConfigPtrOutputWithContext(context.Context) Hl7StoreNotificationConfigPtrOutput
}

Hl7StoreNotificationConfigPtrInput is an input type that accepts Hl7StoreNotificationConfigArgs, Hl7StoreNotificationConfigPtr and Hl7StoreNotificationConfigPtrOutput values. You can construct a concrete instance of `Hl7StoreNotificationConfigPtrInput` via:

        Hl7StoreNotificationConfigArgs{...}

or:

        nil

type Hl7StoreNotificationConfigPtrOutput

type Hl7StoreNotificationConfigPtrOutput struct{ *pulumi.OutputState }

func (Hl7StoreNotificationConfigPtrOutput) Elem

func (Hl7StoreNotificationConfigPtrOutput) ElementType

func (Hl7StoreNotificationConfigPtrOutput) PubsubTopic

The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.

func (Hl7StoreNotificationConfigPtrOutput) ToHl7StoreNotificationConfigPtrOutput

func (o Hl7StoreNotificationConfigPtrOutput) ToHl7StoreNotificationConfigPtrOutput() Hl7StoreNotificationConfigPtrOutput

func (Hl7StoreNotificationConfigPtrOutput) ToHl7StoreNotificationConfigPtrOutputWithContext

func (o Hl7StoreNotificationConfigPtrOutput) ToHl7StoreNotificationConfigPtrOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigPtrOutput

type Hl7StoreNotificationConfigs

type Hl7StoreNotificationConfigs struct {
	// Restricts notifications sent for messages matching a filter. If this is empty, all messages
	// are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings
	// Fields/functions available for filtering are:
	// * messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT".
	// * sendDate or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, sendDate < "2017-01-02".
	// * sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00".
	// * sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC".
	// * PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN").
	// * labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*.
	Filter *string `pulumi:"filter"`
	// The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
	// PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
	// It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
	// was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
	// project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
	// Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
	// If a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver
	PubsubTopic string `pulumi:"pubsubTopic"`
}

type Hl7StoreNotificationConfigsArgs

type Hl7StoreNotificationConfigsArgs struct {
	// Restricts notifications sent for messages matching a filter. If this is empty, all messages
	// are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings
	// Fields/functions available for filtering are:
	// * messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT".
	// * sendDate or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, sendDate < "2017-01-02".
	// * sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00".
	// * sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC".
	// * PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN").
	// * labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*.
	Filter pulumi.StringPtrInput `pulumi:"filter"`
	// The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
	// PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
	// It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
	// was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
	// project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
	// Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
	// If a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver
	PubsubTopic pulumi.StringInput `pulumi:"pubsubTopic"`
}

func (Hl7StoreNotificationConfigsArgs) ElementType

func (Hl7StoreNotificationConfigsArgs) ToHl7StoreNotificationConfigsOutput

func (i Hl7StoreNotificationConfigsArgs) ToHl7StoreNotificationConfigsOutput() Hl7StoreNotificationConfigsOutput

func (Hl7StoreNotificationConfigsArgs) ToHl7StoreNotificationConfigsOutputWithContext

func (i Hl7StoreNotificationConfigsArgs) ToHl7StoreNotificationConfigsOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigsOutput

type Hl7StoreNotificationConfigsArray

type Hl7StoreNotificationConfigsArray []Hl7StoreNotificationConfigsInput

func (Hl7StoreNotificationConfigsArray) ElementType

func (Hl7StoreNotificationConfigsArray) ToHl7StoreNotificationConfigsArrayOutput

func (i Hl7StoreNotificationConfigsArray) ToHl7StoreNotificationConfigsArrayOutput() Hl7StoreNotificationConfigsArrayOutput

func (Hl7StoreNotificationConfigsArray) ToHl7StoreNotificationConfigsArrayOutputWithContext

func (i Hl7StoreNotificationConfigsArray) ToHl7StoreNotificationConfigsArrayOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigsArrayOutput

type Hl7StoreNotificationConfigsArrayInput

type Hl7StoreNotificationConfigsArrayInput interface {
	pulumi.Input

	ToHl7StoreNotificationConfigsArrayOutput() Hl7StoreNotificationConfigsArrayOutput
	ToHl7StoreNotificationConfigsArrayOutputWithContext(context.Context) Hl7StoreNotificationConfigsArrayOutput
}

Hl7StoreNotificationConfigsArrayInput is an input type that accepts Hl7StoreNotificationConfigsArray and Hl7StoreNotificationConfigsArrayOutput values. You can construct a concrete instance of `Hl7StoreNotificationConfigsArrayInput` via:

Hl7StoreNotificationConfigsArray{ Hl7StoreNotificationConfigsArgs{...} }

type Hl7StoreNotificationConfigsArrayOutput

type Hl7StoreNotificationConfigsArrayOutput struct{ *pulumi.OutputState }

func (Hl7StoreNotificationConfigsArrayOutput) ElementType

func (Hl7StoreNotificationConfigsArrayOutput) Index

func (Hl7StoreNotificationConfigsArrayOutput) ToHl7StoreNotificationConfigsArrayOutput

func (o Hl7StoreNotificationConfigsArrayOutput) ToHl7StoreNotificationConfigsArrayOutput() Hl7StoreNotificationConfigsArrayOutput

func (Hl7StoreNotificationConfigsArrayOutput) ToHl7StoreNotificationConfigsArrayOutputWithContext

func (o Hl7StoreNotificationConfigsArrayOutput) ToHl7StoreNotificationConfigsArrayOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigsArrayOutput

type Hl7StoreNotificationConfigsInput

type Hl7StoreNotificationConfigsInput interface {
	pulumi.Input

	ToHl7StoreNotificationConfigsOutput() Hl7StoreNotificationConfigsOutput
	ToHl7StoreNotificationConfigsOutputWithContext(context.Context) Hl7StoreNotificationConfigsOutput
}

Hl7StoreNotificationConfigsInput is an input type that accepts Hl7StoreNotificationConfigsArgs and Hl7StoreNotificationConfigsOutput values. You can construct a concrete instance of `Hl7StoreNotificationConfigsInput` via:

Hl7StoreNotificationConfigsArgs{...}

type Hl7StoreNotificationConfigsOutput

type Hl7StoreNotificationConfigsOutput struct{ *pulumi.OutputState }

func (Hl7StoreNotificationConfigsOutput) ElementType

func (Hl7StoreNotificationConfigsOutput) Filter

Restricts notifications sent for messages matching a filter. If this is empty, all messages are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings Fields/functions available for filtering are: * messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT". * sendDate or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, sendDate < "2017-01-02". * sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00". * sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC". * PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN"). * labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*.

func (Hl7StoreNotificationConfigsOutput) PubsubTopic

The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail. If a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver

func (Hl7StoreNotificationConfigsOutput) ToHl7StoreNotificationConfigsOutput

func (o Hl7StoreNotificationConfigsOutput) ToHl7StoreNotificationConfigsOutput() Hl7StoreNotificationConfigsOutput

func (Hl7StoreNotificationConfigsOutput) ToHl7StoreNotificationConfigsOutputWithContext

func (o Hl7StoreNotificationConfigsOutput) ToHl7StoreNotificationConfigsOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigsOutput

type Hl7StoreOutput

type Hl7StoreOutput struct{ *pulumi.OutputState }

func (Hl7StoreOutput) Dataset

func (o Hl7StoreOutput) Dataset() pulumi.StringOutput

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'

***

func (Hl7StoreOutput) EffectiveLabels

func (o Hl7StoreOutput) EffectiveLabels() pulumi.StringMapOutput

All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.

func (Hl7StoreOutput) ElementType

func (Hl7StoreOutput) ElementType() reflect.Type

func (Hl7StoreOutput) Labels

User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

**Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field `effectiveLabels` for all of the labels present on the resource.

func (Hl7StoreOutput) Name

The resource name for the Hl7V2Store. ** Changing this property may recreate the Hl7v2 store (removing all data) **

func (Hl7StoreOutput) NotificationConfig deprecated

func (o Hl7StoreOutput) NotificationConfig() Hl7StoreNotificationConfigPtrOutput

(Optional, Deprecated) A nested object resource Structure is documented below.

> **Warning:** `notificationConfig` is deprecated and will be removed in a future major release. Use `notificationConfigs` instead.

Deprecated: `notificationConfig` is deprecated and will be removed in a future major release. Use `notificationConfigs` instead.

func (Hl7StoreOutput) NotificationConfigs

A list of notification configs. Each configuration uses a filter to determine whether to publish a message (both Ingest & Create) on the corresponding notification destination. Only the message name is sent as part of the notification. Supplied by the client. Structure is documented below.

func (Hl7StoreOutput) ParserConfig

func (o Hl7StoreOutput) ParserConfig() Hl7StoreParserConfigOutput

A nested object resource Structure is documented below.

func (Hl7StoreOutput) PulumiLabels

func (o Hl7StoreOutput) PulumiLabels() pulumi.StringMapOutput

The combination of labels configured directly on the resource and default labels configured on the provider.

func (Hl7StoreOutput) RejectDuplicateMessage added in v7.11.0

func (o Hl7StoreOutput) RejectDuplicateMessage() pulumi.BoolPtrOutput

Determines whether duplicate messages are allowed.

func (o Hl7StoreOutput) SelfLink() pulumi.StringOutput

The fully qualified name of this dataset

func (Hl7StoreOutput) ToHl7StoreOutput

func (o Hl7StoreOutput) ToHl7StoreOutput() Hl7StoreOutput

func (Hl7StoreOutput) ToHl7StoreOutputWithContext

func (o Hl7StoreOutput) ToHl7StoreOutputWithContext(ctx context.Context) Hl7StoreOutput

type Hl7StoreParserConfig

type Hl7StoreParserConfig struct {
	// Determines whether messages with no header are allowed.
	AllowNullHeader *bool `pulumi:"allowNullHeader"`
	// JSON encoded string for schemas used to parse messages in this
	// store if schematized parsing is desired.
	Schema *string `pulumi:"schema"`
	// Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator.
	// A base64-encoded string.
	SegmentTerminator *string `pulumi:"segmentTerminator"`
	// The version of the unschematized parser to be used when a custom `schema` is not set.
	// Default value is `V1`.
	// Possible values are: `V1`, `V2`, `V3`.
	Version *string `pulumi:"version"`
}

type Hl7StoreParserConfigArgs

type Hl7StoreParserConfigArgs struct {
	// Determines whether messages with no header are allowed.
	AllowNullHeader pulumi.BoolPtrInput `pulumi:"allowNullHeader"`
	// JSON encoded string for schemas used to parse messages in this
	// store if schematized parsing is desired.
	Schema pulumi.StringPtrInput `pulumi:"schema"`
	// Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator.
	// A base64-encoded string.
	SegmentTerminator pulumi.StringPtrInput `pulumi:"segmentTerminator"`
	// The version of the unschematized parser to be used when a custom `schema` is not set.
	// Default value is `V1`.
	// Possible values are: `V1`, `V2`, `V3`.
	Version pulumi.StringPtrInput `pulumi:"version"`
}

func (Hl7StoreParserConfigArgs) ElementType

func (Hl7StoreParserConfigArgs) ElementType() reflect.Type

func (Hl7StoreParserConfigArgs) ToHl7StoreParserConfigOutput

func (i Hl7StoreParserConfigArgs) ToHl7StoreParserConfigOutput() Hl7StoreParserConfigOutput

func (Hl7StoreParserConfigArgs) ToHl7StoreParserConfigOutputWithContext

func (i Hl7StoreParserConfigArgs) ToHl7StoreParserConfigOutputWithContext(ctx context.Context) Hl7StoreParserConfigOutput

func (Hl7StoreParserConfigArgs) ToHl7StoreParserConfigPtrOutput

func (i Hl7StoreParserConfigArgs) ToHl7StoreParserConfigPtrOutput() Hl7StoreParserConfigPtrOutput

func (Hl7StoreParserConfigArgs) ToHl7StoreParserConfigPtrOutputWithContext

func (i Hl7StoreParserConfigArgs) ToHl7StoreParserConfigPtrOutputWithContext(ctx context.Context) Hl7StoreParserConfigPtrOutput

type Hl7StoreParserConfigInput

type Hl7StoreParserConfigInput interface {
	pulumi.Input

	ToHl7StoreParserConfigOutput() Hl7StoreParserConfigOutput
	ToHl7StoreParserConfigOutputWithContext(context.Context) Hl7StoreParserConfigOutput
}

Hl7StoreParserConfigInput is an input type that accepts Hl7StoreParserConfigArgs and Hl7StoreParserConfigOutput values. You can construct a concrete instance of `Hl7StoreParserConfigInput` via:

Hl7StoreParserConfigArgs{...}

type Hl7StoreParserConfigOutput

type Hl7StoreParserConfigOutput struct{ *pulumi.OutputState }

func (Hl7StoreParserConfigOutput) AllowNullHeader

func (o Hl7StoreParserConfigOutput) AllowNullHeader() pulumi.BoolPtrOutput

Determines whether messages with no header are allowed.

func (Hl7StoreParserConfigOutput) ElementType

func (Hl7StoreParserConfigOutput) ElementType() reflect.Type

func (Hl7StoreParserConfigOutput) Schema

JSON encoded string for schemas used to parse messages in this store if schematized parsing is desired.

func (Hl7StoreParserConfigOutput) SegmentTerminator

func (o Hl7StoreParserConfigOutput) SegmentTerminator() pulumi.StringPtrOutput

Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator. A base64-encoded string.

func (Hl7StoreParserConfigOutput) ToHl7StoreParserConfigOutput

func (o Hl7StoreParserConfigOutput) ToHl7StoreParserConfigOutput() Hl7StoreParserConfigOutput

func (Hl7StoreParserConfigOutput) ToHl7StoreParserConfigOutputWithContext

func (o Hl7StoreParserConfigOutput) ToHl7StoreParserConfigOutputWithContext(ctx context.Context) Hl7StoreParserConfigOutput

func (Hl7StoreParserConfigOutput) ToHl7StoreParserConfigPtrOutput

func (o Hl7StoreParserConfigOutput) ToHl7StoreParserConfigPtrOutput() Hl7StoreParserConfigPtrOutput

func (Hl7StoreParserConfigOutput) ToHl7StoreParserConfigPtrOutputWithContext

func (o Hl7StoreParserConfigOutput) ToHl7StoreParserConfigPtrOutputWithContext(ctx context.Context) Hl7StoreParserConfigPtrOutput

func (Hl7StoreParserConfigOutput) Version

The version of the unschematized parser to be used when a custom `schema` is not set. Default value is `V1`. Possible values are: `V1`, `V2`, `V3`.

type Hl7StoreParserConfigPtrInput

type Hl7StoreParserConfigPtrInput interface {
	pulumi.Input

	ToHl7StoreParserConfigPtrOutput() Hl7StoreParserConfigPtrOutput
	ToHl7StoreParserConfigPtrOutputWithContext(context.Context) Hl7StoreParserConfigPtrOutput
}

Hl7StoreParserConfigPtrInput is an input type that accepts Hl7StoreParserConfigArgs, Hl7StoreParserConfigPtr and Hl7StoreParserConfigPtrOutput values. You can construct a concrete instance of `Hl7StoreParserConfigPtrInput` via:

        Hl7StoreParserConfigArgs{...}

or:

        nil

type Hl7StoreParserConfigPtrOutput

type Hl7StoreParserConfigPtrOutput struct{ *pulumi.OutputState }

func (Hl7StoreParserConfigPtrOutput) AllowNullHeader

Determines whether messages with no header are allowed.

func (Hl7StoreParserConfigPtrOutput) Elem

func (Hl7StoreParserConfigPtrOutput) ElementType

func (Hl7StoreParserConfigPtrOutput) Schema

JSON encoded string for schemas used to parse messages in this store if schematized parsing is desired.

func (Hl7StoreParserConfigPtrOutput) SegmentTerminator

Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator. A base64-encoded string.

func (Hl7StoreParserConfigPtrOutput) ToHl7StoreParserConfigPtrOutput

func (o Hl7StoreParserConfigPtrOutput) ToHl7StoreParserConfigPtrOutput() Hl7StoreParserConfigPtrOutput

func (Hl7StoreParserConfigPtrOutput) ToHl7StoreParserConfigPtrOutputWithContext

func (o Hl7StoreParserConfigPtrOutput) ToHl7StoreParserConfigPtrOutputWithContext(ctx context.Context) Hl7StoreParserConfigPtrOutput

func (Hl7StoreParserConfigPtrOutput) Version

The version of the unschematized parser to be used when a custom `schema` is not set. Default value is `V1`. Possible values are: `V1`, `V2`, `V3`.

type Hl7StoreState

type Hl7StoreState struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	//
	// ***
	Dataset pulumi.StringPtrInput
	// All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
	EffectiveLabels pulumi.StringMapInput
	// User-supplied key-value pairs used to organize HL7v2 stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	//
	// **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
	// Please refer to the field `effectiveLabels` for all of the labels present on the resource.
	Labels pulumi.StringMapInput
	// The resource name for the Hl7V2Store.
	// ** Changing this property may recreate the Hl7v2 store (removing all data) **
	Name pulumi.StringPtrInput
	// (Optional, Deprecated)
	// A nested object resource
	// Structure is documented below.
	//
	// > **Warning:** `notificationConfig` is deprecated and will be removed in a future major release. Use `notificationConfigs` instead.
	//
	// Deprecated: `notificationConfig` is deprecated and will be removed in a future major release. Use `notificationConfigs` instead.
	NotificationConfig Hl7StoreNotificationConfigPtrInput
	// A list of notification configs. Each configuration uses a filter to determine whether to publish a
	// message (both Ingest & Create) on the corresponding notification destination. Only the message name
	// is sent as part of the notification. Supplied by the client.
	// Structure is documented below.
	NotificationConfigs Hl7StoreNotificationConfigsArrayInput
	// A nested object resource
	// Structure is documented below.
	ParserConfig Hl7StoreParserConfigPtrInput
	// The combination of labels configured directly on the resource
	// and default labels configured on the provider.
	PulumiLabels pulumi.StringMapInput
	// Determines whether duplicate messages are allowed.
	RejectDuplicateMessage pulumi.BoolPtrInput
	// The fully qualified name of this dataset
	SelfLink pulumi.StringPtrInput
}

func (Hl7StoreState) ElementType

func (Hl7StoreState) ElementType() reflect.Type

type LookupConsentStoreIamPolicyArgs

type LookupConsentStoreIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId string `pulumi:"consentStoreId"`
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset string `pulumi:"dataset"`
}

A collection of arguments for invoking getConsentStoreIamPolicy.

type LookupConsentStoreIamPolicyOutputArgs

type LookupConsentStoreIamPolicyOutputArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringInput `pulumi:"consentStoreId"`
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringInput `pulumi:"dataset"`
}

A collection of arguments for invoking getConsentStoreIamPolicy.

func (LookupConsentStoreIamPolicyOutputArgs) ElementType

type LookupConsentStoreIamPolicyResult

type LookupConsentStoreIamPolicyResult struct {
	ConsentStoreId string `pulumi:"consentStoreId"`
	Dataset        string `pulumi:"dataset"`
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Required only by `healthcare.ConsentStoreIamPolicy`) The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData string `pulumi:"policyData"`
}

A collection of values returned by getConsentStoreIamPolicy.

func LookupConsentStoreIamPolicy

func LookupConsentStoreIamPolicy(ctx *pulumi.Context, args *LookupConsentStoreIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupConsentStoreIamPolicyResult, error)

Retrieves the current IAM policy data for consentstore

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.LookupConsentStoreIamPolicy(ctx, &healthcare.LookupConsentStoreIamPolicyArgs{
			Dataset:        my_consent.Dataset,
			ConsentStoreId: my_consent.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupConsentStoreIamPolicyResultOutput

type LookupConsentStoreIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getConsentStoreIamPolicy.

func (LookupConsentStoreIamPolicyResultOutput) ConsentStoreId

func (LookupConsentStoreIamPolicyResultOutput) Dataset

func (LookupConsentStoreIamPolicyResultOutput) ElementType

func (LookupConsentStoreIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupConsentStoreIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupConsentStoreIamPolicyResultOutput) PolicyData

(Required only by `healthcare.ConsentStoreIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupConsentStoreIamPolicyResultOutput) ToLookupConsentStoreIamPolicyResultOutput

func (o LookupConsentStoreIamPolicyResultOutput) ToLookupConsentStoreIamPolicyResultOutput() LookupConsentStoreIamPolicyResultOutput

func (LookupConsentStoreIamPolicyResultOutput) ToLookupConsentStoreIamPolicyResultOutputWithContext

func (o LookupConsentStoreIamPolicyResultOutput) ToLookupConsentStoreIamPolicyResultOutputWithContext(ctx context.Context) LookupConsentStoreIamPolicyResultOutput

type LookupDatasetIamPolicyArgs

type LookupDatasetIamPolicyArgs struct {
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId string `pulumi:"datasetId"`
}

A collection of arguments for invoking getDatasetIamPolicy.

type LookupDatasetIamPolicyOutputArgs

type LookupDatasetIamPolicyOutputArgs struct {
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringInput `pulumi:"datasetId"`
}

A collection of arguments for invoking getDatasetIamPolicy.

func (LookupDatasetIamPolicyOutputArgs) ElementType

type LookupDatasetIamPolicyResult

type LookupDatasetIamPolicyResult struct {
	DatasetId string `pulumi:"datasetId"`
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Computed) The policy data
	PolicyData string `pulumi:"policyData"`
}

A collection of values returned by getDatasetIamPolicy.

func LookupDatasetIamPolicy

func LookupDatasetIamPolicy(ctx *pulumi.Context, args *LookupDatasetIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupDatasetIamPolicyResult, error)

Retrieves the current IAM policy data for a Google Cloud Healthcare dataset.

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.LookupDatasetIamPolicy(ctx, &healthcare.LookupDatasetIamPolicyArgs{
			DatasetId: dataset.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupDatasetIamPolicyResultOutput

type LookupDatasetIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatasetIamPolicy.

func (LookupDatasetIamPolicyResultOutput) DatasetId

func (LookupDatasetIamPolicyResultOutput) ElementType

func (LookupDatasetIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupDatasetIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupDatasetIamPolicyResultOutput) PolicyData

(Computed) The policy data

func (LookupDatasetIamPolicyResultOutput) ToLookupDatasetIamPolicyResultOutput

func (o LookupDatasetIamPolicyResultOutput) ToLookupDatasetIamPolicyResultOutput() LookupDatasetIamPolicyResultOutput

func (LookupDatasetIamPolicyResultOutput) ToLookupDatasetIamPolicyResultOutputWithContext

func (o LookupDatasetIamPolicyResultOutput) ToLookupDatasetIamPolicyResultOutputWithContext(ctx context.Context) LookupDatasetIamPolicyResultOutput

type LookupDicomStoreIamPolicyArgs

type LookupDicomStoreIamPolicyArgs struct {
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId string `pulumi:"dicomStoreId"`
}

A collection of arguments for invoking getDicomStoreIamPolicy.

type LookupDicomStoreIamPolicyOutputArgs

type LookupDicomStoreIamPolicyOutputArgs struct {
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringInput `pulumi:"dicomStoreId"`
}

A collection of arguments for invoking getDicomStoreIamPolicy.

func (LookupDicomStoreIamPolicyOutputArgs) ElementType

type LookupDicomStoreIamPolicyResult

type LookupDicomStoreIamPolicyResult struct {
	DicomStoreId string `pulumi:"dicomStoreId"`
	// (Computed) The etag of the IAM policy.
	Etag string `pulumi:"etag"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Computed) The policy data
	PolicyData string `pulumi:"policyData"`
}

A collection of values returned by getDicomStoreIamPolicy.

func LookupDicomStoreIamPolicy

func LookupDicomStoreIamPolicy(ctx *pulumi.Context, args *LookupDicomStoreIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupDicomStoreIamPolicyResult, error)

Retrieves the current IAM policy data for a Google Cloud Healthcare DICOM store.

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.LookupDicomStoreIamPolicy(ctx, &healthcare.LookupDicomStoreIamPolicyArgs{
			DicomStoreId: dicomStore.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupDicomStoreIamPolicyResultOutput

type LookupDicomStoreIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDicomStoreIamPolicy.

func (LookupDicomStoreIamPolicyResultOutput) DicomStoreId

func (LookupDicomStoreIamPolicyResultOutput) ElementType

func (LookupDicomStoreIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupDicomStoreIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupDicomStoreIamPolicyResultOutput) PolicyData

(Computed) The policy data

func (LookupDicomStoreIamPolicyResultOutput) ToLookupDicomStoreIamPolicyResultOutput

func (o LookupDicomStoreIamPolicyResultOutput) ToLookupDicomStoreIamPolicyResultOutput() LookupDicomStoreIamPolicyResultOutput

func (LookupDicomStoreIamPolicyResultOutput) ToLookupDicomStoreIamPolicyResultOutputWithContext

func (o LookupDicomStoreIamPolicyResultOutput) ToLookupDicomStoreIamPolicyResultOutputWithContext(ctx context.Context) LookupDicomStoreIamPolicyResultOutput

type LookupFhirStoreIamPolicyArgs

type LookupFhirStoreIamPolicyArgs struct {
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId string `pulumi:"fhirStoreId"`
}

A collection of arguments for invoking getFhirStoreIamPolicy.

type LookupFhirStoreIamPolicyOutputArgs

type LookupFhirStoreIamPolicyOutputArgs struct {
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringInput `pulumi:"fhirStoreId"`
}

A collection of arguments for invoking getFhirStoreIamPolicy.

func (LookupFhirStoreIamPolicyOutputArgs) ElementType

type LookupFhirStoreIamPolicyResult

type LookupFhirStoreIamPolicyResult struct {
	// (Computed) The etag of the IAM policy.
	Etag        string `pulumi:"etag"`
	FhirStoreId string `pulumi:"fhirStoreId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Computed) The policy data
	PolicyData string `pulumi:"policyData"`
}

A collection of values returned by getFhirStoreIamPolicy.

func LookupFhirStoreIamPolicy

func LookupFhirStoreIamPolicy(ctx *pulumi.Context, args *LookupFhirStoreIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupFhirStoreIamPolicyResult, error)

Retrieves the current IAM policy data for a Google Cloud Healthcare FHIR store.

## example

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.LookupFhirStoreIamPolicy(ctx, &healthcare.LookupFhirStoreIamPolicyArgs{
			FhirStoreId: fhirStore.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupFhirStoreIamPolicyResultOutput

type LookupFhirStoreIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFhirStoreIamPolicy.

func (LookupFhirStoreIamPolicyResultOutput) ElementType

func (LookupFhirStoreIamPolicyResultOutput) Etag

(Computed) The etag of the IAM policy.

func (LookupFhirStoreIamPolicyResultOutput) FhirStoreId

func (LookupFhirStoreIamPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupFhirStoreIamPolicyResultOutput) PolicyData

(Computed) The policy data

func (LookupFhirStoreIamPolicyResultOutput) ToLookupFhirStoreIamPolicyResultOutput

func (o LookupFhirStoreIamPolicyResultOutput) ToLookupFhirStoreIamPolicyResultOutput() LookupFhirStoreIamPolicyResultOutput

func (LookupFhirStoreIamPolicyResultOutput) ToLookupFhirStoreIamPolicyResultOutputWithContext

func (o LookupFhirStoreIamPolicyResultOutput) ToLookupFhirStoreIamPolicyResultOutputWithContext(ctx context.Context) LookupFhirStoreIamPolicyResultOutput

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL