healthcare

package
v6.67.1 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2023 License: Apache-2.0 Imports: 8 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"`
	// 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" }.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The name of this ConsentStore, for example:
	// "consent1"
	Name pulumi.StringOutput `pulumi:"name"`
}

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/v6/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"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStore(ctx, "my-consent", &healthcare.ConsentStoreArgs{
			Dataset: dataset.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Consent Store Full

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/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"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStore(ctx, "my-consent", &healthcare.ConsentStoreArgs{
			Dataset:                     dataset.ID(),
			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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewConsentStore(ctx, "my-consent", &healthcare.ConsentStoreArgs{
			Dataset: dataset.ID(),
		})
		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:

```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

func (*ConsentStore) ToOutput added in v6.65.1

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" }.
	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

func (ConsentStoreArray) ToOutput added in v6.65.1

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

func (ConsentStoreArrayOutput) ToOutput added in v6.65.1

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
	//
	// * `member/members` - (Required) 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"
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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(google_healthcare_consent_store.MyConsent.Dataset),
			ConsentStoreId: pulumi.Any(google_healthcare_consent_store.MyConsent.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/v6/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(google_healthcare_consent_store.MyConsent.Dataset),
			ConsentStoreId: pulumi.Any(google_healthcare_consent_store.MyConsent.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/v6/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(google_healthcare_consent_store.MyConsent.Dataset),
			ConsentStoreId: pulumi.Any(google_healthcare_consent_store.MyConsent.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 identifiersthe 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 identifiersthe 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

func (*ConsentStoreIamBinding) ToOutput added in v6.65.1

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
	//
	// * `member/members` - (Required) 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"
	Dataset pulumi.StringInput
	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

func (ConsentStoreIamBindingArray) ToOutput added in v6.65.1

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

func (ConsentStoreIamBindingArrayOutput) ToOutput added in v6.65.1

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

func (ConsentStoreIamBindingConditionArgs) ToOutput added in v6.65.1

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

func (ConsentStoreIamBindingConditionOutput) ToOutput added in v6.65.1

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

func (ConsentStoreIamBindingConditionPtrOutput) ToOutput added in v6.65.1

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

func (ConsentStoreIamBindingMap) ToOutput added in v6.65.1

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

func (ConsentStoreIamBindingMapOutput) ToOutput added in v6.65.1

type ConsentStoreIamBindingOutput

type ConsentStoreIamBindingOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamBindingOutput) Condition added in v6.23.0

func (ConsentStoreIamBindingOutput) ConsentStoreId added in v6.23.0

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

func (ConsentStoreIamBindingOutput) Dataset added in v6.23.0

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

  • `member/members` - (Required) 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) ElementType

func (ConsentStoreIamBindingOutput) Etag added in v6.23.0

(Computed) The etag of the IAM policy.

func (ConsentStoreIamBindingOutput) Members added in v6.23.0

func (ConsentStoreIamBindingOutput) Role added in v6.23.0

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

func (ConsentStoreIamBindingOutput) ToOutput added in v6.65.1

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
	//
	// * `member/members` - (Required) 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"
	Dataset pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringPtrInput
	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
	//
	// * `member/members` - (Required) 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"
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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(google_healthcare_consent_store.MyConsent.Dataset),
			ConsentStoreId: pulumi.Any(google_healthcare_consent_store.MyConsent.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/v6/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(google_healthcare_consent_store.MyConsent.Dataset),
			ConsentStoreId: pulumi.Any(google_healthcare_consent_store.MyConsent.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/v6/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(google_healthcare_consent_store.MyConsent.Dataset),
			ConsentStoreId: pulumi.Any(google_healthcare_consent_store.MyConsent.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 identifiersthe 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 identifiersthe 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

func (*ConsentStoreIamMember) ToOutput added in v6.65.1

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
	//
	// * `member/members` - (Required) 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"
	Dataset pulumi.StringInput
	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

func (ConsentStoreIamMemberArray) ToOutput added in v6.65.1

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

func (ConsentStoreIamMemberArrayOutput) ToOutput added in v6.65.1

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

func (ConsentStoreIamMemberConditionArgs) ToOutput added in v6.65.1

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

func (ConsentStoreIamMemberConditionOutput) ToOutput added in v6.65.1

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

func (ConsentStoreIamMemberConditionPtrOutput) ToOutput added in v6.65.1

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

func (ConsentStoreIamMemberMap) ToOutput added in v6.65.1

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

func (ConsentStoreIamMemberMapOutput) ToOutput added in v6.65.1

type ConsentStoreIamMemberOutput

type ConsentStoreIamMemberOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamMemberOutput) Condition added in v6.23.0

func (ConsentStoreIamMemberOutput) ConsentStoreId added in v6.23.0

func (o ConsentStoreIamMemberOutput) ConsentStoreId() pulumi.StringOutput

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

func (ConsentStoreIamMemberOutput) Dataset added in v6.23.0

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

  • `member/members` - (Required) 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) ElementType

func (ConsentStoreIamMemberOutput) Etag added in v6.23.0

(Computed) The etag of the IAM policy.

func (ConsentStoreIamMemberOutput) Member added in v6.23.0

func (ConsentStoreIamMemberOutput) Role added in v6.23.0

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

func (ConsentStoreIamMemberOutput) ToOutput added in v6.65.1

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
	//
	// * `member/members` - (Required) 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"
	Dataset pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	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
	//
	// * `member/members` - (Required) 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"
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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(google_healthcare_consent_store.MyConsent.Dataset),
			ConsentStoreId: pulumi.Any(google_healthcare_consent_store.MyConsent.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/v6/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(google_healthcare_consent_store.MyConsent.Dataset),
			ConsentStoreId: pulumi.Any(google_healthcare_consent_store.MyConsent.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/v6/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(google_healthcare_consent_store.MyConsent.Dataset),
			ConsentStoreId: pulumi.Any(google_healthcare_consent_store.MyConsent.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 identifiersthe 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 identifiersthe 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

func (*ConsentStoreIamPolicy) ToOutput added in v6.65.1

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
	//
	// * `member/members` - (Required) 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"
	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

func (ConsentStoreIamPolicyArray) ToOutput added in v6.65.1

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

func (ConsentStoreIamPolicyArrayOutput) ToOutput added in v6.65.1

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

func (ConsentStoreIamPolicyMap) ToOutput added in v6.65.1

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

func (ConsentStoreIamPolicyMapOutput) ToOutput added in v6.65.1

type ConsentStoreIamPolicyOutput

type ConsentStoreIamPolicyOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamPolicyOutput) ConsentStoreId added in v6.23.0

func (o ConsentStoreIamPolicyOutput) ConsentStoreId() pulumi.StringOutput

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

func (ConsentStoreIamPolicyOutput) Dataset added in v6.23.0

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

  • `member/members` - (Required) 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 (ConsentStoreIamPolicyOutput) ElementType

func (ConsentStoreIamPolicyOutput) Etag added in v6.23.0

(Computed) The etag of the IAM policy.

func (ConsentStoreIamPolicyOutput) PolicyData added in v6.23.0

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

func (ConsentStoreIamPolicyOutput) ToOutput added in v6.65.1

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
	//
	// * `member/members` - (Required) 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"
	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

func (ConsentStoreMap) ToOutput added in v6.65.1

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

func (ConsentStoreMapOutput) ToOutput added in v6.65.1

type ConsentStoreOutput

type ConsentStoreOutput struct{ *pulumi.OutputState }

func (ConsentStoreOutput) Dataset added in v6.23.0

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

***

func (ConsentStoreOutput) DefaultConsentTtl added in v6.23.0

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) ElementType

func (ConsentStoreOutput) ElementType() reflect.Type

func (ConsentStoreOutput) EnableConsentCreateOnUpdate added in v6.23.0

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 added in v6.23.0

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" }.

func (ConsentStoreOutput) Name added in v6.23.0

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

func (ConsentStoreOutput) ToConsentStoreOutput

func (o ConsentStoreOutput) ToConsentStoreOutput() ConsentStoreOutput

func (ConsentStoreOutput) ToConsentStoreOutputWithContext

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

func (ConsentStoreOutput) ToOutput added in v6.65.1

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
	// 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" }.
	Labels pulumi.StringMapInput
	// The name of this ConsentStore, for example:
	// "consent1"
	Name pulumi.StringPtrInput
}

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/v6/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{
			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

```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

func (*Dataset) ToOutput added in v6.65.1

func (i *Dataset) ToOutput(ctx context.Context) pulumix.Output[*Dataset]

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

func (DatasetArray) ToOutput added in v6.65.1

func (i DatasetArray) ToOutput(ctx context.Context) pulumix.Output[[]*Dataset]

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

func (DatasetArrayOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	DatasetId pulumi.StringOutput `pulumi:"datasetId"`
	// (Computed) The etag of the dataset's IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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/v6/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"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Role: pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/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"),
			Member:    pulumi.String("user:jane@example.com"),
			Role:      pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `dataset_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/datasetIamBinding:DatasetIamBinding dataset_iam "your-project-id/location-name/dataset-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `dataset_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/datasetIamBinding:DatasetIamBinding dataset_iam "your-project-id/location-name/dataset-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `dataset_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/datasetIamBinding:DatasetIamBinding dataset_iam your-project-id/location-name/dataset-name

```

-> **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 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

func (*DatasetIamBinding) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	DatasetId pulumi.StringInput
	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

func (DatasetIamBindingArray) ToOutput added in v6.65.1

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

func (DatasetIamBindingArrayOutput) ToOutput added in v6.65.1

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

func (DatasetIamBindingConditionArgs) ToOutput added in v6.65.1

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

func (DatasetIamBindingConditionOutput) ToOutput added in v6.65.1

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

func (DatasetIamBindingConditionPtrOutput) ToOutput added in v6.65.1

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

func (DatasetIamBindingMap) ToOutput added in v6.65.1

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

func (DatasetIamBindingMapOutput) ToOutput added in v6.65.1

type DatasetIamBindingOutput

type DatasetIamBindingOutput struct{ *pulumi.OutputState }

func (DatasetIamBindingOutput) Condition added in v6.23.0

func (DatasetIamBindingOutput) DatasetId added in v6.23.0

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.

  • `member/members` - (Required) 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) ElementType

func (DatasetIamBindingOutput) ElementType() reflect.Type

func (DatasetIamBindingOutput) Etag added in v6.23.0

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

func (DatasetIamBindingOutput) Members added in v6.23.0

func (DatasetIamBindingOutput) Role added in v6.23.0

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

func (DatasetIamBindingOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	DatasetId pulumi.StringPtrInput
	// (Computed) The etag of the dataset's IAM policy.
	Etag    pulumi.StringPtrInput
	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.
	//
	// * `member/members` - (Required) 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.
	DatasetId pulumi.StringOutput `pulumi:"datasetId"`
	// (Computed) The etag of the dataset's IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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/v6/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"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Role: pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/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"),
			Member:    pulumi.String("user:jane@example.com"),
			Role:      pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `dataset_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/datasetIamMember:DatasetIamMember dataset_iam "your-project-id/location-name/dataset-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `dataset_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/datasetIamMember:DatasetIamMember dataset_iam "your-project-id/location-name/dataset-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `dataset_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/datasetIamMember:DatasetIamMember dataset_iam your-project-id/location-name/dataset-name

```

-> **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 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

func (*DatasetIamMember) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	DatasetId pulumi.StringInput
	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

func (DatasetIamMemberArray) ToOutput added in v6.65.1

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

func (DatasetIamMemberArrayOutput) ToOutput added in v6.65.1

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

func (DatasetIamMemberConditionArgs) ToOutput added in v6.65.1

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

func (DatasetIamMemberConditionOutput) ToOutput added in v6.65.1

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

func (DatasetIamMemberConditionPtrOutput) ToOutput added in v6.65.1

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

func (DatasetIamMemberMap) ToOutput added in v6.65.1

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

func (DatasetIamMemberMapOutput) ToOutput added in v6.65.1

type DatasetIamMemberOutput

type DatasetIamMemberOutput struct{ *pulumi.OutputState }

func (DatasetIamMemberOutput) Condition added in v6.23.0

func (DatasetIamMemberOutput) DatasetId added in v6.23.0

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.

  • `member/members` - (Required) 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) ElementType

func (DatasetIamMemberOutput) ElementType() reflect.Type

func (DatasetIamMemberOutput) Etag added in v6.23.0

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

func (DatasetIamMemberOutput) Member added in v6.23.0

func (DatasetIamMemberOutput) Role added in v6.23.0

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

func (DatasetIamMemberOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	DatasetId pulumi.StringPtrInput
	// (Computed) The etag of the dataset's IAM policy.
	Etag   pulumi.StringPtrInput
	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.
	//
	// * `member/members` - (Required) 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.
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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/v6/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"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Role: pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_dataset\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/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"),
			Member:    pulumi.String("user:jane@example.com"),
			Role:      pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `dataset_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/datasetIamPolicy:DatasetIamPolicy dataset_iam "your-project-id/location-name/dataset-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `dataset_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/datasetIamPolicy:DatasetIamPolicy dataset_iam "your-project-id/location-name/dataset-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `dataset_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/datasetIamPolicy:DatasetIamPolicy dataset_iam your-project-id/location-name/dataset-name

```

-> **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 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

func (*DatasetIamPolicy) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	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

func (DatasetIamPolicyArray) ToOutput added in v6.65.1

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

func (DatasetIamPolicyArrayOutput) ToOutput added in v6.65.1

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

func (DatasetIamPolicyMap) ToOutput added in v6.65.1

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

func (DatasetIamPolicyMapOutput) ToOutput added in v6.65.1

type DatasetIamPolicyOutput

type DatasetIamPolicyOutput struct{ *pulumi.OutputState }

func (DatasetIamPolicyOutput) DatasetId added in v6.23.0

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.

  • `member/members` - (Required) 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 (DatasetIamPolicyOutput) ElementType

func (DatasetIamPolicyOutput) ElementType() reflect.Type

func (DatasetIamPolicyOutput) Etag added in v6.23.0

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

func (DatasetIamPolicyOutput) PolicyData added in v6.23.0

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

func (DatasetIamPolicyOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	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

func (DatasetMap) ToOutput added in v6.65.1

func (i DatasetMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Dataset]

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

func (DatasetMapOutput) ToOutput added in v6.65.1

type DatasetOutput

type DatasetOutput struct{ *pulumi.OutputState }

func (DatasetOutput) ElementType

func (DatasetOutput) ElementType() reflect.Type

func (DatasetOutput) Location added in v6.23.0

func (o DatasetOutput) Location() pulumi.StringOutput

The location for the Dataset.

***

func (DatasetOutput) Name added in v6.23.0

The resource name for the Dataset.

func (DatasetOutput) Project added in v6.23.0

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 added in v6.23.0

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

func (DatasetOutput) ToOutput added in v6.65.1

func (o DatasetOutput) ToOutput(ctx context.Context) pulumix.Output[*Dataset]

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"`
	// 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" }.
	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 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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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", nil)
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewDicomStore(ctx, "default", &healthcare.DicomStoreArgs{
			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/v6/go/gcp/bigquery"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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", nil, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Location: pulumi.String("us-central1"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		bqDataset, err := bigquery.NewDataset(ctx, "bqDataset", &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),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		bqTable, err := bigquery.NewTable(ctx, "bqTable", &bigquery.TableArgs{
			DeletionProtection: pulumi.Bool(false),
			DatasetId:          bqDataset.DatasetId,
			TableId:            pulumi.String("dicom_bq_tb"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = healthcare.NewDicomStore(ctx, "default", &healthcare.DicomStoreArgs{
			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),
					},
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DicomStore can be imported using any of these accepted formats

```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

func (*DicomStore) ToOutput added in v6.65.1

func (i *DicomStore) ToOutput(ctx context.Context) pulumix.Output[*DicomStore]

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" }.
	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

func (DicomStoreArray) ToOutput added in v6.65.1

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

func (DicomStoreArrayOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	DicomStoreId pulumi.StringOutput `pulumi:"dicomStoreId"`
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "dicomStore", &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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

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

```go package main

import (

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

)

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

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `dicom_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/dicomStoreIamBinding:DicomStoreIamBinding dicom_store_iam "your-project-id/location-name/dataset-name/dicom-store-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `dicom_store_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/dicomStoreIamBinding:DicomStoreIamBinding dicom_store_iam "your-project-id/location-name/dataset-name/dicom-store-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `dicom_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/dicomStoreIamBinding:DicomStoreIamBinding dicom_store_iam your-project-id/location-name/dataset-name/dicom-store-name

```

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

func (*DicomStoreIamBinding) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	DicomStoreId pulumi.StringInput
	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

func (DicomStoreIamBindingArray) ToOutput added in v6.65.1

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

func (DicomStoreIamBindingArrayOutput) ToOutput added in v6.65.1

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

func (DicomStoreIamBindingConditionArgs) ToOutput added in v6.65.1

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

func (DicomStoreIamBindingConditionOutput) ToOutput added in v6.65.1

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

func (DicomStoreIamBindingConditionPtrOutput) ToOutput added in v6.65.1

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

func (DicomStoreIamBindingMap) ToOutput added in v6.65.1

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

func (DicomStoreIamBindingMapOutput) ToOutput added in v6.65.1

type DicomStoreIamBindingOutput

type DicomStoreIamBindingOutput struct{ *pulumi.OutputState }

func (DicomStoreIamBindingOutput) Condition added in v6.23.0

func (DicomStoreIamBindingOutput) DicomStoreId added in v6.23.0

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.

  • `member/members` - (Required) 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) ElementType

func (DicomStoreIamBindingOutput) ElementType() reflect.Type

func (DicomStoreIamBindingOutput) Etag added in v6.23.0

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

func (DicomStoreIamBindingOutput) Members added in v6.23.0

func (DicomStoreIamBindingOutput) Role added in v6.23.0

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

func (DicomStoreIamBindingOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	DicomStoreId pulumi.StringPtrInput
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag    pulumi.StringPtrInput
	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.
	//
	// * `member/members` - (Required) 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.
	DicomStoreId pulumi.StringOutput `pulumi:"dicomStoreId"`
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "dicomStore", &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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

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

```go package main

import (

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

)

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

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `dicom_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/dicomStoreIamMember:DicomStoreIamMember dicom_store_iam "your-project-id/location-name/dataset-name/dicom-store-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `dicom_store_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/dicomStoreIamMember:DicomStoreIamMember dicom_store_iam "your-project-id/location-name/dataset-name/dicom-store-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `dicom_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/dicomStoreIamMember:DicomStoreIamMember dicom_store_iam your-project-id/location-name/dataset-name/dicom-store-name

```

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

func (*DicomStoreIamMember) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	DicomStoreId pulumi.StringInput
	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

func (DicomStoreIamMemberArray) ToOutput added in v6.65.1

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

func (DicomStoreIamMemberArrayOutput) ToOutput added in v6.65.1

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

func (DicomStoreIamMemberConditionArgs) ToOutput added in v6.65.1

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

func (DicomStoreIamMemberConditionOutput) ToOutput added in v6.65.1

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

func (DicomStoreIamMemberConditionPtrOutput) ToOutput added in v6.65.1

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

func (DicomStoreIamMemberMap) ToOutput added in v6.65.1

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

func (DicomStoreIamMemberMapOutput) ToOutput added in v6.65.1

type DicomStoreIamMemberOutput

type DicomStoreIamMemberOutput struct{ *pulumi.OutputState }

func (DicomStoreIamMemberOutput) Condition added in v6.23.0

func (DicomStoreIamMemberOutput) DicomStoreId added in v6.23.0

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.

  • `member/members` - (Required) 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) ElementType

func (DicomStoreIamMemberOutput) ElementType() reflect.Type

func (DicomStoreIamMemberOutput) Etag added in v6.23.0

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

func (DicomStoreIamMemberOutput) Member added in v6.23.0

func (DicomStoreIamMemberOutput) Role added in v6.23.0

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

func (DicomStoreIamMemberOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	DicomStoreId pulumi.StringPtrInput
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag   pulumi.StringPtrInput
	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.
	//
	// * `member/members` - (Required) 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.
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "dicomStore", &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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

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

```go package main

import (

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

)

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

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `dicom_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/dicomStoreIamPolicy:DicomStoreIamPolicy dicom_store_iam "your-project-id/location-name/dataset-name/dicom-store-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `dicom_store_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/dicomStoreIamPolicy:DicomStoreIamPolicy dicom_store_iam "your-project-id/location-name/dataset-name/dicom-store-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `dicom_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/dicomStoreIamPolicy:DicomStoreIamPolicy dicom_store_iam your-project-id/location-name/dataset-name/dicom-store-name

```

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

func (*DicomStoreIamPolicy) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	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

func (DicomStoreIamPolicyArray) ToOutput added in v6.65.1

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

func (DicomStoreIamPolicyArrayOutput) ToOutput added in v6.65.1

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

func (DicomStoreIamPolicyMap) ToOutput added in v6.65.1

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

func (DicomStoreIamPolicyMapOutput) ToOutput added in v6.65.1

type DicomStoreIamPolicyOutput

type DicomStoreIamPolicyOutput struct{ *pulumi.OutputState }

func (DicomStoreIamPolicyOutput) DicomStoreId added in v6.23.0

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.

  • `member/members` - (Required) 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 (DicomStoreIamPolicyOutput) ElementType

func (DicomStoreIamPolicyOutput) ElementType() reflect.Type

func (DicomStoreIamPolicyOutput) Etag added in v6.23.0

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

func (DicomStoreIamPolicyOutput) PolicyData added in v6.23.0

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

func (DicomStoreIamPolicyOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	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

func (DicomStoreMap) ToOutput added in v6.65.1

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

func (DicomStoreMapOutput) ToOutput added in v6.65.1

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

func (DicomStoreNotificationConfigArgs) ToOutput added in v6.65.1

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

func (DicomStoreNotificationConfigOutput) ToOutput added in v6.65.1

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

func (DicomStoreNotificationConfigPtrOutput) ToOutput added in v6.65.1

type DicomStoreOutput

type DicomStoreOutput struct{ *pulumi.OutputState }

func (DicomStoreOutput) Dataset added in v6.23.0

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) ElementType

func (DicomStoreOutput) ElementType() reflect.Type

func (DicomStoreOutput) Labels added in v6.23.0

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" }.

func (DicomStoreOutput) Name added in v6.23.0

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

func (DicomStoreOutput) NotificationConfig added in v6.23.0

A nested object resource Structure is documented below.

func (o DicomStoreOutput) SelfLink() pulumi.StringOutput

The fully qualified name of this dataset

func (DicomStoreOutput) StreamConfigs added in v6.23.0

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

func (DicomStoreOutput) ToOutput added in v6.65.1

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
	// 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" }.
	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 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

func (DicomStoreStreamConfigArgs) ToOutput added in v6.65.1

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

func (DicomStoreStreamConfigArray) ToOutput added in v6.65.1

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

func (DicomStoreStreamConfigArrayOutput) ToOutput added in v6.65.1

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

func (DicomStoreStreamConfigBigqueryDestinationArgs) ToOutput added in v6.65.1

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

func (DicomStoreStreamConfigBigqueryDestinationOutput) ToOutput added in v6.65.1

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

func (DicomStoreStreamConfigOutput) ToOutput added in v6.65.1

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"`
	// 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 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" }.
	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.
	NotificationConfigs FhirStoreNotificationConfigArrayOutput `pulumi:"notificationConfigs"`
	// 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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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", nil)
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStore(ctx, "default", &healthcare.FhirStoreArgs{
			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/v6/go/gcp/bigquery"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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{
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		bqDataset, err := bigquery.NewDataset(ctx, "bqDataset", &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{
			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", nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Fhir Store Notification Config

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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", nil)
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStore(ctx, "default", &healthcare.FhirStoreArgs{
			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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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", nil, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Location: pulumi.String("us-central1"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = healthcare.NewFhirStore(ctx, "default", &healthcare.FhirStoreArgs{
			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"),
			},
			NotificationConfigs: healthcare.FhirStoreNotificationConfigArray{
				&healthcare.FhirStoreNotificationConfigArgs{
					PubsubTopic:                  topic.ID(),
					SendFullResource:             pulumi.Bool(true),
					SendPreviousResourceOnDelete: pulumi.Bool(true),
				},
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

FhirStore can be imported using any of these accepted formats

```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

func (*FhirStore) ToOutput added in v6.65.1

func (i *FhirStore) ToOutput(ctx context.Context) pulumix.Output[*FhirStore]

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 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" }.
	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.
	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

func (FhirStoreArray) ToOutput added in v6.65.1

func (i FhirStoreArray) ToOutput(ctx context.Context) pulumix.Output[[]*FhirStore]

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

func (FhirStoreArrayOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	FhirStoreId pulumi.StringOutput      `pulumi:"fhirStoreId"`
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "fhirStore", &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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

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

```go package main

import (

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

)

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

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `fhir_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/fhirStoreIamBinding:FhirStoreIamBinding fhir_store_iam "your-project-id/location-name/dataset-name/fhir-store-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `fhir_store_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/fhirStoreIamBinding:FhirStoreIamBinding fhir_store_iam "your-project-id/location-name/dataset-name/fhir-store-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `fhir_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/fhirStoreIamBinding:FhirStoreIamBinding fhir_store_iam your-project-id/location-name/dataset-name/fhir-store-name

```

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

func (*FhirStoreIamBinding) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	FhirStoreId pulumi.StringInput
	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

func (FhirStoreIamBindingArray) ToOutput added in v6.65.1

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

func (FhirStoreIamBindingArrayOutput) ToOutput added in v6.65.1

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

func (FhirStoreIamBindingConditionArgs) ToOutput added in v6.65.1

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

func (FhirStoreIamBindingConditionOutput) ToOutput added in v6.65.1

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

func (FhirStoreIamBindingConditionPtrOutput) ToOutput added in v6.65.1

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

func (FhirStoreIamBindingMap) ToOutput added in v6.65.1

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

func (FhirStoreIamBindingMapOutput) ToOutput added in v6.65.1

type FhirStoreIamBindingOutput

type FhirStoreIamBindingOutput struct{ *pulumi.OutputState }

func (FhirStoreIamBindingOutput) Condition added in v6.23.0

func (FhirStoreIamBindingOutput) ElementType

func (FhirStoreIamBindingOutput) ElementType() reflect.Type

func (FhirStoreIamBindingOutput) Etag added in v6.23.0

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

func (FhirStoreIamBindingOutput) FhirStoreId added in v6.23.0

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.

  • `member/members` - (Required) 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) Members added in v6.23.0

func (FhirStoreIamBindingOutput) Role added in v6.23.0

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

func (FhirStoreIamBindingOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	FhirStoreId pulumi.StringPtrInput
	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.
	//
	// * `member/members` - (Required) 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.
	FhirStoreId pulumi.StringOutput `pulumi:"fhirStoreId"`
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "fhirStore", &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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

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

```go package main

import (

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

)

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

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `fhir_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/fhirStoreIamMember:FhirStoreIamMember fhir_store_iam "your-project-id/location-name/dataset-name/fhir-store-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `fhir_store_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/fhirStoreIamMember:FhirStoreIamMember fhir_store_iam "your-project-id/location-name/dataset-name/fhir-store-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `fhir_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/fhirStoreIamMember:FhirStoreIamMember fhir_store_iam your-project-id/location-name/dataset-name/fhir-store-name

```

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

func (*FhirStoreIamMember) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	FhirStoreId pulumi.StringInput
	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

func (FhirStoreIamMemberArray) ToOutput added in v6.65.1

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

func (FhirStoreIamMemberArrayOutput) ToOutput added in v6.65.1

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

func (FhirStoreIamMemberConditionArgs) ToOutput added in v6.65.1

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

func (FhirStoreIamMemberConditionOutput) ToOutput added in v6.65.1

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

func (FhirStoreIamMemberConditionPtrOutput) ToOutput added in v6.65.1

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

func (FhirStoreIamMemberMap) ToOutput added in v6.65.1

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

func (FhirStoreIamMemberMapOutput) ToOutput added in v6.65.1

type FhirStoreIamMemberOutput

type FhirStoreIamMemberOutput struct{ *pulumi.OutputState }

func (FhirStoreIamMemberOutput) Condition added in v6.23.0

func (FhirStoreIamMemberOutput) ElementType

func (FhirStoreIamMemberOutput) ElementType() reflect.Type

func (FhirStoreIamMemberOutput) Etag added in v6.23.0

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

func (FhirStoreIamMemberOutput) FhirStoreId added in v6.23.0

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.

  • `member/members` - (Required) 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) Member added in v6.23.0

func (FhirStoreIamMemberOutput) Role added in v6.23.0

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

func (FhirStoreIamMemberOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	FhirStoreId pulumi.StringPtrInput
	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.
	//
	// * `member/members` - (Required) 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.
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "fhirStore", &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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

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

```go package main

import (

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

)

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

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `fhir_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/fhirStoreIamPolicy:FhirStoreIamPolicy fhir_store_iam "your-project-id/location-name/dataset-name/fhir-store-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `fhir_store_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/fhirStoreIamPolicy:FhirStoreIamPolicy fhir_store_iam "your-project-id/location-name/dataset-name/fhir-store-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `fhir_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/fhirStoreIamPolicy:FhirStoreIamPolicy fhir_store_iam your-project-id/location-name/dataset-name/fhir-store-name

```

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

func (*FhirStoreIamPolicy) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	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

func (FhirStoreIamPolicyArray) ToOutput added in v6.65.1

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

func (FhirStoreIamPolicyArrayOutput) ToOutput added in v6.65.1

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

func (FhirStoreIamPolicyMap) ToOutput added in v6.65.1

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

func (FhirStoreIamPolicyMapOutput) ToOutput added in v6.65.1

type FhirStoreIamPolicyOutput

type FhirStoreIamPolicyOutput struct{ *pulumi.OutputState }

func (FhirStoreIamPolicyOutput) ElementType

func (FhirStoreIamPolicyOutput) ElementType() reflect.Type

func (FhirStoreIamPolicyOutput) Etag added in v6.23.0

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

func (FhirStoreIamPolicyOutput) FhirStoreId added in v6.23.0

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.

  • `member/members` - (Required) 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 (FhirStoreIamPolicyOutput) PolicyData added in v6.23.0

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

func (FhirStoreIamPolicyOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	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

func (FhirStoreMap) ToOutput added in v6.65.1

func (i FhirStoreMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*FhirStore]

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

func (FhirStoreMapOutput) ToOutput added in v6.65.1

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

func (FhirStoreNotificationConfigArgs) ToOutput added in v6.65.1

type FhirStoreNotificationConfigArray added in v6.40.0

type FhirStoreNotificationConfigArray []FhirStoreNotificationConfigInput

func (FhirStoreNotificationConfigArray) ElementType added in v6.40.0

func (FhirStoreNotificationConfigArray) ToFhirStoreNotificationConfigArrayOutput added in v6.40.0

func (i FhirStoreNotificationConfigArray) ToFhirStoreNotificationConfigArrayOutput() FhirStoreNotificationConfigArrayOutput

func (FhirStoreNotificationConfigArray) ToFhirStoreNotificationConfigArrayOutputWithContext added in v6.40.0

func (i FhirStoreNotificationConfigArray) ToFhirStoreNotificationConfigArrayOutputWithContext(ctx context.Context) FhirStoreNotificationConfigArrayOutput

func (FhirStoreNotificationConfigArray) ToOutput added in v6.65.1

type FhirStoreNotificationConfigArrayInput added in v6.40.0

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 added in v6.40.0

type FhirStoreNotificationConfigArrayOutput struct{ *pulumi.OutputState }

func (FhirStoreNotificationConfigArrayOutput) ElementType added in v6.40.0

func (FhirStoreNotificationConfigArrayOutput) Index added in v6.40.0

func (FhirStoreNotificationConfigArrayOutput) ToFhirStoreNotificationConfigArrayOutput added in v6.40.0

func (o FhirStoreNotificationConfigArrayOutput) ToFhirStoreNotificationConfigArrayOutput() FhirStoreNotificationConfigArrayOutput

func (FhirStoreNotificationConfigArrayOutput) ToFhirStoreNotificationConfigArrayOutputWithContext added in v6.40.0

func (o FhirStoreNotificationConfigArrayOutput) ToFhirStoreNotificationConfigArrayOutputWithContext(ctx context.Context) FhirStoreNotificationConfigArrayOutput

func (FhirStoreNotificationConfigArrayOutput) ToOutput added in v6.65.1

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 added in v6.40.0

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 added in v6.64.0

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

func (FhirStoreNotificationConfigOutput) ToOutput added in v6.65.1

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 added in v6.40.0

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 added in v6.64.0

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

func (FhirStoreNotificationConfigPtrOutput) ToOutput added in v6.65.1

type FhirStoreOutput

type FhirStoreOutput struct{ *pulumi.OutputState }

func (FhirStoreOutput) ComplexDataTypeReferenceParsing added in v6.61.0

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 added in v6.23.0

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 added in v6.64.0

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 added in v6.23.0

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 added in v6.23.0

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) ElementType

func (FhirStoreOutput) ElementType() reflect.Type

func (FhirStoreOutput) EnableHistoryImport added in v6.23.0

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) EnableUpdateCreate added in v6.23.0

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 added in v6.23.0

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" }.

func (FhirStoreOutput) Name added in v6.23.0

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

func (FhirStoreOutput) NotificationConfig added in v6.23.0

A nested object resource Structure is documented below.

func (FhirStoreOutput) NotificationConfigs added in v6.40.0

A list of notifcation configs that configure the notification for every resource mutation in this FHIR store.

func (o FhirStoreOutput) SelfLink() pulumi.StringOutput

The fully qualified name of this dataset

func (FhirStoreOutput) StreamConfigs added in v6.23.0

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) ToOutput added in v6.65.1

func (FhirStoreOutput) Version added in v6.23.0

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
	// 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 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" }.
	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.
	NotificationConfigs FhirStoreNotificationConfigArrayInput
	// 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

func (FhirStoreStreamConfigArgs) ToOutput added in v6.65.1

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

func (FhirStoreStreamConfigArray) ToOutput added in v6.65.1

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

func (FhirStoreStreamConfigArrayOutput) ToOutput added in v6.65.1

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

func (FhirStoreStreamConfigBigqueryDestinationArgs) ToOutput added in v6.65.1

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

func (FhirStoreStreamConfigBigqueryDestinationOutput) ToOutput added in v6.65.1

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

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs) ToOutput added in v6.65.1

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 added in v6.62.0

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 added in v6.62.0

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 added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutputWithContext added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutputWithContext added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigArgs) ToOutput added in v6.65.1

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigInput added in v6.62.0

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 added in v6.62.0

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ElementType added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ExpirationMs added in v6.62.0

Number of milliseconds for which to keep the storage for a partition.

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutputWithContext added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutputWithContext added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) ToOutput added in v6.65.1

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigOutput) Type added in v6.62.0

Type of partitioning. Possible values are: `PARTITION_TYPE_UNSPECIFIED`, `HOUR`, `DAY`, `MONTH`, `YEAR`.

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrInput added in v6.62.0

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 added in v6.62.0

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) Elem added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) ElementType added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) ExpirationMs added in v6.62.0

Number of milliseconds for which to keep the storage for a partition.

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutputWithContext added in v6.62.0

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) ToOutput added in v6.65.1

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigLastUpdatedPartitionConfigPtrOutput) Type added in v6.62.0

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 added in v6.62.0

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

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) ToOutput added in v6.65.1

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

func (FhirStoreStreamConfigOutput) ToOutput added in v6.65.1

type GetHl7V2StoreIamPolicyArgs added in v6.59.0

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 added in v6.59.0

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 added in v6.59.0

type GetHl7V2StoreIamPolicyResult added in v6.59.0

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 added in v6.59.0

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/v6/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: google_healthcare_hl7_v2_store.Hl7_v2_store.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type GetHl7V2StoreIamPolicyResultOutput added in v6.59.0

type GetHl7V2StoreIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHl7V2StoreIamPolicy.

func GetHl7V2StoreIamPolicyOutput added in v6.59.0

func (GetHl7V2StoreIamPolicyResultOutput) ElementType added in v6.59.0

func (GetHl7V2StoreIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (GetHl7V2StoreIamPolicyResultOutput) Hl7V2StoreId added in v6.59.0

func (GetHl7V2StoreIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (GetHl7V2StoreIamPolicyResultOutput) PolicyData added in v6.59.0

(Computed) The policy data

func (GetHl7V2StoreIamPolicyResultOutput) ToGetHl7V2StoreIamPolicyResultOutput added in v6.59.0

func (o GetHl7V2StoreIamPolicyResultOutput) ToGetHl7V2StoreIamPolicyResultOutput() GetHl7V2StoreIamPolicyResultOutput

func (GetHl7V2StoreIamPolicyResultOutput) ToGetHl7V2StoreIamPolicyResultOutputWithContext added in v6.59.0

func (o GetHl7V2StoreIamPolicyResultOutput) ToGetHl7V2StoreIamPolicyResultOutputWithContext(ctx context.Context) GetHl7V2StoreIamPolicyResultOutput

func (GetHl7V2StoreIamPolicyResultOutput) ToOutput added in v6.65.1

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"`
	// 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" }.
	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: `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` 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 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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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", nil)
		if err != nil {
			return err
		}
		dataset, err := healthcare.NewDataset(ctx, "dataset", &healthcare.DatasetArgs{
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7Store(ctx, "store", &healthcare.Hl7StoreArgs{
			Dataset: dataset.ID(),
			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/v6/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"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7Store(ctx, "store", &healthcare.Hl7StoreArgs{
			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
}

`),

			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Healthcare Hl7 V2 Store Unschematized

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/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"),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		_, err = healthcare.NewHl7Store(ctx, "store", &healthcare.Hl7StoreArgs{
			Dataset: dataset.ID(),
			ParserConfig: &healthcare.Hl7StoreParserConfigArgs{
				AllowNullHeader:   pulumi.Bool(false),
				SegmentTerminator: pulumi.String("Jw=="),
				Version:           pulumi.String("V2"),
			},
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Hl7V2Store can be imported using any of these accepted formats

```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

func (*Hl7Store) ToOutput added in v6.65.1

func (i *Hl7Store) ToOutput(ctx context.Context) pulumix.Output[*Hl7Store]

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" }.
	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: `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` 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 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

func (Hl7StoreArray) ToOutput added in v6.65.1

func (i Hl7StoreArray) ToOutput(ctx context.Context) pulumix.Output[[]*Hl7Store]

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

func (Hl7StoreArrayOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	Hl7V2StoreId pulumi.StringOutput      `pulumi:"hl7V2StoreId"`
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "hl7V2Store", &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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamBinding(ctx, "hl7V2Store", &healthcare.Hl7StoreIamBindingArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Role: pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamMember(ctx, "hl7V2Store", &healthcare.Hl7StoreIamMemberArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Member:       pulumi.String("user:jane@example.com"),
			Role:         pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `hl7_v2_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/hl7StoreIamBinding:Hl7StoreIamBinding hl7_v2_store_iam "your-project-id/location-name/dataset-name/hl7-v2-store-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `hl7_v2_store_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/hl7StoreIamBinding:Hl7StoreIamBinding hl7_v2_store_iam "your-project-id/location-name/dataset-name/hl7-v2-store-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `hl7_v2_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/hl7StoreIamBinding:Hl7StoreIamBinding hl7_v2_store_iam your-project-id/location-name/dataset-name/hl7-v2-store-name

```

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

func (*Hl7StoreIamBinding) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	Hl7V2StoreId pulumi.StringInput
	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

func (Hl7StoreIamBindingArray) ToOutput added in v6.65.1

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

func (Hl7StoreIamBindingArrayOutput) ToOutput added in v6.65.1

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

func (Hl7StoreIamBindingConditionArgs) ToOutput added in v6.65.1

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

func (Hl7StoreIamBindingConditionOutput) ToOutput added in v6.65.1

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

func (Hl7StoreIamBindingConditionPtrOutput) ToOutput added in v6.65.1

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

func (Hl7StoreIamBindingMap) ToOutput added in v6.65.1

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

func (Hl7StoreIamBindingMapOutput) ToOutput added in v6.65.1

type Hl7StoreIamBindingOutput

type Hl7StoreIamBindingOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamBindingOutput) Condition added in v6.23.0

func (Hl7StoreIamBindingOutput) ElementType

func (Hl7StoreIamBindingOutput) ElementType() reflect.Type

func (Hl7StoreIamBindingOutput) Etag added in v6.23.0

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

func (Hl7StoreIamBindingOutput) Hl7V2StoreId added in v6.23.0

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.

  • `member/members` - (Required) 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) Members added in v6.23.0

func (Hl7StoreIamBindingOutput) Role added in v6.23.0

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

func (Hl7StoreIamBindingOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	Hl7V2StoreId pulumi.StringPtrInput
	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.
	//
	// * `member/members` - (Required) 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.
	Hl7V2StoreId pulumi.StringOutput `pulumi:"hl7V2StoreId"`
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "hl7V2Store", &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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamBinding(ctx, "hl7V2Store", &healthcare.Hl7StoreIamBindingArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Role: pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamMember(ctx, "hl7V2Store", &healthcare.Hl7StoreIamMemberArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Member:       pulumi.String("user:jane@example.com"),
			Role:         pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `hl7_v2_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/hl7StoreIamMember:Hl7StoreIamMember hl7_v2_store_iam "your-project-id/location-name/dataset-name/hl7-v2-store-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `hl7_v2_store_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/hl7StoreIamMember:Hl7StoreIamMember hl7_v2_store_iam "your-project-id/location-name/dataset-name/hl7-v2-store-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `hl7_v2_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/hl7StoreIamMember:Hl7StoreIamMember hl7_v2_store_iam your-project-id/location-name/dataset-name/hl7-v2-store-name

```

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

func (*Hl7StoreIamMember) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	Hl7V2StoreId pulumi.StringInput
	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

func (Hl7StoreIamMemberArray) ToOutput added in v6.65.1

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

func (Hl7StoreIamMemberArrayOutput) ToOutput added in v6.65.1

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

func (Hl7StoreIamMemberConditionArgs) ToOutput added in v6.65.1

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

func (Hl7StoreIamMemberConditionOutput) ToOutput added in v6.65.1

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

func (Hl7StoreIamMemberConditionPtrOutput) ToOutput added in v6.65.1

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

func (Hl7StoreIamMemberMap) ToOutput added in v6.65.1

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

func (Hl7StoreIamMemberMapOutput) ToOutput added in v6.65.1

type Hl7StoreIamMemberOutput

type Hl7StoreIamMemberOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamMemberOutput) Condition added in v6.23.0

func (Hl7StoreIamMemberOutput) ElementType

func (Hl7StoreIamMemberOutput) ElementType() reflect.Type

func (Hl7StoreIamMemberOutput) Etag added in v6.23.0

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

func (Hl7StoreIamMemberOutput) Hl7V2StoreId added in v6.23.0

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.

  • `member/members` - (Required) 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) Member added in v6.23.0

func (Hl7StoreIamMemberOutput) Role added in v6.23.0

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

func (Hl7StoreIamMemberOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	Hl7V2StoreId pulumi.StringPtrInput
	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.
	//
	// * `member/members` - (Required) 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.
	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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v6/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, "hl7V2Store", &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/v6/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamBinding(ctx, "hl7V2Store", &healthcare.Hl7StoreIamBindingArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
			Role: pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_healthcare\_hl7\_v2\_store\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := healthcare.NewHl7StoreIamMember(ctx, "hl7V2Store", &healthcare.Hl7StoreIamMemberArgs{
			Hl7V2StoreId: pulumi.String("your-hl7-v2-store-id"),
			Member:       pulumi.String("user:jane@example.com"),
			Role:         pulumi.String("roles/editor"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

IAM member imports use space-delimited identifiers; the resource in question, the role, and the account.

This member resource can be imported using the `hl7_v2_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/hl7StoreIamPolicy:Hl7StoreIamPolicy hl7_v2_store_iam "your-project-id/location-name/dataset-name/hl7-v2-store-name roles/viewer user:foo@example.com"

```

IAM binding imports use space-delimited identifiers; the resource in question and the role.

This binding resource can be imported using the `hl7_v2_store_id` and role, e.g.

```sh

$ pulumi import gcp:healthcare/hl7StoreIamPolicy:Hl7StoreIamPolicy hl7_v2_store_iam "your-project-id/location-name/dataset-name/hl7-v2-store-name roles/viewer"

```

IAM policy imports use the identifier of the resource in question.

This policy resource can be imported using the `hl7_v2_store_id`, role, and account e.g.

```sh

$ pulumi import gcp:healthcare/hl7StoreIamPolicy:Hl7StoreIamPolicy hl7_v2_store_iam your-project-id/location-name/dataset-name/hl7-v2-store-name

```

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

func (*Hl7StoreIamPolicy) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	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

func (Hl7StoreIamPolicyArray) ToOutput added in v6.65.1

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

func (Hl7StoreIamPolicyArrayOutput) ToOutput added in v6.65.1

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

func (Hl7StoreIamPolicyMap) ToOutput added in v6.65.1

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

func (Hl7StoreIamPolicyMapOutput) ToOutput added in v6.65.1

type Hl7StoreIamPolicyOutput

type Hl7StoreIamPolicyOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamPolicyOutput) ElementType

func (Hl7StoreIamPolicyOutput) ElementType() reflect.Type

func (Hl7StoreIamPolicyOutput) Etag added in v6.23.0

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

func (Hl7StoreIamPolicyOutput) Hl7V2StoreId added in v6.23.0

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.

  • `member/members` - (Required) 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 (Hl7StoreIamPolicyOutput) PolicyData added in v6.23.0

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

func (Hl7StoreIamPolicyOutput) ToOutput added in v6.65.1

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.
	//
	// * `member/members` - (Required) 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.
	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

func (Hl7StoreMap) ToOutput added in v6.65.1

func (i Hl7StoreMap) ToOutput(ctx context.Context) pulumix.Output[map[string]*Hl7Store]

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

func (Hl7StoreMapOutput) ToOutput added in v6.65.1

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

func (Hl7StoreNotificationConfigArgs) ToOutput added in v6.65.1

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

func (Hl7StoreNotificationConfigOutput) ToOutput added in v6.65.1

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

func (Hl7StoreNotificationConfigPtrOutput) ToOutput added in v6.65.1

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

func (Hl7StoreNotificationConfigsArgs) ToOutput added in v6.65.1

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

func (Hl7StoreNotificationConfigsArray) ToOutput added in v6.65.1

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

func (Hl7StoreNotificationConfigsArrayOutput) ToOutput added in v6.65.1

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

func (Hl7StoreNotificationConfigsOutput) ToOutput added in v6.65.1

type Hl7StoreOutput

type Hl7StoreOutput struct{ *pulumi.OutputState }

func (Hl7StoreOutput) Dataset added in v6.23.0

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) ElementType

func (Hl7StoreOutput) ElementType() reflect.Type

func (Hl7StoreOutput) Labels added in v6.23.0

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" }.

func (Hl7StoreOutput) Name added in v6.23.0

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

func (Hl7StoreOutput) NotificationConfig deprecated added in v6.23.0

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: `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` instead.

func (Hl7StoreOutput) NotificationConfigs added in v6.23.0

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 added in v6.23.0

func (o Hl7StoreOutput) ParserConfig() Hl7StoreParserConfigOutput

A nested object resource Structure is documented below.

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

func (Hl7StoreOutput) ToOutput added in v6.65.1

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

func (Hl7StoreParserConfigArgs) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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) ToOutput added in v6.65.1

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
	// 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" }.
	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: `notification_config` is deprecated and will be removed in a future major release. Use `notification_configs` 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 fully qualified name of this dataset
	SelfLink pulumi.StringPtrInput
}

func (Hl7StoreState) ElementType

func (Hl7StoreState) ElementType() reflect.Type

type LookupConsentStoreIamPolicyArgs added in v6.59.0

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 added in v6.59.0

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 added in v6.59.0

type LookupConsentStoreIamPolicyResult added in v6.59.0

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 added in v6.59.0

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/v6/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:        google_healthcare_consent_store.MyConsent.Dataset,
			ConsentStoreId: google_healthcare_consent_store.MyConsent.Name,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupConsentStoreIamPolicyResultOutput added in v6.59.0

type LookupConsentStoreIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getConsentStoreIamPolicy.

func (LookupConsentStoreIamPolicyResultOutput) ConsentStoreId added in v6.59.0

func (LookupConsentStoreIamPolicyResultOutput) Dataset added in v6.59.0

func (LookupConsentStoreIamPolicyResultOutput) ElementType added in v6.59.0

func (LookupConsentStoreIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (LookupConsentStoreIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (LookupConsentStoreIamPolicyResultOutput) PolicyData added in v6.59.0

(Required only by `healthcare.ConsentStoreIamPolicy`) The policy data generated by a `organizations.getIAMPolicy` data source.

func (LookupConsentStoreIamPolicyResultOutput) ToLookupConsentStoreIamPolicyResultOutput added in v6.59.0

func (o LookupConsentStoreIamPolicyResultOutput) ToLookupConsentStoreIamPolicyResultOutput() LookupConsentStoreIamPolicyResultOutput

func (LookupConsentStoreIamPolicyResultOutput) ToLookupConsentStoreIamPolicyResultOutputWithContext added in v6.59.0

func (o LookupConsentStoreIamPolicyResultOutput) ToLookupConsentStoreIamPolicyResultOutputWithContext(ctx context.Context) LookupConsentStoreIamPolicyResultOutput

func (LookupConsentStoreIamPolicyResultOutput) ToOutput added in v6.65.1

type LookupDatasetIamPolicyArgs added in v6.59.0

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 added in v6.59.0

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 added in v6.59.0

type LookupDatasetIamPolicyResult added in v6.59.0

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 added in v6.59.0

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/v6/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: google_healthcare_dataset.Dataset.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupDatasetIamPolicyResultOutput added in v6.59.0

type LookupDatasetIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDatasetIamPolicy.

func LookupDatasetIamPolicyOutput added in v6.59.0

func (LookupDatasetIamPolicyResultOutput) DatasetId added in v6.59.0

func (LookupDatasetIamPolicyResultOutput) ElementType added in v6.59.0

func (LookupDatasetIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (LookupDatasetIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (LookupDatasetIamPolicyResultOutput) PolicyData added in v6.59.0

(Computed) The policy data

func (LookupDatasetIamPolicyResultOutput) ToLookupDatasetIamPolicyResultOutput added in v6.59.0

func (o LookupDatasetIamPolicyResultOutput) ToLookupDatasetIamPolicyResultOutput() LookupDatasetIamPolicyResultOutput

func (LookupDatasetIamPolicyResultOutput) ToLookupDatasetIamPolicyResultOutputWithContext added in v6.59.0

func (o LookupDatasetIamPolicyResultOutput) ToLookupDatasetIamPolicyResultOutputWithContext(ctx context.Context) LookupDatasetIamPolicyResultOutput

func (LookupDatasetIamPolicyResultOutput) ToOutput added in v6.65.1

type LookupDicomStoreIamPolicyArgs added in v6.59.0

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 added in v6.59.0

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 added in v6.59.0

type LookupDicomStoreIamPolicyResult added in v6.59.0

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 added in v6.59.0

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/v6/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: google_healthcare_dicom_store.Dicom_store.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupDicomStoreIamPolicyResultOutput added in v6.59.0

type LookupDicomStoreIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDicomStoreIamPolicy.

func (LookupDicomStoreIamPolicyResultOutput) DicomStoreId added in v6.59.0

func (LookupDicomStoreIamPolicyResultOutput) ElementType added in v6.59.0

func (LookupDicomStoreIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (LookupDicomStoreIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (LookupDicomStoreIamPolicyResultOutput) PolicyData added in v6.59.0

(Computed) The policy data

func (LookupDicomStoreIamPolicyResultOutput) ToLookupDicomStoreIamPolicyResultOutput added in v6.59.0

func (o LookupDicomStoreIamPolicyResultOutput) ToLookupDicomStoreIamPolicyResultOutput() LookupDicomStoreIamPolicyResultOutput

func (LookupDicomStoreIamPolicyResultOutput) ToLookupDicomStoreIamPolicyResultOutputWithContext added in v6.59.0

func (o LookupDicomStoreIamPolicyResultOutput) ToLookupDicomStoreIamPolicyResultOutputWithContext(ctx context.Context) LookupDicomStoreIamPolicyResultOutput

func (LookupDicomStoreIamPolicyResultOutput) ToOutput added in v6.65.1

type LookupFhirStoreIamPolicyArgs added in v6.59.0

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 added in v6.59.0

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 added in v6.59.0

type LookupFhirStoreIamPolicyResult added in v6.59.0

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 added in v6.59.0

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/v6/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: google_healthcare_fhir_store.Fhir_store.Id,
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupFhirStoreIamPolicyResultOutput added in v6.59.0

type LookupFhirStoreIamPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getFhirStoreIamPolicy.

func (LookupFhirStoreIamPolicyResultOutput) ElementType added in v6.59.0

func (LookupFhirStoreIamPolicyResultOutput) Etag added in v6.59.0

(Computed) The etag of the IAM policy.

func (LookupFhirStoreIamPolicyResultOutput) FhirStoreId added in v6.59.0

func (LookupFhirStoreIamPolicyResultOutput) Id added in v6.59.0

The provider-assigned unique ID for this managed resource.

func (LookupFhirStoreIamPolicyResultOutput) PolicyData added in v6.59.0

(Computed) The policy data

func (LookupFhirStoreIamPolicyResultOutput) ToLookupFhirStoreIamPolicyResultOutput added in v6.59.0

func (o LookupFhirStoreIamPolicyResultOutput) ToLookupFhirStoreIamPolicyResultOutput() LookupFhirStoreIamPolicyResultOutput

func (LookupFhirStoreIamPolicyResultOutput) ToLookupFhirStoreIamPolicyResultOutputWithContext added in v6.59.0

func (o LookupFhirStoreIamPolicyResultOutput) ToLookupFhirStoreIamPolicyResultOutputWithContext(ctx context.Context) LookupFhirStoreIamPolicyResultOutput

func (LookupFhirStoreIamPolicyResultOutput) ToOutput added in v6.65.1

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL