healthcare

package
v4.7.0 Latest Latest
Warning

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

Go to latest
Published: Jan 12, 2021 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ConsentStore added in v4.5.0

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

## Import

ConsentStore can be imported using any of these accepted formats

```sh

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

```

```sh

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

```

```sh

$ pulumi import gcp:healthcare/consentStore:ConsentStore default {{name}}

```

func GetConsentStore added in v4.5.0

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 added in v4.5.0

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 added in v4.5.0

func (ConsentStore) ElementType() reflect.Type

func (ConsentStore) ToConsentStoreOutput added in v4.5.0

func (i ConsentStore) ToConsentStoreOutput() ConsentStoreOutput

func (ConsentStore) ToConsentStoreOutputWithContext added in v4.5.0

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

type ConsentStoreArgs added in v4.5.0

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.v1beta1.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 added in v4.5.0

func (ConsentStoreArgs) ElementType() reflect.Type

type ConsentStoreIamBinding added in v4.5.0

type ConsentStoreIamBinding struct {
	pulumi.CustomResourceState

	Condition ConsentStoreIamBindingConditionPtrOutput `pulumi:"condition"`
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringOutput `pulumi:"consentStoreId"`
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	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"`
}

## 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 added in v4.5.0

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 added in v4.5.0

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 added in v4.5.0

func (ConsentStoreIamBinding) ElementType() reflect.Type

func (ConsentStoreIamBinding) ToConsentStoreIamBindingOutput added in v4.5.0

func (i ConsentStoreIamBinding) ToConsentStoreIamBindingOutput() ConsentStoreIamBindingOutput

func (ConsentStoreIamBinding) ToConsentStoreIamBindingOutputWithContext added in v4.5.0

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

type ConsentStoreIamBindingArgs added in v4.5.0

type ConsentStoreIamBindingArgs struct {
	Condition ConsentStoreIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringInput
	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 added in v4.5.0

func (ConsentStoreIamBindingArgs) ElementType() reflect.Type

type ConsentStoreIamBindingCondition added in v4.5.0

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

type ConsentStoreIamBindingConditionArgs added in v4.5.0

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

func (ConsentStoreIamBindingConditionArgs) ElementType added in v4.5.0

func (ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionOutput added in v4.5.0

func (i ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionOutput() ConsentStoreIamBindingConditionOutput

func (ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionOutputWithContext added in v4.5.0

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

func (ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionPtrOutput added in v4.5.0

func (i ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionPtrOutput() ConsentStoreIamBindingConditionPtrOutput

func (ConsentStoreIamBindingConditionArgs) ToConsentStoreIamBindingConditionPtrOutputWithContext added in v4.5.0

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

type ConsentStoreIamBindingConditionInput added in v4.5.0

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 added in v4.5.0

type ConsentStoreIamBindingConditionOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamBindingConditionOutput) Description added in v4.5.0

func (ConsentStoreIamBindingConditionOutput) ElementType added in v4.5.0

func (ConsentStoreIamBindingConditionOutput) Expression added in v4.5.0

func (ConsentStoreIamBindingConditionOutput) Title added in v4.5.0

func (ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionOutput added in v4.5.0

func (o ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionOutput() ConsentStoreIamBindingConditionOutput

func (ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionOutputWithContext added in v4.5.0

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

func (ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionPtrOutput added in v4.5.0

func (o ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionPtrOutput() ConsentStoreIamBindingConditionPtrOutput

func (ConsentStoreIamBindingConditionOutput) ToConsentStoreIamBindingConditionPtrOutputWithContext added in v4.5.0

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

type ConsentStoreIamBindingConditionPtrInput added in v4.5.0

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 added in v4.5.0

type ConsentStoreIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamBindingConditionPtrOutput) Description added in v4.5.0

func (ConsentStoreIamBindingConditionPtrOutput) Elem added in v4.5.0

func (ConsentStoreIamBindingConditionPtrOutput) ElementType added in v4.5.0

func (ConsentStoreIamBindingConditionPtrOutput) Expression added in v4.5.0

func (ConsentStoreIamBindingConditionPtrOutput) Title added in v4.5.0

func (ConsentStoreIamBindingConditionPtrOutput) ToConsentStoreIamBindingConditionPtrOutput added in v4.5.0

func (o ConsentStoreIamBindingConditionPtrOutput) ToConsentStoreIamBindingConditionPtrOutput() ConsentStoreIamBindingConditionPtrOutput

func (ConsentStoreIamBindingConditionPtrOutput) ToConsentStoreIamBindingConditionPtrOutputWithContext added in v4.5.0

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

type ConsentStoreIamBindingInput added in v4.5.0

type ConsentStoreIamBindingInput interface {
	pulumi.Input

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

type ConsentStoreIamBindingOutput added in v4.5.0

type ConsentStoreIamBindingOutput struct {
	*pulumi.OutputState
}

func (ConsentStoreIamBindingOutput) ElementType added in v4.5.0

func (ConsentStoreIamBindingOutput) ToConsentStoreIamBindingOutput added in v4.5.0

func (o ConsentStoreIamBindingOutput) ToConsentStoreIamBindingOutput() ConsentStoreIamBindingOutput

func (ConsentStoreIamBindingOutput) ToConsentStoreIamBindingOutputWithContext added in v4.5.0

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

type ConsentStoreIamBindingState added in v4.5.0

type ConsentStoreIamBindingState struct {
	Condition ConsentStoreIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringPtrInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringPtrInput
	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 added in v4.5.0

type ConsentStoreIamMember added in v4.5.0

type ConsentStoreIamMember struct {
	pulumi.CustomResourceState

	Condition ConsentStoreIamMemberConditionPtrOutput `pulumi:"condition"`
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringOutput `pulumi:"consentStoreId"`
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	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"`
}

## 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 added in v4.5.0

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 added in v4.5.0

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 added in v4.5.0

func (ConsentStoreIamMember) ElementType() reflect.Type

func (ConsentStoreIamMember) ToConsentStoreIamMemberOutput added in v4.5.0

func (i ConsentStoreIamMember) ToConsentStoreIamMemberOutput() ConsentStoreIamMemberOutput

func (ConsentStoreIamMember) ToConsentStoreIamMemberOutputWithContext added in v4.5.0

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

type ConsentStoreIamMemberArgs added in v4.5.0

type ConsentStoreIamMemberArgs struct {
	Condition ConsentStoreIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringInput
	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 added in v4.5.0

func (ConsentStoreIamMemberArgs) ElementType() reflect.Type

type ConsentStoreIamMemberCondition added in v4.5.0

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

type ConsentStoreIamMemberConditionArgs added in v4.5.0

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

func (ConsentStoreIamMemberConditionArgs) ElementType added in v4.5.0

func (ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionOutput added in v4.5.0

func (i ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionOutput() ConsentStoreIamMemberConditionOutput

func (ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionOutputWithContext added in v4.5.0

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

func (ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionPtrOutput added in v4.5.0

func (i ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionPtrOutput() ConsentStoreIamMemberConditionPtrOutput

func (ConsentStoreIamMemberConditionArgs) ToConsentStoreIamMemberConditionPtrOutputWithContext added in v4.5.0

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

type ConsentStoreIamMemberConditionInput added in v4.5.0

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 added in v4.5.0

type ConsentStoreIamMemberConditionOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamMemberConditionOutput) Description added in v4.5.0

func (ConsentStoreIamMemberConditionOutput) ElementType added in v4.5.0

func (ConsentStoreIamMemberConditionOutput) Expression added in v4.5.0

func (ConsentStoreIamMemberConditionOutput) Title added in v4.5.0

func (ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionOutput added in v4.5.0

func (o ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionOutput() ConsentStoreIamMemberConditionOutput

func (ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionOutputWithContext added in v4.5.0

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

func (ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionPtrOutput added in v4.5.0

func (o ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionPtrOutput() ConsentStoreIamMemberConditionPtrOutput

func (ConsentStoreIamMemberConditionOutput) ToConsentStoreIamMemberConditionPtrOutputWithContext added in v4.5.0

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

type ConsentStoreIamMemberConditionPtrInput added in v4.5.0

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 added in v4.5.0

type ConsentStoreIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (ConsentStoreIamMemberConditionPtrOutput) Description added in v4.5.0

func (ConsentStoreIamMemberConditionPtrOutput) Elem added in v4.5.0

func (ConsentStoreIamMemberConditionPtrOutput) ElementType added in v4.5.0

func (ConsentStoreIamMemberConditionPtrOutput) Expression added in v4.5.0

func (ConsentStoreIamMemberConditionPtrOutput) Title added in v4.5.0

func (ConsentStoreIamMemberConditionPtrOutput) ToConsentStoreIamMemberConditionPtrOutput added in v4.5.0

func (o ConsentStoreIamMemberConditionPtrOutput) ToConsentStoreIamMemberConditionPtrOutput() ConsentStoreIamMemberConditionPtrOutput

func (ConsentStoreIamMemberConditionPtrOutput) ToConsentStoreIamMemberConditionPtrOutputWithContext added in v4.5.0

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

type ConsentStoreIamMemberInput added in v4.5.0

type ConsentStoreIamMemberInput interface {
	pulumi.Input

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

type ConsentStoreIamMemberOutput added in v4.5.0

type ConsentStoreIamMemberOutput struct {
	*pulumi.OutputState
}

func (ConsentStoreIamMemberOutput) ElementType added in v4.5.0

func (ConsentStoreIamMemberOutput) ToConsentStoreIamMemberOutput added in v4.5.0

func (o ConsentStoreIamMemberOutput) ToConsentStoreIamMemberOutput() ConsentStoreIamMemberOutput

func (ConsentStoreIamMemberOutput) ToConsentStoreIamMemberOutputWithContext added in v4.5.0

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

type ConsentStoreIamMemberState added in v4.5.0

type ConsentStoreIamMemberState struct {
	Condition ConsentStoreIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	ConsentStoreId pulumi.StringPtrInput
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	// Used to find the parent resource to bind the IAM policy to
	Dataset pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	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 added in v4.5.0

func (ConsentStoreIamMemberState) ElementType() reflect.Type

type ConsentStoreIamPolicy added in v4.5.0

type ConsentStoreIamPolicy struct {
	pulumi.CustomResourceState

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

## 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 added in v4.5.0

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 added in v4.5.0

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 added in v4.5.0

func (ConsentStoreIamPolicy) ElementType() reflect.Type

func (ConsentStoreIamPolicy) ToConsentStoreIamPolicyOutput added in v4.5.0

func (i ConsentStoreIamPolicy) ToConsentStoreIamPolicyOutput() ConsentStoreIamPolicyOutput

func (ConsentStoreIamPolicy) ToConsentStoreIamPolicyOutputWithContext added in v4.5.0

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

type ConsentStoreIamPolicyArgs added in v4.5.0

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

The set of arguments for constructing a ConsentStoreIamPolicy resource.

func (ConsentStoreIamPolicyArgs) ElementType added in v4.5.0

func (ConsentStoreIamPolicyArgs) ElementType() reflect.Type

type ConsentStoreIamPolicyInput added in v4.5.0

type ConsentStoreIamPolicyInput interface {
	pulumi.Input

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

type ConsentStoreIamPolicyOutput added in v4.5.0

type ConsentStoreIamPolicyOutput struct {
	*pulumi.OutputState
}

func (ConsentStoreIamPolicyOutput) ElementType added in v4.5.0

func (ConsentStoreIamPolicyOutput) ToConsentStoreIamPolicyOutput added in v4.5.0

func (o ConsentStoreIamPolicyOutput) ToConsentStoreIamPolicyOutput() ConsentStoreIamPolicyOutput

func (ConsentStoreIamPolicyOutput) ToConsentStoreIamPolicyOutputWithContext added in v4.5.0

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

type ConsentStoreIamPolicyState added in v4.5.0

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

func (ConsentStoreIamPolicyState) ElementType added in v4.5.0

func (ConsentStoreIamPolicyState) ElementType() reflect.Type

type ConsentStoreInput added in v4.5.0

type ConsentStoreInput interface {
	pulumi.Input

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

type ConsentStoreOutput added in v4.5.0

type ConsentStoreOutput struct {
	*pulumi.OutputState
}

func (ConsentStoreOutput) ElementType added in v4.5.0

func (ConsentStoreOutput) ElementType() reflect.Type

func (ConsentStoreOutput) ToConsentStoreOutput added in v4.5.0

func (o ConsentStoreOutput) ToConsentStoreOutput() ConsentStoreOutput

func (ConsentStoreOutput) ToConsentStoreOutputWithContext added in v4.5.0

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

type ConsentStoreState added in v4.5.0

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.v1beta1.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 added in v4.5.0

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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (Dataset) ElementType() reflect.Type

func (Dataset) ToDatasetOutput added in v4.4.0

func (i Dataset) ToDatasetOutput() DatasetOutput

func (Dataset) ToDatasetOutputWithContext added in v4.4.0

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

type DatasetArgs

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

The set of arguments for constructing a Dataset resource.

func (DatasetArgs) ElementType

func (DatasetArgs) ElementType() reflect.Type

type DatasetIamBinding

type DatasetIamBinding struct {
	pulumi.CustomResourceState

	Condition DatasetIamBindingConditionPtrOutput `pulumi:"condition"`
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringOutput `pulumi:"datasetId"`
	// (Computed) The etag of the dataset's IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (DatasetIamBinding) ElementType() reflect.Type

func (DatasetIamBinding) ToDatasetIamBindingOutput added in v4.4.0

func (i DatasetIamBinding) ToDatasetIamBindingOutput() DatasetIamBindingOutput

func (DatasetIamBinding) ToDatasetIamBindingOutputWithContext added in v4.4.0

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

type DatasetIamBindingArgs

type DatasetIamBindingArgs struct {
	Condition DatasetIamBindingConditionPtrInput
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringInput
	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 DatasetIamBindingCondition

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

type DatasetIamBindingConditionArgs

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

func (DatasetIamBindingConditionArgs) ElementType

func (DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionOutput

func (i DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionOutput() DatasetIamBindingConditionOutput

func (DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionOutputWithContext

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

func (DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionPtrOutput

func (i DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionPtrOutput() DatasetIamBindingConditionPtrOutput

func (DatasetIamBindingConditionArgs) ToDatasetIamBindingConditionPtrOutputWithContext

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

type DatasetIamBindingConditionInput

type DatasetIamBindingConditionInput interface {
	pulumi.Input

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

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

DatasetIamBindingConditionArgs{...}

type DatasetIamBindingConditionOutput

type DatasetIamBindingConditionOutput struct{ *pulumi.OutputState }

func (DatasetIamBindingConditionOutput) Description

func (DatasetIamBindingConditionOutput) ElementType

func (DatasetIamBindingConditionOutput) Expression

func (DatasetIamBindingConditionOutput) Title

func (DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionOutput

func (o DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionOutput() DatasetIamBindingConditionOutput

func (DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionOutputWithContext

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

func (DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionPtrOutput

func (o DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionPtrOutput() DatasetIamBindingConditionPtrOutput

func (DatasetIamBindingConditionOutput) ToDatasetIamBindingConditionPtrOutputWithContext

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

type DatasetIamBindingConditionPtrInput

type DatasetIamBindingConditionPtrInput interface {
	pulumi.Input

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

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

        DatasetIamBindingConditionArgs{...}

or:

        nil

type DatasetIamBindingConditionPtrOutput

type DatasetIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (DatasetIamBindingConditionPtrOutput) Description

func (DatasetIamBindingConditionPtrOutput) Elem

func (DatasetIamBindingConditionPtrOutput) ElementType

func (DatasetIamBindingConditionPtrOutput) Expression

func (DatasetIamBindingConditionPtrOutput) Title

func (DatasetIamBindingConditionPtrOutput) ToDatasetIamBindingConditionPtrOutput

func (o DatasetIamBindingConditionPtrOutput) ToDatasetIamBindingConditionPtrOutput() DatasetIamBindingConditionPtrOutput

func (DatasetIamBindingConditionPtrOutput) ToDatasetIamBindingConditionPtrOutputWithContext

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

type DatasetIamBindingInput added in v4.4.0

type DatasetIamBindingInput interface {
	pulumi.Input

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

type DatasetIamBindingOutput added in v4.4.0

type DatasetIamBindingOutput struct {
	*pulumi.OutputState
}

func (DatasetIamBindingOutput) ElementType added in v4.4.0

func (DatasetIamBindingOutput) ElementType() reflect.Type

func (DatasetIamBindingOutput) ToDatasetIamBindingOutput added in v4.4.0

func (o DatasetIamBindingOutput) ToDatasetIamBindingOutput() DatasetIamBindingOutput

func (DatasetIamBindingOutput) ToDatasetIamBindingOutputWithContext added in v4.4.0

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

type DatasetIamBindingState

type DatasetIamBindingState struct {
	Condition DatasetIamBindingConditionPtrInput
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringPtrInput
	// (Computed) The etag of the dataset's IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.DatasetIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (DatasetIamBindingState) ElementType

func (DatasetIamBindingState) ElementType() reflect.Type

type DatasetIamMember

type DatasetIamMember struct {
	pulumi.CustomResourceState

	Condition DatasetIamMemberConditionPtrOutput `pulumi:"condition"`
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringOutput `pulumi:"datasetId"`
	// (Computed) The etag of the dataset's IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (DatasetIamMember) ElementType() reflect.Type

func (DatasetIamMember) ToDatasetIamMemberOutput added in v4.4.0

func (i DatasetIamMember) ToDatasetIamMemberOutput() DatasetIamMemberOutput

func (DatasetIamMember) ToDatasetIamMemberOutputWithContext added in v4.4.0

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

type DatasetIamMemberArgs

type DatasetIamMemberArgs struct {
	Condition DatasetIamMemberConditionPtrInput
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringInput
	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 DatasetIamMemberCondition

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

type DatasetIamMemberConditionArgs

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

func (DatasetIamMemberConditionArgs) ElementType

func (DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionOutput

func (i DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionOutput() DatasetIamMemberConditionOutput

func (DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionOutputWithContext

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

func (DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionPtrOutput

func (i DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionPtrOutput() DatasetIamMemberConditionPtrOutput

func (DatasetIamMemberConditionArgs) ToDatasetIamMemberConditionPtrOutputWithContext

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

type DatasetIamMemberConditionInput

type DatasetIamMemberConditionInput interface {
	pulumi.Input

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

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

DatasetIamMemberConditionArgs{...}

type DatasetIamMemberConditionOutput

type DatasetIamMemberConditionOutput struct{ *pulumi.OutputState }

func (DatasetIamMemberConditionOutput) Description

func (DatasetIamMemberConditionOutput) ElementType

func (DatasetIamMemberConditionOutput) Expression

func (DatasetIamMemberConditionOutput) Title

func (DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionOutput

func (o DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionOutput() DatasetIamMemberConditionOutput

func (DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionOutputWithContext

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

func (DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionPtrOutput

func (o DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionPtrOutput() DatasetIamMemberConditionPtrOutput

func (DatasetIamMemberConditionOutput) ToDatasetIamMemberConditionPtrOutputWithContext

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

type DatasetIamMemberConditionPtrInput

type DatasetIamMemberConditionPtrInput interface {
	pulumi.Input

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

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

        DatasetIamMemberConditionArgs{...}

or:

        nil

type DatasetIamMemberConditionPtrOutput

type DatasetIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (DatasetIamMemberConditionPtrOutput) Description

func (DatasetIamMemberConditionPtrOutput) Elem

func (DatasetIamMemberConditionPtrOutput) ElementType

func (DatasetIamMemberConditionPtrOutput) Expression

func (DatasetIamMemberConditionPtrOutput) Title

func (DatasetIamMemberConditionPtrOutput) ToDatasetIamMemberConditionPtrOutput

func (o DatasetIamMemberConditionPtrOutput) ToDatasetIamMemberConditionPtrOutput() DatasetIamMemberConditionPtrOutput

func (DatasetIamMemberConditionPtrOutput) ToDatasetIamMemberConditionPtrOutputWithContext

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

type DatasetIamMemberInput added in v4.4.0

type DatasetIamMemberInput interface {
	pulumi.Input

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

type DatasetIamMemberOutput added in v4.4.0

type DatasetIamMemberOutput struct {
	*pulumi.OutputState
}

func (DatasetIamMemberOutput) ElementType added in v4.4.0

func (DatasetIamMemberOutput) ElementType() reflect.Type

func (DatasetIamMemberOutput) ToDatasetIamMemberOutput added in v4.4.0

func (o DatasetIamMemberOutput) ToDatasetIamMemberOutput() DatasetIamMemberOutput

func (DatasetIamMemberOutput) ToDatasetIamMemberOutputWithContext added in v4.4.0

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

type DatasetIamMemberState

type DatasetIamMemberState struct {
	Condition DatasetIamMemberConditionPtrInput
	// The dataset ID, in the form
	// `{project_id}/{location_name}/{dataset_name}` or
	// `{location_name}/{dataset_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DatasetId pulumi.StringPtrInput
	// (Computed) The etag of the dataset's IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `healthcare.DatasetIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (DatasetIamMemberState) ElementType

func (DatasetIamMemberState) ElementType() reflect.Type

type DatasetIamPolicy

type DatasetIamPolicy struct {
	pulumi.CustomResourceState

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

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

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

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

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

## google\_healthcare\_dataset\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (DatasetIamPolicy) ElementType() reflect.Type

func (DatasetIamPolicy) ToDatasetIamPolicyOutput added in v4.4.0

func (i DatasetIamPolicy) ToDatasetIamPolicyOutput() DatasetIamPolicyOutput

func (DatasetIamPolicy) ToDatasetIamPolicyOutputWithContext added in v4.4.0

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

type DatasetIamPolicyArgs

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

The set of arguments for constructing a DatasetIamPolicy resource.

func (DatasetIamPolicyArgs) ElementType

func (DatasetIamPolicyArgs) ElementType() reflect.Type

type DatasetIamPolicyInput added in v4.4.0

type DatasetIamPolicyInput interface {
	pulumi.Input

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

type DatasetIamPolicyOutput added in v4.4.0

type DatasetIamPolicyOutput struct {
	*pulumi.OutputState
}

func (DatasetIamPolicyOutput) ElementType added in v4.4.0

func (DatasetIamPolicyOutput) ElementType() reflect.Type

func (DatasetIamPolicyOutput) ToDatasetIamPolicyOutput added in v4.4.0

func (o DatasetIamPolicyOutput) ToDatasetIamPolicyOutput() DatasetIamPolicyOutput

func (DatasetIamPolicyOutput) ToDatasetIamPolicyOutputWithContext added in v4.4.0

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

type DatasetIamPolicyState

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

func (DatasetIamPolicyState) ElementType

func (DatasetIamPolicyState) ElementType() reflect.Type

type DatasetInput added in v4.4.0

type DatasetInput interface {
	pulumi.Input

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

type DatasetOutput added in v4.4.0

type DatasetOutput struct {
	*pulumi.OutputState
}

func (DatasetOutput) ElementType added in v4.4.0

func (DatasetOutput) ElementType() reflect.Type

func (DatasetOutput) ToDatasetOutput added in v4.4.0

func (o DatasetOutput) ToDatasetOutput() DatasetOutput

func (DatasetOutput) ToDatasetOutputWithContext added in v4.4.0

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

type DatasetState

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

func (DatasetState) ElementType

func (DatasetState) ElementType() reflect.Type

type DicomStore

type DicomStore struct {
	pulumi.CustomResourceState

	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	Dataset pulumi.StringOutput `pulumi:"dataset"`
	// 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"`
}

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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v2/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
	})
}

```

## 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 added in v4.4.0

func (DicomStore) ElementType() reflect.Type

func (DicomStore) ToDicomStoreOutput added in v4.4.0

func (i DicomStore) ToDicomStoreOutput() DicomStoreOutput

func (DicomStore) ToDicomStoreOutputWithContext added in v4.4.0

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

type DicomStoreArgs

type DicomStoreArgs struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	Dataset pulumi.StringInput
	// User-supplied key-value pairs used to organize DICOM stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	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 set of arguments for constructing a DicomStore resource.

func (DicomStoreArgs) ElementType

func (DicomStoreArgs) ElementType() reflect.Type

type DicomStoreIamBinding

type DicomStoreIamBinding struct {
	pulumi.CustomResourceState

	Condition DicomStoreIamBindingConditionPtrOutput `pulumi:"condition"`
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringOutput `pulumi:"dicomStoreId"`
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (DicomStoreIamBinding) ElementType() reflect.Type

func (DicomStoreIamBinding) ToDicomStoreIamBindingOutput added in v4.4.0

func (i DicomStoreIamBinding) ToDicomStoreIamBindingOutput() DicomStoreIamBindingOutput

func (DicomStoreIamBinding) ToDicomStoreIamBindingOutputWithContext added in v4.4.0

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

type DicomStoreIamBindingArgs

type DicomStoreIamBindingArgs struct {
	Condition DicomStoreIamBindingConditionPtrInput
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringInput
	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 DicomStoreIamBindingCondition

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

type DicomStoreIamBindingConditionArgs

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

func (DicomStoreIamBindingConditionArgs) ElementType

func (DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionOutput

func (i DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionOutput() DicomStoreIamBindingConditionOutput

func (DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionOutputWithContext

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

func (DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionPtrOutput

func (i DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionPtrOutput() DicomStoreIamBindingConditionPtrOutput

func (DicomStoreIamBindingConditionArgs) ToDicomStoreIamBindingConditionPtrOutputWithContext

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

type DicomStoreIamBindingConditionInput

type DicomStoreIamBindingConditionInput interface {
	pulumi.Input

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

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

DicomStoreIamBindingConditionArgs{...}

type DicomStoreIamBindingConditionOutput

type DicomStoreIamBindingConditionOutput struct{ *pulumi.OutputState }

func (DicomStoreIamBindingConditionOutput) Description

func (DicomStoreIamBindingConditionOutput) ElementType

func (DicomStoreIamBindingConditionOutput) Expression

func (DicomStoreIamBindingConditionOutput) Title

func (DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionOutput

func (o DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionOutput() DicomStoreIamBindingConditionOutput

func (DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionOutputWithContext

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

func (DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionPtrOutput

func (o DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionPtrOutput() DicomStoreIamBindingConditionPtrOutput

func (DicomStoreIamBindingConditionOutput) ToDicomStoreIamBindingConditionPtrOutputWithContext

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

type DicomStoreIamBindingConditionPtrInput

type DicomStoreIamBindingConditionPtrInput interface {
	pulumi.Input

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

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

        DicomStoreIamBindingConditionArgs{...}

or:

        nil

type DicomStoreIamBindingConditionPtrOutput

type DicomStoreIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (DicomStoreIamBindingConditionPtrOutput) Description

func (DicomStoreIamBindingConditionPtrOutput) Elem

func (DicomStoreIamBindingConditionPtrOutput) ElementType

func (DicomStoreIamBindingConditionPtrOutput) Expression

func (DicomStoreIamBindingConditionPtrOutput) Title

func (DicomStoreIamBindingConditionPtrOutput) ToDicomStoreIamBindingConditionPtrOutput

func (o DicomStoreIamBindingConditionPtrOutput) ToDicomStoreIamBindingConditionPtrOutput() DicomStoreIamBindingConditionPtrOutput

func (DicomStoreIamBindingConditionPtrOutput) ToDicomStoreIamBindingConditionPtrOutputWithContext

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

type DicomStoreIamBindingInput added in v4.4.0

type DicomStoreIamBindingInput interface {
	pulumi.Input

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

type DicomStoreIamBindingOutput added in v4.4.0

type DicomStoreIamBindingOutput struct {
	*pulumi.OutputState
}

func (DicomStoreIamBindingOutput) ElementType added in v4.4.0

func (DicomStoreIamBindingOutput) ElementType() reflect.Type

func (DicomStoreIamBindingOutput) ToDicomStoreIamBindingOutput added in v4.4.0

func (o DicomStoreIamBindingOutput) ToDicomStoreIamBindingOutput() DicomStoreIamBindingOutput

func (DicomStoreIamBindingOutput) ToDicomStoreIamBindingOutputWithContext added in v4.4.0

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

type DicomStoreIamBindingState

type DicomStoreIamBindingState struct {
	Condition DicomStoreIamBindingConditionPtrInput
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringPtrInput
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.DicomStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (DicomStoreIamBindingState) ElementType

func (DicomStoreIamBindingState) ElementType() reflect.Type

type DicomStoreIamMember

type DicomStoreIamMember struct {
	pulumi.CustomResourceState

	Condition DicomStoreIamMemberConditionPtrOutput `pulumi:"condition"`
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringOutput `pulumi:"dicomStoreId"`
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (DicomStoreIamMember) ElementType() reflect.Type

func (DicomStoreIamMember) ToDicomStoreIamMemberOutput added in v4.4.0

func (i DicomStoreIamMember) ToDicomStoreIamMemberOutput() DicomStoreIamMemberOutput

func (DicomStoreIamMember) ToDicomStoreIamMemberOutputWithContext added in v4.4.0

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

type DicomStoreIamMemberArgs

type DicomStoreIamMemberArgs struct {
	Condition DicomStoreIamMemberConditionPtrInput
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringInput
	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 DicomStoreIamMemberCondition

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

type DicomStoreIamMemberConditionArgs

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

func (DicomStoreIamMemberConditionArgs) ElementType

func (DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionOutput

func (i DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionOutput() DicomStoreIamMemberConditionOutput

func (DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionOutputWithContext

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

func (DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionPtrOutput

func (i DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionPtrOutput() DicomStoreIamMemberConditionPtrOutput

func (DicomStoreIamMemberConditionArgs) ToDicomStoreIamMemberConditionPtrOutputWithContext

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

type DicomStoreIamMemberConditionInput

type DicomStoreIamMemberConditionInput interface {
	pulumi.Input

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

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

DicomStoreIamMemberConditionArgs{...}

type DicomStoreIamMemberConditionOutput

type DicomStoreIamMemberConditionOutput struct{ *pulumi.OutputState }

func (DicomStoreIamMemberConditionOutput) Description

func (DicomStoreIamMemberConditionOutput) ElementType

func (DicomStoreIamMemberConditionOutput) Expression

func (DicomStoreIamMemberConditionOutput) Title

func (DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionOutput

func (o DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionOutput() DicomStoreIamMemberConditionOutput

func (DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionOutputWithContext

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

func (DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionPtrOutput

func (o DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionPtrOutput() DicomStoreIamMemberConditionPtrOutput

func (DicomStoreIamMemberConditionOutput) ToDicomStoreIamMemberConditionPtrOutputWithContext

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

type DicomStoreIamMemberConditionPtrInput

type DicomStoreIamMemberConditionPtrInput interface {
	pulumi.Input

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

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

        DicomStoreIamMemberConditionArgs{...}

or:

        nil

type DicomStoreIamMemberConditionPtrOutput

type DicomStoreIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (DicomStoreIamMemberConditionPtrOutput) Description

func (DicomStoreIamMemberConditionPtrOutput) Elem

func (DicomStoreIamMemberConditionPtrOutput) ElementType

func (DicomStoreIamMemberConditionPtrOutput) Expression

func (DicomStoreIamMemberConditionPtrOutput) Title

func (DicomStoreIamMemberConditionPtrOutput) ToDicomStoreIamMemberConditionPtrOutput

func (o DicomStoreIamMemberConditionPtrOutput) ToDicomStoreIamMemberConditionPtrOutput() DicomStoreIamMemberConditionPtrOutput

func (DicomStoreIamMemberConditionPtrOutput) ToDicomStoreIamMemberConditionPtrOutputWithContext

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

type DicomStoreIamMemberInput added in v4.4.0

type DicomStoreIamMemberInput interface {
	pulumi.Input

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

type DicomStoreIamMemberOutput added in v4.4.0

type DicomStoreIamMemberOutput struct {
	*pulumi.OutputState
}

func (DicomStoreIamMemberOutput) ElementType added in v4.4.0

func (DicomStoreIamMemberOutput) ElementType() reflect.Type

func (DicomStoreIamMemberOutput) ToDicomStoreIamMemberOutput added in v4.4.0

func (o DicomStoreIamMemberOutput) ToDicomStoreIamMemberOutput() DicomStoreIamMemberOutput

func (DicomStoreIamMemberOutput) ToDicomStoreIamMemberOutputWithContext added in v4.4.0

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

type DicomStoreIamMemberState

type DicomStoreIamMemberState struct {
	Condition DicomStoreIamMemberConditionPtrInput
	// The DICOM store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{dicom_store_name}` or
	// `{location_name}/{dataset_name}/{dicom_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	DicomStoreId pulumi.StringPtrInput
	// (Computed) The etag of the DICOM store's IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `healthcare.DicomStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (DicomStoreIamMemberState) ElementType

func (DicomStoreIamMemberState) ElementType() reflect.Type

type DicomStoreIamPolicy

type DicomStoreIamPolicy struct {
	pulumi.CustomResourceState

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

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

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

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

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

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (DicomStoreIamPolicy) ElementType() reflect.Type

func (DicomStoreIamPolicy) ToDicomStoreIamPolicyOutput added in v4.4.0

func (i DicomStoreIamPolicy) ToDicomStoreIamPolicyOutput() DicomStoreIamPolicyOutput

func (DicomStoreIamPolicy) ToDicomStoreIamPolicyOutputWithContext added in v4.4.0

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

type DicomStoreIamPolicyArgs

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

The set of arguments for constructing a DicomStoreIamPolicy resource.

func (DicomStoreIamPolicyArgs) ElementType

func (DicomStoreIamPolicyArgs) ElementType() reflect.Type

type DicomStoreIamPolicyInput added in v4.4.0

type DicomStoreIamPolicyInput interface {
	pulumi.Input

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

type DicomStoreIamPolicyOutput added in v4.4.0

type DicomStoreIamPolicyOutput struct {
	*pulumi.OutputState
}

func (DicomStoreIamPolicyOutput) ElementType added in v4.4.0

func (DicomStoreIamPolicyOutput) ElementType() reflect.Type

func (DicomStoreIamPolicyOutput) ToDicomStoreIamPolicyOutput added in v4.4.0

func (o DicomStoreIamPolicyOutput) ToDicomStoreIamPolicyOutput() DicomStoreIamPolicyOutput

func (DicomStoreIamPolicyOutput) ToDicomStoreIamPolicyOutputWithContext added in v4.4.0

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

type DicomStoreIamPolicyState

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

func (DicomStoreIamPolicyState) ElementType

func (DicomStoreIamPolicyState) ElementType() reflect.Type

type DicomStoreInput added in v4.4.0

type DicomStoreInput interface {
	pulumi.Input

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

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. cloud-healthcare@system.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. cloud-healthcare@system.gserviceaccount.com must have publisher permissions on the given
	// Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
	PubsubTopic pulumi.StringInput `pulumi:"pubsubTopic"`
}

func (DicomStoreNotificationConfigArgs) ElementType

func (DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigOutput

func (i DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigOutput() DicomStoreNotificationConfigOutput

func (DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigOutputWithContext

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

func (DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigPtrOutput

func (i DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigPtrOutput() DicomStoreNotificationConfigPtrOutput

func (DicomStoreNotificationConfigArgs) ToDicomStoreNotificationConfigPtrOutputWithContext

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

type DicomStoreNotificationConfigInput

type DicomStoreNotificationConfigInput interface {
	pulumi.Input

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

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

DicomStoreNotificationConfigArgs{...}

type DicomStoreNotificationConfigOutput

type DicomStoreNotificationConfigOutput struct{ *pulumi.OutputState }

func (DicomStoreNotificationConfigOutput) ElementType

func (DicomStoreNotificationConfigOutput) PubsubTopic

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

func (DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigOutput

func (o DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigOutput() DicomStoreNotificationConfigOutput

func (DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigOutputWithContext

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

func (DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigPtrOutput

func (o DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigPtrOutput() DicomStoreNotificationConfigPtrOutput

func (DicomStoreNotificationConfigOutput) ToDicomStoreNotificationConfigPtrOutputWithContext

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

type DicomStoreNotificationConfigPtrInput

type DicomStoreNotificationConfigPtrInput interface {
	pulumi.Input

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

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

        DicomStoreNotificationConfigArgs{...}

or:

        nil

type DicomStoreNotificationConfigPtrOutput

type DicomStoreNotificationConfigPtrOutput struct{ *pulumi.OutputState }

func (DicomStoreNotificationConfigPtrOutput) Elem

func (DicomStoreNotificationConfigPtrOutput) ElementType

func (DicomStoreNotificationConfigPtrOutput) PubsubTopic

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

func (DicomStoreNotificationConfigPtrOutput) ToDicomStoreNotificationConfigPtrOutput

func (o DicomStoreNotificationConfigPtrOutput) ToDicomStoreNotificationConfigPtrOutput() DicomStoreNotificationConfigPtrOutput

func (DicomStoreNotificationConfigPtrOutput) ToDicomStoreNotificationConfigPtrOutputWithContext

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

type DicomStoreOutput added in v4.4.0

type DicomStoreOutput struct {
	*pulumi.OutputState
}

func (DicomStoreOutput) ElementType added in v4.4.0

func (DicomStoreOutput) ElementType() reflect.Type

func (DicomStoreOutput) ToDicomStoreOutput added in v4.4.0

func (o DicomStoreOutput) ToDicomStoreOutput() DicomStoreOutput

func (DicomStoreOutput) ToDicomStoreOutputWithContext added in v4.4.0

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

type DicomStoreState

type DicomStoreState struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	Dataset pulumi.StringPtrInput
	// 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
}

func (DicomStoreState) ElementType

func (DicomStoreState) ElementType() reflect.Type

type FhirStore

type FhirStore 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"`
	// 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"`
	// 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`, and `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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v2/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),
			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/v4/go/gcp/bigquery"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v2/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("%v%v%v%v", "bq://", project, ".", datasetId), nil
						}).(pulumi.StringOutput),
						SchemaConfig: &healthcare.FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs{
							RecursiveStructureDepth: pulumi.Int(3),
						},
					},
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = pubsub.NewTopic(ctx, "topic", nil)
		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 added in v4.4.0

func (FhirStore) ElementType() reflect.Type

func (FhirStore) ToFhirStoreOutput added in v4.4.0

func (i FhirStore) ToFhirStoreOutput() FhirStoreOutput

func (FhirStore) ToFhirStoreOutputWithContext added in v4.4.0

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

type FhirStoreArgs

type FhirStoreArgs struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	Dataset pulumi.StringInput
	// 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 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`, and `R4`.
	Version pulumi.StringPtrInput
}

The set of arguments for constructing a FhirStore resource.

func (FhirStoreArgs) ElementType

func (FhirStoreArgs) ElementType() reflect.Type

type FhirStoreIamBinding

type FhirStoreIamBinding struct {
	pulumi.CustomResourceState

	Condition FhirStoreIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the FHIR store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringOutput      `pulumi:"fhirStoreId"`
	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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (FhirStoreIamBinding) ElementType() reflect.Type

func (FhirStoreIamBinding) ToFhirStoreIamBindingOutput added in v4.4.0

func (i FhirStoreIamBinding) ToFhirStoreIamBindingOutput() FhirStoreIamBindingOutput

func (FhirStoreIamBinding) ToFhirStoreIamBindingOutputWithContext added in v4.4.0

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

type FhirStoreIamBindingArgs

type FhirStoreIamBindingArgs struct {
	Condition FhirStoreIamBindingConditionPtrInput
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringInput
	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 FhirStoreIamBindingCondition

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

type FhirStoreIamBindingConditionArgs

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

func (FhirStoreIamBindingConditionArgs) ElementType

func (FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionOutput

func (i FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionOutput() FhirStoreIamBindingConditionOutput

func (FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionOutputWithContext

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

func (FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionPtrOutput

func (i FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionPtrOutput() FhirStoreIamBindingConditionPtrOutput

func (FhirStoreIamBindingConditionArgs) ToFhirStoreIamBindingConditionPtrOutputWithContext

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

type FhirStoreIamBindingConditionInput

type FhirStoreIamBindingConditionInput interface {
	pulumi.Input

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

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

FhirStoreIamBindingConditionArgs{...}

type FhirStoreIamBindingConditionOutput

type FhirStoreIamBindingConditionOutput struct{ *pulumi.OutputState }

func (FhirStoreIamBindingConditionOutput) Description

func (FhirStoreIamBindingConditionOutput) ElementType

func (FhirStoreIamBindingConditionOutput) Expression

func (FhirStoreIamBindingConditionOutput) Title

func (FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionOutput

func (o FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionOutput() FhirStoreIamBindingConditionOutput

func (FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionOutputWithContext

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

func (FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionPtrOutput

func (o FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionPtrOutput() FhirStoreIamBindingConditionPtrOutput

func (FhirStoreIamBindingConditionOutput) ToFhirStoreIamBindingConditionPtrOutputWithContext

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

type FhirStoreIamBindingConditionPtrInput

type FhirStoreIamBindingConditionPtrInput interface {
	pulumi.Input

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

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

        FhirStoreIamBindingConditionArgs{...}

or:

        nil

type FhirStoreIamBindingConditionPtrOutput

type FhirStoreIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (FhirStoreIamBindingConditionPtrOutput) Description

func (FhirStoreIamBindingConditionPtrOutput) Elem

func (FhirStoreIamBindingConditionPtrOutput) ElementType

func (FhirStoreIamBindingConditionPtrOutput) Expression

func (FhirStoreIamBindingConditionPtrOutput) Title

func (FhirStoreIamBindingConditionPtrOutput) ToFhirStoreIamBindingConditionPtrOutput

func (o FhirStoreIamBindingConditionPtrOutput) ToFhirStoreIamBindingConditionPtrOutput() FhirStoreIamBindingConditionPtrOutput

func (FhirStoreIamBindingConditionPtrOutput) ToFhirStoreIamBindingConditionPtrOutputWithContext

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

type FhirStoreIamBindingInput added in v4.4.0

type FhirStoreIamBindingInput interface {
	pulumi.Input

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

type FhirStoreIamBindingOutput added in v4.4.0

type FhirStoreIamBindingOutput struct {
	*pulumi.OutputState
}

func (FhirStoreIamBindingOutput) ElementType added in v4.4.0

func (FhirStoreIamBindingOutput) ElementType() reflect.Type

func (FhirStoreIamBindingOutput) ToFhirStoreIamBindingOutput added in v4.4.0

func (o FhirStoreIamBindingOutput) ToFhirStoreIamBindingOutput() FhirStoreIamBindingOutput

func (FhirStoreIamBindingOutput) ToFhirStoreIamBindingOutputWithContext added in v4.4.0

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

type FhirStoreIamBindingState

type FhirStoreIamBindingState struct {
	Condition FhirStoreIamBindingConditionPtrInput
	// (Computed) The etag of the FHIR store's IAM policy.
	Etag pulumi.StringPtrInput
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringPtrInput
	Members     pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.FhirStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (FhirStoreIamBindingState) ElementType

func (FhirStoreIamBindingState) ElementType() reflect.Type

type FhirStoreIamMember

type FhirStoreIamMember struct {
	pulumi.CustomResourceState

	Condition FhirStoreIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the FHIR store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringOutput `pulumi:"fhirStoreId"`
	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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (FhirStoreIamMember) ElementType() reflect.Type

func (FhirStoreIamMember) ToFhirStoreIamMemberOutput added in v4.4.0

func (i FhirStoreIamMember) ToFhirStoreIamMemberOutput() FhirStoreIamMemberOutput

func (FhirStoreIamMember) ToFhirStoreIamMemberOutputWithContext added in v4.4.0

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

type FhirStoreIamMemberArgs

type FhirStoreIamMemberArgs struct {
	Condition FhirStoreIamMemberConditionPtrInput
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringInput
	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 FhirStoreIamMemberCondition

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

type FhirStoreIamMemberConditionArgs

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

func (FhirStoreIamMemberConditionArgs) ElementType

func (FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionOutput

func (i FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionOutput() FhirStoreIamMemberConditionOutput

func (FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionOutputWithContext

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

func (FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionPtrOutput

func (i FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionPtrOutput() FhirStoreIamMemberConditionPtrOutput

func (FhirStoreIamMemberConditionArgs) ToFhirStoreIamMemberConditionPtrOutputWithContext

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

type FhirStoreIamMemberConditionInput

type FhirStoreIamMemberConditionInput interface {
	pulumi.Input

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

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

FhirStoreIamMemberConditionArgs{...}

type FhirStoreIamMemberConditionOutput

type FhirStoreIamMemberConditionOutput struct{ *pulumi.OutputState }

func (FhirStoreIamMemberConditionOutput) Description

func (FhirStoreIamMemberConditionOutput) ElementType

func (FhirStoreIamMemberConditionOutput) Expression

func (FhirStoreIamMemberConditionOutput) Title

func (FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionOutput

func (o FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionOutput() FhirStoreIamMemberConditionOutput

func (FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionOutputWithContext

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

func (FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionPtrOutput

func (o FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionPtrOutput() FhirStoreIamMemberConditionPtrOutput

func (FhirStoreIamMemberConditionOutput) ToFhirStoreIamMemberConditionPtrOutputWithContext

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

type FhirStoreIamMemberConditionPtrInput

type FhirStoreIamMemberConditionPtrInput interface {
	pulumi.Input

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

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

        FhirStoreIamMemberConditionArgs{...}

or:

        nil

type FhirStoreIamMemberConditionPtrOutput

type FhirStoreIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (FhirStoreIamMemberConditionPtrOutput) Description

func (FhirStoreIamMemberConditionPtrOutput) Elem

func (FhirStoreIamMemberConditionPtrOutput) ElementType

func (FhirStoreIamMemberConditionPtrOutput) Expression

func (FhirStoreIamMemberConditionPtrOutput) Title

func (FhirStoreIamMemberConditionPtrOutput) ToFhirStoreIamMemberConditionPtrOutput

func (o FhirStoreIamMemberConditionPtrOutput) ToFhirStoreIamMemberConditionPtrOutput() FhirStoreIamMemberConditionPtrOutput

func (FhirStoreIamMemberConditionPtrOutput) ToFhirStoreIamMemberConditionPtrOutputWithContext

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

type FhirStoreIamMemberInput added in v4.4.0

type FhirStoreIamMemberInput interface {
	pulumi.Input

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

type FhirStoreIamMemberOutput added in v4.4.0

type FhirStoreIamMemberOutput struct {
	*pulumi.OutputState
}

func (FhirStoreIamMemberOutput) ElementType added in v4.4.0

func (FhirStoreIamMemberOutput) ElementType() reflect.Type

func (FhirStoreIamMemberOutput) ToFhirStoreIamMemberOutput added in v4.4.0

func (o FhirStoreIamMemberOutput) ToFhirStoreIamMemberOutput() FhirStoreIamMemberOutput

func (FhirStoreIamMemberOutput) ToFhirStoreIamMemberOutputWithContext added in v4.4.0

func (o FhirStoreIamMemberOutput) ToFhirStoreIamMemberOutputWithContext(ctx context.Context) FhirStoreIamMemberOutput

type FhirStoreIamMemberState

type FhirStoreIamMemberState struct {
	Condition FhirStoreIamMemberConditionPtrInput
	// (Computed) The etag of the FHIR store's IAM policy.
	Etag pulumi.StringPtrInput
	// The FHIR store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{fhir_store_name}` or
	// `{location_name}/{dataset_name}/{fhir_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	FhirStoreId pulumi.StringPtrInput
	Member      pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `healthcare.FhirStoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (FhirStoreIamMemberState) ElementType

func (FhirStoreIamMemberState) ElementType() reflect.Type

type FhirStoreIamPolicy

type FhirStoreIamPolicy struct {
	pulumi.CustomResourceState

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

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

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

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

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

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (FhirStoreIamPolicy) ElementType() reflect.Type

func (FhirStoreIamPolicy) ToFhirStoreIamPolicyOutput added in v4.4.0

func (i FhirStoreIamPolicy) ToFhirStoreIamPolicyOutput() FhirStoreIamPolicyOutput

func (FhirStoreIamPolicy) ToFhirStoreIamPolicyOutputWithContext added in v4.4.0

func (i FhirStoreIamPolicy) ToFhirStoreIamPolicyOutputWithContext(ctx context.Context) FhirStoreIamPolicyOutput

type FhirStoreIamPolicyArgs

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

The set of arguments for constructing a FhirStoreIamPolicy resource.

func (FhirStoreIamPolicyArgs) ElementType

func (FhirStoreIamPolicyArgs) ElementType() reflect.Type

type FhirStoreIamPolicyInput added in v4.4.0

type FhirStoreIamPolicyInput interface {
	pulumi.Input

	ToFhirStoreIamPolicyOutput() FhirStoreIamPolicyOutput
	ToFhirStoreIamPolicyOutputWithContext(ctx context.Context) FhirStoreIamPolicyOutput
}

type FhirStoreIamPolicyOutput added in v4.4.0

type FhirStoreIamPolicyOutput struct {
	*pulumi.OutputState
}

func (FhirStoreIamPolicyOutput) ElementType added in v4.4.0

func (FhirStoreIamPolicyOutput) ElementType() reflect.Type

func (FhirStoreIamPolicyOutput) ToFhirStoreIamPolicyOutput added in v4.4.0

func (o FhirStoreIamPolicyOutput) ToFhirStoreIamPolicyOutput() FhirStoreIamPolicyOutput

func (FhirStoreIamPolicyOutput) ToFhirStoreIamPolicyOutputWithContext added in v4.4.0

func (o FhirStoreIamPolicyOutput) ToFhirStoreIamPolicyOutputWithContext(ctx context.Context) FhirStoreIamPolicyOutput

type FhirStoreIamPolicyState

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

func (FhirStoreIamPolicyState) ElementType

func (FhirStoreIamPolicyState) ElementType() reflect.Type

type FhirStoreInput added in v4.4.0

type FhirStoreInput interface {
	pulumi.Input

	ToFhirStoreOutput() FhirStoreOutput
	ToFhirStoreOutputWithContext(ctx context.Context) FhirStoreOutput
}

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. cloud-healthcare@system.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 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. cloud-healthcare@system.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 (FhirStoreNotificationConfigArgs) ElementType

func (FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigOutput

func (i FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigOutput() FhirStoreNotificationConfigOutput

func (FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigOutputWithContext

func (i FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigOutputWithContext(ctx context.Context) FhirStoreNotificationConfigOutput

func (FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigPtrOutput

func (i FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigPtrOutput() FhirStoreNotificationConfigPtrOutput

func (FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigPtrOutputWithContext

func (i FhirStoreNotificationConfigArgs) ToFhirStoreNotificationConfigPtrOutputWithContext(ctx context.Context) FhirStoreNotificationConfigPtrOutput

type 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. cloud-healthcare@system.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) ToFhirStoreNotificationConfigOutput

func (o FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigOutput() FhirStoreNotificationConfigOutput

func (FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigOutputWithContext

func (o FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigOutputWithContext(ctx context.Context) FhirStoreNotificationConfigOutput

func (FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigPtrOutput

func (o FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigPtrOutput() FhirStoreNotificationConfigPtrOutput

func (FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigPtrOutputWithContext

func (o FhirStoreNotificationConfigOutput) ToFhirStoreNotificationConfigPtrOutputWithContext(ctx context.Context) FhirStoreNotificationConfigPtrOutput

type FhirStoreNotificationConfigPtrInput

type FhirStoreNotificationConfigPtrInput interface {
	pulumi.Input

	ToFhirStoreNotificationConfigPtrOutput() FhirStoreNotificationConfigPtrOutput
	ToFhirStoreNotificationConfigPtrOutputWithContext(context.Context) FhirStoreNotificationConfigPtrOutput
}

FhirStoreNotificationConfigPtrInput is an input type that accepts FhirStoreNotificationConfigArgs, FhirStoreNotificationConfigPtr and FhirStoreNotificationConfigPtrOutput values. You can construct a concrete instance of `FhirStoreNotificationConfigPtrInput` via:

        FhirStoreNotificationConfigArgs{...}

or:

        nil

type FhirStoreNotificationConfigPtrOutput

type FhirStoreNotificationConfigPtrOutput struct{ *pulumi.OutputState }

func (FhirStoreNotificationConfigPtrOutput) Elem

func (FhirStoreNotificationConfigPtrOutput) ElementType

func (FhirStoreNotificationConfigPtrOutput) PubsubTopic

The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. cloud-healthcare@system.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) ToFhirStoreNotificationConfigPtrOutput

func (o FhirStoreNotificationConfigPtrOutput) ToFhirStoreNotificationConfigPtrOutput() FhirStoreNotificationConfigPtrOutput

func (FhirStoreNotificationConfigPtrOutput) ToFhirStoreNotificationConfigPtrOutputWithContext

func (o FhirStoreNotificationConfigPtrOutput) ToFhirStoreNotificationConfigPtrOutputWithContext(ctx context.Context) FhirStoreNotificationConfigPtrOutput

type FhirStoreOutput added in v4.4.0

type FhirStoreOutput struct {
	*pulumi.OutputState
}

func (FhirStoreOutput) ElementType added in v4.4.0

func (FhirStoreOutput) ElementType() reflect.Type

func (FhirStoreOutput) ToFhirStoreOutput added in v4.4.0

func (o FhirStoreOutput) ToFhirStoreOutput() FhirStoreOutput

func (FhirStoreOutput) ToFhirStoreOutputWithContext added in v4.4.0

func (o FhirStoreOutput) ToFhirStoreOutputWithContext(ctx context.Context) FhirStoreOutput

type FhirStoreState

type FhirStoreState struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	Dataset pulumi.StringPtrInput
	// 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
	// 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`, and `R4`.
	Version pulumi.StringPtrInput
}

func (FhirStoreState) ElementType

func (FhirStoreState) ElementType() reflect.Type

type FhirStoreStreamConfig

type FhirStoreStreamConfig struct {
	// The destination BigQuery structure that contains both the dataset location and corresponding schema config.
	// The output is organized in one table per resource type. The server reuses the existing tables (if any) that
	// are named after the resource types, e.g. "Patient", "Observation". When there is no existing table for a given
	// resource type, the server attempts to create one.
	// See the [streaming config reference](https://cloud.google.com/healthcare/docs/reference/rest/v1beta1/projects.locations.datasets.fhirStores#streamconfig) for more details.
	// Structure is documented below.
	BigqueryDestination FhirStoreStreamConfigBigqueryDestination `pulumi:"bigqueryDestination"`
	// Supply a FHIR resource type (such as "Patient" or "Observation"). See
	// https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats
	// an empty list as an intent to stream all the supported resource types in this FHIR store.
	ResourceTypes []string `pulumi:"resourceTypes"`
}

type FhirStoreStreamConfigArgs

type FhirStoreStreamConfigArgs struct {
	// The destination BigQuery structure that contains both the dataset location and corresponding schema config.
	// The output is organized in one table per resource type. The server reuses the existing tables (if any) that
	// are named after the resource types, e.g. "Patient", "Observation". When there is no existing table for a given
	// resource type, the server attempts to create one.
	// See the [streaming config reference](https://cloud.google.com/healthcare/docs/reference/rest/v1beta1/projects.locations.datasets.fhirStores#streamconfig) for more details.
	// Structure is documented below.
	BigqueryDestination FhirStoreStreamConfigBigqueryDestinationInput `pulumi:"bigqueryDestination"`
	// Supply a FHIR resource type (such as "Patient" or "Observation"). See
	// https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats
	// an empty list as an intent to stream all the supported resource types in this FHIR store.
	ResourceTypes pulumi.StringArrayInput `pulumi:"resourceTypes"`
}

func (FhirStoreStreamConfigArgs) ElementType

func (FhirStoreStreamConfigArgs) ElementType() reflect.Type

func (FhirStoreStreamConfigArgs) ToFhirStoreStreamConfigOutput

func (i FhirStoreStreamConfigArgs) ToFhirStoreStreamConfigOutput() FhirStoreStreamConfigOutput

func (FhirStoreStreamConfigArgs) ToFhirStoreStreamConfigOutputWithContext

func (i FhirStoreStreamConfigArgs) ToFhirStoreStreamConfigOutputWithContext(ctx context.Context) FhirStoreStreamConfigOutput

type FhirStoreStreamConfigArray

type FhirStoreStreamConfigArray []FhirStoreStreamConfigInput

func (FhirStoreStreamConfigArray) ElementType

func (FhirStoreStreamConfigArray) ElementType() reflect.Type

func (FhirStoreStreamConfigArray) ToFhirStoreStreamConfigArrayOutput

func (i FhirStoreStreamConfigArray) ToFhirStoreStreamConfigArrayOutput() FhirStoreStreamConfigArrayOutput

func (FhirStoreStreamConfigArray) ToFhirStoreStreamConfigArrayOutputWithContext

func (i FhirStoreStreamConfigArray) ToFhirStoreStreamConfigArrayOutputWithContext(ctx context.Context) FhirStoreStreamConfigArrayOutput

type FhirStoreStreamConfigArrayInput

type FhirStoreStreamConfigArrayInput interface {
	pulumi.Input

	ToFhirStoreStreamConfigArrayOutput() FhirStoreStreamConfigArrayOutput
	ToFhirStoreStreamConfigArrayOutputWithContext(context.Context) FhirStoreStreamConfigArrayOutput
}

FhirStoreStreamConfigArrayInput is an input type that accepts FhirStoreStreamConfigArray and FhirStoreStreamConfigArrayOutput values. You can construct a concrete instance of `FhirStoreStreamConfigArrayInput` via:

FhirStoreStreamConfigArray{ FhirStoreStreamConfigArgs{...} }

type FhirStoreStreamConfigArrayOutput

type FhirStoreStreamConfigArrayOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigArrayOutput) ElementType

func (FhirStoreStreamConfigArrayOutput) Index

func (FhirStoreStreamConfigArrayOutput) ToFhirStoreStreamConfigArrayOutput

func (o FhirStoreStreamConfigArrayOutput) ToFhirStoreStreamConfigArrayOutput() FhirStoreStreamConfigArrayOutput

func (FhirStoreStreamConfigArrayOutput) ToFhirStoreStreamConfigArrayOutputWithContext

func (o FhirStoreStreamConfigArrayOutput) ToFhirStoreStreamConfigArrayOutputWithContext(ctx context.Context) FhirStoreStreamConfigArrayOutput

type FhirStoreStreamConfigBigqueryDestination

type FhirStoreStreamConfigBigqueryDestination struct {
	// BigQuery URI to a dataset, up to 2000 characters long, in the format bq://projectId.bqDatasetId
	DatasetUri string `pulumi:"datasetUri"`
	// The configuration for the exported BigQuery schema.
	// Structure is documented below.
	SchemaConfig FhirStoreStreamConfigBigqueryDestinationSchemaConfig `pulumi:"schemaConfig"`
}

type FhirStoreStreamConfigBigqueryDestinationArgs

type FhirStoreStreamConfigBigqueryDestinationArgs struct {
	// BigQuery URI to a dataset, up to 2000 characters long, in the format bq://projectId.bqDatasetId
	DatasetUri pulumi.StringInput `pulumi:"datasetUri"`
	// The configuration for the exported BigQuery schema.
	// Structure is documented below.
	SchemaConfig FhirStoreStreamConfigBigqueryDestinationSchemaConfigInput `pulumi:"schemaConfig"`
}

func (FhirStoreStreamConfigBigqueryDestinationArgs) ElementType

func (FhirStoreStreamConfigBigqueryDestinationArgs) ToFhirStoreStreamConfigBigqueryDestinationOutput

func (i FhirStoreStreamConfigBigqueryDestinationArgs) ToFhirStoreStreamConfigBigqueryDestinationOutput() FhirStoreStreamConfigBigqueryDestinationOutput

func (FhirStoreStreamConfigBigqueryDestinationArgs) ToFhirStoreStreamConfigBigqueryDestinationOutputWithContext

func (i FhirStoreStreamConfigBigqueryDestinationArgs) ToFhirStoreStreamConfigBigqueryDestinationOutputWithContext(ctx context.Context) FhirStoreStreamConfigBigqueryDestinationOutput

type FhirStoreStreamConfigBigqueryDestinationInput

type FhirStoreStreamConfigBigqueryDestinationInput interface {
	pulumi.Input

	ToFhirStoreStreamConfigBigqueryDestinationOutput() FhirStoreStreamConfigBigqueryDestinationOutput
	ToFhirStoreStreamConfigBigqueryDestinationOutputWithContext(context.Context) FhirStoreStreamConfigBigqueryDestinationOutput
}

FhirStoreStreamConfigBigqueryDestinationInput is an input type that accepts FhirStoreStreamConfigBigqueryDestinationArgs and FhirStoreStreamConfigBigqueryDestinationOutput values. You can construct a concrete instance of `FhirStoreStreamConfigBigqueryDestinationInput` via:

FhirStoreStreamConfigBigqueryDestinationArgs{...}

type FhirStoreStreamConfigBigqueryDestinationOutput

type FhirStoreStreamConfigBigqueryDestinationOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigBigqueryDestinationOutput) DatasetUri

BigQuery URI to a dataset, up to 2000 characters long, in the format bq://projectId.bqDatasetId

func (FhirStoreStreamConfigBigqueryDestinationOutput) ElementType

func (FhirStoreStreamConfigBigqueryDestinationOutput) SchemaConfig

The configuration for the exported BigQuery schema. Structure is documented below.

func (FhirStoreStreamConfigBigqueryDestinationOutput) ToFhirStoreStreamConfigBigqueryDestinationOutput

func (o FhirStoreStreamConfigBigqueryDestinationOutput) ToFhirStoreStreamConfigBigqueryDestinationOutput() FhirStoreStreamConfigBigqueryDestinationOutput

func (FhirStoreStreamConfigBigqueryDestinationOutput) ToFhirStoreStreamConfigBigqueryDestinationOutputWithContext

func (o FhirStoreStreamConfigBigqueryDestinationOutput) ToFhirStoreStreamConfigBigqueryDestinationOutputWithContext(ctx context.Context) FhirStoreStreamConfigBigqueryDestinationOutput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfig

type FhirStoreStreamConfigBigqueryDestinationSchemaConfig struct {
	// The 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. Only ANALYTICS is supported at this time.
	// * ANALYTICS: Analytics schema defined by the FHIR community.
	//   See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
	//   Default value is `ANALYTICS`.
	//   Possible values are `ANALYTICS`.
	SchemaType *string `pulumi:"schemaType"`
}

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs struct {
	// 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. Only ANALYTICS is supported at this time.
	// * ANALYTICS: Analytics schema defined by the FHIR community.
	//   See https://github.com/FHIR/sql-on-fhir/blob/master/sql-on-fhir.md.
	//   Default value is `ANALYTICS`.
	//   Possible values are `ANALYTICS`.
	SchemaType pulumi.StringPtrInput `pulumi:"schemaType"`
}

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs) ElementType

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutputWithContext

func (i FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutputWithContext(ctx context.Context) FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigInput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigInput interface {
	pulumi.Input

	ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput() FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput
	ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutputWithContext(context.Context) FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput
}

FhirStoreStreamConfigBigqueryDestinationSchemaConfigInput is an input type that accepts FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs and FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput values. You can construct a concrete instance of `FhirStoreStreamConfigBigqueryDestinationSchemaConfigInput` via:

FhirStoreStreamConfigBigqueryDestinationSchemaConfigArgs{...}

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput

type FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) ElementType

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. Only ANALYTICS is supported at this time.

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput

func (FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutputWithContext

func (o FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput) ToFhirStoreStreamConfigBigqueryDestinationSchemaConfigOutputWithContext(ctx context.Context) FhirStoreStreamConfigBigqueryDestinationSchemaConfigOutput

type FhirStoreStreamConfigInput

type FhirStoreStreamConfigInput interface {
	pulumi.Input

	ToFhirStoreStreamConfigOutput() FhirStoreStreamConfigOutput
	ToFhirStoreStreamConfigOutputWithContext(context.Context) FhirStoreStreamConfigOutput
}

FhirStoreStreamConfigInput is an input type that accepts FhirStoreStreamConfigArgs and FhirStoreStreamConfigOutput values. You can construct a concrete instance of `FhirStoreStreamConfigInput` via:

FhirStoreStreamConfigArgs{...}

type FhirStoreStreamConfigOutput

type FhirStoreStreamConfigOutput struct{ *pulumi.OutputState }

func (FhirStoreStreamConfigOutput) BigqueryDestination

The destination BigQuery structure that contains both the dataset location and corresponding schema config. The output is organized in one table per resource type. The server reuses the existing tables (if any) that are named after the resource types, e.g. "Patient", "Observation". When there is no existing table for a given resource type, the server attempts to create one. See the [streaming config reference](https://cloud.google.com/healthcare/docs/reference/rest/v1beta1/projects.locations.datasets.fhirStores#streamconfig) for more details. Structure is documented below.

func (FhirStoreStreamConfigOutput) ElementType

func (FhirStoreStreamConfigOutput) ResourceTypes

Supply a FHIR resource type (such as "Patient" or "Observation"). See https://www.hl7.org/fhir/valueset-resource-types.html for a list of all FHIR resource types. The server treats an empty list as an intent to stream all the supported resource types in this FHIR store.

func (FhirStoreStreamConfigOutput) ToFhirStoreStreamConfigOutput

func (o FhirStoreStreamConfigOutput) ToFhirStoreStreamConfigOutput() FhirStoreStreamConfigOutput

func (FhirStoreStreamConfigOutput) ToFhirStoreStreamConfigOutputWithContext

func (o FhirStoreStreamConfigOutput) ToFhirStoreStreamConfigOutputWithContext(ctx context.Context) FhirStoreStreamConfigOutput

type 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.
	//
	// Deprecated: This field has been replaced by notificationConfigs
	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 Hl7StoreParserConfigPtrOutput `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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/pubsub"
"github.com/pulumi/pulumi/sdk/v2/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 (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"schemas\": [{\n", "    \"messageSchemaConfigs\": {\n", "      \"ADT_A01\": {\n", "        \"name\": \"ADT_A01\",\n", "        \"minOccurs\": 1,\n", "        \"maxOccurs\": 1,\n", "        \"members\": [{\n", "            \"segment\": {\n", "              \"type\": \"MSH\",\n", "              \"minOccurs\": 1,\n", "              \"maxOccurs\": 1\n", "            }\n", "          },\n", "          {\n", "            \"segment\": {\n", "              \"type\": \"EVN\",\n", "              \"minOccurs\": 1,\n", "              \"maxOccurs\": 1\n", "            }\n", "          },\n", "          {\n", "            \"segment\": {\n", "              \"type\": \"PID\",\n", "              \"minOccurs\": 1,\n", "              \"maxOccurs\": 1\n", "            }\n", "          },\n", "          {\n", "            \"segment\": {\n", "              \"type\": \"ZPD\",\n", "              \"minOccurs\": 1,\n", "              \"maxOccurs\": 1\n", "            }\n", "          },\n", "          {\n", "            \"segment\": {\n", "              \"type\": \"OBX\"\n", "            }\n", "          },\n", "          {\n", "            \"group\": {\n", "              \"name\": \"PROCEDURE\",\n", "              \"members\": [{\n", "                  \"segment\": {\n", "                    \"type\": \"PR1\",\n", "                    \"minOccurs\": 1,\n", "                    \"maxOccurs\": 1\n", "                  }\n", "                },\n", "                {\n", "                  \"segment\": {\n", "                    \"type\": \"ROL\"\n", "                  }\n", "                }\n", "              ]\n", "            }\n", "          },\n", "          {\n", "            \"segment\": {\n", "              \"type\": \"PDA\",\n", "              \"maxOccurs\": 1\n", "            }\n", "          }\n", "        ]\n", "      }\n", "    }\n", "  }],\n", "  \"types\": [{\n", "    \"type\": [{\n", "        \"name\": \"ZPD\",\n", "        \"primitive\": \"VARIES\"\n", "      }\n", "\n", "    ]\n", "  }],\n", "  \"ignoreMinOccurs\": true\n", "}\n")),
			},
		}, 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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (Hl7Store) ElementType() reflect.Type

func (Hl7Store) ToHl7StoreOutput added in v4.4.0

func (i Hl7Store) ToHl7StoreOutput() Hl7StoreOutput

func (Hl7Store) ToHl7StoreOutputWithContext added in v4.4.0

func (i Hl7Store) ToHl7StoreOutputWithContext(ctx context.Context) Hl7StoreOutput

type Hl7StoreArgs

type Hl7StoreArgs struct {
	// Identifies the dataset addressed by this request. Must be in the format
	// 'projects/{project}/locations/{location}/datasets/{dataset}'
	Dataset pulumi.StringInput
	// User-supplied key-value pairs used to organize HL7v2 stores.
	// Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must
	// conform to the following PCRE regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}
	// Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128
	// bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}
	// No more than 64 labels can be associated with a given store.
	// An object containing a list of "key": value pairs.
	// Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
	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.
	//
	// Deprecated: This field has been replaced by notificationConfigs
	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 Hl7StoreIamBinding

type Hl7StoreIamBinding struct {
	pulumi.CustomResourceState

	Condition Hl7StoreIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the HL7v2 store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringOutput      `pulumi:"hl7V2StoreId"`
	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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (Hl7StoreIamBinding) ElementType() reflect.Type

func (Hl7StoreIamBinding) ToHl7StoreIamBindingOutput added in v4.4.0

func (i Hl7StoreIamBinding) ToHl7StoreIamBindingOutput() Hl7StoreIamBindingOutput

func (Hl7StoreIamBinding) ToHl7StoreIamBindingOutputWithContext added in v4.4.0

func (i Hl7StoreIamBinding) ToHl7StoreIamBindingOutputWithContext(ctx context.Context) Hl7StoreIamBindingOutput

type Hl7StoreIamBindingArgs

type Hl7StoreIamBindingArgs struct {
	Condition Hl7StoreIamBindingConditionPtrInput
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringInput
	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 Hl7StoreIamBindingCondition

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

type Hl7StoreIamBindingConditionArgs

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

func (Hl7StoreIamBindingConditionArgs) ElementType

func (Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionOutput

func (i Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionOutput() Hl7StoreIamBindingConditionOutput

func (Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionOutputWithContext

func (i Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionOutputWithContext(ctx context.Context) Hl7StoreIamBindingConditionOutput

func (Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionPtrOutput

func (i Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionPtrOutput() Hl7StoreIamBindingConditionPtrOutput

func (Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionPtrOutputWithContext

func (i Hl7StoreIamBindingConditionArgs) ToHl7StoreIamBindingConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamBindingConditionPtrOutput

type Hl7StoreIamBindingConditionInput

type Hl7StoreIamBindingConditionInput interface {
	pulumi.Input

	ToHl7StoreIamBindingConditionOutput() Hl7StoreIamBindingConditionOutput
	ToHl7StoreIamBindingConditionOutputWithContext(context.Context) Hl7StoreIamBindingConditionOutput
}

Hl7StoreIamBindingConditionInput is an input type that accepts Hl7StoreIamBindingConditionArgs and Hl7StoreIamBindingConditionOutput values. You can construct a concrete instance of `Hl7StoreIamBindingConditionInput` via:

Hl7StoreIamBindingConditionArgs{...}

type Hl7StoreIamBindingConditionOutput

type Hl7StoreIamBindingConditionOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamBindingConditionOutput) Description

func (Hl7StoreIamBindingConditionOutput) ElementType

func (Hl7StoreIamBindingConditionOutput) Expression

func (Hl7StoreIamBindingConditionOutput) Title

func (Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionOutput

func (o Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionOutput() Hl7StoreIamBindingConditionOutput

func (Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionOutputWithContext

func (o Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionOutputWithContext(ctx context.Context) Hl7StoreIamBindingConditionOutput

func (Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionPtrOutput

func (o Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionPtrOutput() Hl7StoreIamBindingConditionPtrOutput

func (Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionPtrOutputWithContext

func (o Hl7StoreIamBindingConditionOutput) ToHl7StoreIamBindingConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamBindingConditionPtrOutput

type Hl7StoreIamBindingConditionPtrInput

type Hl7StoreIamBindingConditionPtrInput interface {
	pulumi.Input

	ToHl7StoreIamBindingConditionPtrOutput() Hl7StoreIamBindingConditionPtrOutput
	ToHl7StoreIamBindingConditionPtrOutputWithContext(context.Context) Hl7StoreIamBindingConditionPtrOutput
}

Hl7StoreIamBindingConditionPtrInput is an input type that accepts Hl7StoreIamBindingConditionArgs, Hl7StoreIamBindingConditionPtr and Hl7StoreIamBindingConditionPtrOutput values. You can construct a concrete instance of `Hl7StoreIamBindingConditionPtrInput` via:

        Hl7StoreIamBindingConditionArgs{...}

or:

        nil

type Hl7StoreIamBindingConditionPtrOutput

type Hl7StoreIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamBindingConditionPtrOutput) Description

func (Hl7StoreIamBindingConditionPtrOutput) Elem

func (Hl7StoreIamBindingConditionPtrOutput) ElementType

func (Hl7StoreIamBindingConditionPtrOutput) Expression

func (Hl7StoreIamBindingConditionPtrOutput) Title

func (Hl7StoreIamBindingConditionPtrOutput) ToHl7StoreIamBindingConditionPtrOutput

func (o Hl7StoreIamBindingConditionPtrOutput) ToHl7StoreIamBindingConditionPtrOutput() Hl7StoreIamBindingConditionPtrOutput

func (Hl7StoreIamBindingConditionPtrOutput) ToHl7StoreIamBindingConditionPtrOutputWithContext

func (o Hl7StoreIamBindingConditionPtrOutput) ToHl7StoreIamBindingConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamBindingConditionPtrOutput

type Hl7StoreIamBindingInput added in v4.4.0

type Hl7StoreIamBindingInput interface {
	pulumi.Input

	ToHl7StoreIamBindingOutput() Hl7StoreIamBindingOutput
	ToHl7StoreIamBindingOutputWithContext(ctx context.Context) Hl7StoreIamBindingOutput
}

type Hl7StoreIamBindingOutput added in v4.4.0

type Hl7StoreIamBindingOutput struct {
	*pulumi.OutputState
}

func (Hl7StoreIamBindingOutput) ElementType added in v4.4.0

func (Hl7StoreIamBindingOutput) ElementType() reflect.Type

func (Hl7StoreIamBindingOutput) ToHl7StoreIamBindingOutput added in v4.4.0

func (o Hl7StoreIamBindingOutput) ToHl7StoreIamBindingOutput() Hl7StoreIamBindingOutput

func (Hl7StoreIamBindingOutput) ToHl7StoreIamBindingOutputWithContext added in v4.4.0

func (o Hl7StoreIamBindingOutput) ToHl7StoreIamBindingOutputWithContext(ctx context.Context) Hl7StoreIamBindingOutput

type Hl7StoreIamBindingState

type Hl7StoreIamBindingState struct {
	Condition Hl7StoreIamBindingConditionPtrInput
	// (Computed) The etag of the HL7v2 store's IAM policy.
	Etag pulumi.StringPtrInput
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringPtrInput
	Members      pulumi.StringArrayInput
	// The role that should be applied. Only one
	// `healthcare.Hl7StoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (Hl7StoreIamBindingState) ElementType

func (Hl7StoreIamBindingState) ElementType() reflect.Type

type Hl7StoreIamMember

type Hl7StoreIamMember struct {
	pulumi.CustomResourceState

	Condition Hl7StoreIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the HL7v2 store's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringOutput `pulumi:"hl7V2StoreId"`
	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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (Hl7StoreIamMember) ElementType() reflect.Type

func (Hl7StoreIamMember) ToHl7StoreIamMemberOutput added in v4.4.0

func (i Hl7StoreIamMember) ToHl7StoreIamMemberOutput() Hl7StoreIamMemberOutput

func (Hl7StoreIamMember) ToHl7StoreIamMemberOutputWithContext added in v4.4.0

func (i Hl7StoreIamMember) ToHl7StoreIamMemberOutputWithContext(ctx context.Context) Hl7StoreIamMemberOutput

type Hl7StoreIamMemberArgs

type Hl7StoreIamMemberArgs struct {
	Condition Hl7StoreIamMemberConditionPtrInput
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringInput
	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 Hl7StoreIamMemberCondition

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

type Hl7StoreIamMemberConditionArgs

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

func (Hl7StoreIamMemberConditionArgs) ElementType

func (Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionOutput

func (i Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionOutput() Hl7StoreIamMemberConditionOutput

func (Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionOutputWithContext

func (i Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionOutputWithContext(ctx context.Context) Hl7StoreIamMemberConditionOutput

func (Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionPtrOutput

func (i Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionPtrOutput() Hl7StoreIamMemberConditionPtrOutput

func (Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionPtrOutputWithContext

func (i Hl7StoreIamMemberConditionArgs) ToHl7StoreIamMemberConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamMemberConditionPtrOutput

type Hl7StoreIamMemberConditionInput

type Hl7StoreIamMemberConditionInput interface {
	pulumi.Input

	ToHl7StoreIamMemberConditionOutput() Hl7StoreIamMemberConditionOutput
	ToHl7StoreIamMemberConditionOutputWithContext(context.Context) Hl7StoreIamMemberConditionOutput
}

Hl7StoreIamMemberConditionInput is an input type that accepts Hl7StoreIamMemberConditionArgs and Hl7StoreIamMemberConditionOutput values. You can construct a concrete instance of `Hl7StoreIamMemberConditionInput` via:

Hl7StoreIamMemberConditionArgs{...}

type Hl7StoreIamMemberConditionOutput

type Hl7StoreIamMemberConditionOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamMemberConditionOutput) Description

func (Hl7StoreIamMemberConditionOutput) ElementType

func (Hl7StoreIamMemberConditionOutput) Expression

func (Hl7StoreIamMemberConditionOutput) Title

func (Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionOutput

func (o Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionOutput() Hl7StoreIamMemberConditionOutput

func (Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionOutputWithContext

func (o Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionOutputWithContext(ctx context.Context) Hl7StoreIamMemberConditionOutput

func (Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionPtrOutput

func (o Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionPtrOutput() Hl7StoreIamMemberConditionPtrOutput

func (Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionPtrOutputWithContext

func (o Hl7StoreIamMemberConditionOutput) ToHl7StoreIamMemberConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamMemberConditionPtrOutput

type Hl7StoreIamMemberConditionPtrInput

type Hl7StoreIamMemberConditionPtrInput interface {
	pulumi.Input

	ToHl7StoreIamMemberConditionPtrOutput() Hl7StoreIamMemberConditionPtrOutput
	ToHl7StoreIamMemberConditionPtrOutputWithContext(context.Context) Hl7StoreIamMemberConditionPtrOutput
}

Hl7StoreIamMemberConditionPtrInput is an input type that accepts Hl7StoreIamMemberConditionArgs, Hl7StoreIamMemberConditionPtr and Hl7StoreIamMemberConditionPtrOutput values. You can construct a concrete instance of `Hl7StoreIamMemberConditionPtrInput` via:

        Hl7StoreIamMemberConditionArgs{...}

or:

        nil

type Hl7StoreIamMemberConditionPtrOutput

type Hl7StoreIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (Hl7StoreIamMemberConditionPtrOutput) Description

func (Hl7StoreIamMemberConditionPtrOutput) Elem

func (Hl7StoreIamMemberConditionPtrOutput) ElementType

func (Hl7StoreIamMemberConditionPtrOutput) Expression

func (Hl7StoreIamMemberConditionPtrOutput) Title

func (Hl7StoreIamMemberConditionPtrOutput) ToHl7StoreIamMemberConditionPtrOutput

func (o Hl7StoreIamMemberConditionPtrOutput) ToHl7StoreIamMemberConditionPtrOutput() Hl7StoreIamMemberConditionPtrOutput

func (Hl7StoreIamMemberConditionPtrOutput) ToHl7StoreIamMemberConditionPtrOutputWithContext

func (o Hl7StoreIamMemberConditionPtrOutput) ToHl7StoreIamMemberConditionPtrOutputWithContext(ctx context.Context) Hl7StoreIamMemberConditionPtrOutput

type Hl7StoreIamMemberInput added in v4.4.0

type Hl7StoreIamMemberInput interface {
	pulumi.Input

	ToHl7StoreIamMemberOutput() Hl7StoreIamMemberOutput
	ToHl7StoreIamMemberOutputWithContext(ctx context.Context) Hl7StoreIamMemberOutput
}

type Hl7StoreIamMemberOutput added in v4.4.0

type Hl7StoreIamMemberOutput struct {
	*pulumi.OutputState
}

func (Hl7StoreIamMemberOutput) ElementType added in v4.4.0

func (Hl7StoreIamMemberOutput) ElementType() reflect.Type

func (Hl7StoreIamMemberOutput) ToHl7StoreIamMemberOutput added in v4.4.0

func (o Hl7StoreIamMemberOutput) ToHl7StoreIamMemberOutput() Hl7StoreIamMemberOutput

func (Hl7StoreIamMemberOutput) ToHl7StoreIamMemberOutputWithContext added in v4.4.0

func (o Hl7StoreIamMemberOutput) ToHl7StoreIamMemberOutputWithContext(ctx context.Context) Hl7StoreIamMemberOutput

type Hl7StoreIamMemberState

type Hl7StoreIamMemberState struct {
	Condition Hl7StoreIamMemberConditionPtrInput
	// (Computed) The etag of the HL7v2 store's IAM policy.
	Etag pulumi.StringPtrInput
	// The HL7v2 store ID, in the form
	// `{project_id}/{location_name}/{dataset_name}/{hl7_v2_store_name}` or
	// `{location_name}/{dataset_name}/{hl7_v2_store_name}`. In the second form, the provider's
	// project setting will be used as a fallback.
	Hl7V2StoreId pulumi.StringPtrInput
	Member       pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `healthcare.Hl7StoreIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (Hl7StoreIamMemberState) ElementType

func (Hl7StoreIamMemberState) ElementType() reflect.Type

type Hl7StoreIamPolicy

type Hl7StoreIamPolicy struct {
	pulumi.CustomResourceState

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

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

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

> **Note:** `healthcare.Hl7StoreIamPolicy` **cannot** be used in conjunction with `healthcare.Hl7StoreIamBinding` and `healthcare.Hl7StoreIamMember` or they will fight over what your policy should be.

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

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

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/organizations"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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/v4/go/gcp/healthcare"
"github.com/pulumi/pulumi/sdk/v2/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 added in v4.4.0

func (Hl7StoreIamPolicy) ElementType() reflect.Type

func (Hl7StoreIamPolicy) ToHl7StoreIamPolicyOutput added in v4.4.0

func (i Hl7StoreIamPolicy) ToHl7StoreIamPolicyOutput() Hl7StoreIamPolicyOutput

func (Hl7StoreIamPolicy) ToHl7StoreIamPolicyOutputWithContext added in v4.4.0

func (i Hl7StoreIamPolicy) ToHl7StoreIamPolicyOutputWithContext(ctx context.Context) Hl7StoreIamPolicyOutput

type Hl7StoreIamPolicyArgs

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

The set of arguments for constructing a Hl7StoreIamPolicy resource.

func (Hl7StoreIamPolicyArgs) ElementType

func (Hl7StoreIamPolicyArgs) ElementType() reflect.Type

type Hl7StoreIamPolicyInput added in v4.4.0

type Hl7StoreIamPolicyInput interface {
	pulumi.Input

	ToHl7StoreIamPolicyOutput() Hl7StoreIamPolicyOutput
	ToHl7StoreIamPolicyOutputWithContext(ctx context.Context) Hl7StoreIamPolicyOutput
}

type Hl7StoreIamPolicyOutput added in v4.4.0

type Hl7StoreIamPolicyOutput struct {
	*pulumi.OutputState
}

func (Hl7StoreIamPolicyOutput) ElementType added in v4.4.0

func (Hl7StoreIamPolicyOutput) ElementType() reflect.Type

func (Hl7StoreIamPolicyOutput) ToHl7StoreIamPolicyOutput added in v4.4.0

func (o Hl7StoreIamPolicyOutput) ToHl7StoreIamPolicyOutput() Hl7StoreIamPolicyOutput

func (Hl7StoreIamPolicyOutput) ToHl7StoreIamPolicyOutputWithContext added in v4.4.0

func (o Hl7StoreIamPolicyOutput) ToHl7StoreIamPolicyOutputWithContext(ctx context.Context) Hl7StoreIamPolicyOutput

type Hl7StoreIamPolicyState

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

func (Hl7StoreIamPolicyState) ElementType

func (Hl7StoreIamPolicyState) ElementType() reflect.Type

type Hl7StoreInput added in v4.4.0

type Hl7StoreInput interface {
	pulumi.Input

	ToHl7StoreOutput() Hl7StoreOutput
	ToHl7StoreOutputWithContext(ctx context.Context) Hl7StoreOutput
}

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. cloud-healthcare@system.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. cloud-healthcare@system.gserviceaccount.com must have publisher permissions on the given
	// Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
	PubsubTopic pulumi.StringInput `pulumi:"pubsubTopic"`
}

func (Hl7StoreNotificationConfigArgs) ElementType

func (Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigOutput

func (i Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigOutput() Hl7StoreNotificationConfigOutput

func (Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigOutputWithContext

func (i Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigOutput

func (Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigPtrOutput

func (i Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigPtrOutput() Hl7StoreNotificationConfigPtrOutput

func (Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigPtrOutputWithContext

func (i Hl7StoreNotificationConfigArgs) ToHl7StoreNotificationConfigPtrOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigPtrOutput

type Hl7StoreNotificationConfigInput

type Hl7StoreNotificationConfigInput interface {
	pulumi.Input

	ToHl7StoreNotificationConfigOutput() Hl7StoreNotificationConfigOutput
	ToHl7StoreNotificationConfigOutputWithContext(context.Context) Hl7StoreNotificationConfigOutput
}

Hl7StoreNotificationConfigInput is an input type that accepts Hl7StoreNotificationConfigArgs and Hl7StoreNotificationConfigOutput values. You can construct a concrete instance of `Hl7StoreNotificationConfigInput` via:

Hl7StoreNotificationConfigArgs{...}

type Hl7StoreNotificationConfigOutput

type Hl7StoreNotificationConfigOutput struct{ *pulumi.OutputState }

func (Hl7StoreNotificationConfigOutput) ElementType

func (Hl7StoreNotificationConfigOutput) PubsubTopic

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

func (Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigOutput

func (o Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigOutput() Hl7StoreNotificationConfigOutput

func (Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigOutputWithContext

func (o Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigOutput

func (Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigPtrOutput

func (o Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigPtrOutput() Hl7StoreNotificationConfigPtrOutput

func (Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigPtrOutputWithContext

func (o Hl7StoreNotificationConfigOutput) ToHl7StoreNotificationConfigPtrOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigPtrOutput

type Hl7StoreNotificationConfigPtrInput

type Hl7StoreNotificationConfigPtrInput interface {
	pulumi.Input

	ToHl7StoreNotificationConfigPtrOutput() Hl7StoreNotificationConfigPtrOutput
	ToHl7StoreNotificationConfigPtrOutputWithContext(context.Context) Hl7StoreNotificationConfigPtrOutput
}

Hl7StoreNotificationConfigPtrInput is an input type that accepts Hl7StoreNotificationConfigArgs, Hl7StoreNotificationConfigPtr and Hl7StoreNotificationConfigPtrOutput values. You can construct a concrete instance of `Hl7StoreNotificationConfigPtrInput` via:

        Hl7StoreNotificationConfigArgs{...}

or:

        nil

type Hl7StoreNotificationConfigPtrOutput

type Hl7StoreNotificationConfigPtrOutput struct{ *pulumi.OutputState }

func (Hl7StoreNotificationConfigPtrOutput) Elem

func (Hl7StoreNotificationConfigPtrOutput) ElementType

func (Hl7StoreNotificationConfigPtrOutput) PubsubTopic

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

func (Hl7StoreNotificationConfigPtrOutput) ToHl7StoreNotificationConfigPtrOutput

func (o Hl7StoreNotificationConfigPtrOutput) ToHl7StoreNotificationConfigPtrOutput() Hl7StoreNotificationConfigPtrOutput

func (Hl7StoreNotificationConfigPtrOutput) ToHl7StoreNotificationConfigPtrOutputWithContext

func (o Hl7StoreNotificationConfigPtrOutput) ToHl7StoreNotificationConfigPtrOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigPtrOutput

type Hl7StoreNotificationConfigs

type Hl7StoreNotificationConfigs struct {
	// Restricts notifications sent for messages matching a filter. If this is empty, all messages
	// are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings
	// Fields/functions available for filtering are:
	// * messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT".
	// * sendDate or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, sendDate < "2017-01-02".
	// * sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00".
	// * sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC".
	// * PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN").
	// * labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*.
	Filter *string `pulumi:"filter"`
	// The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
	// PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
	// It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
	// was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
	// project. cloud-healthcare@system.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 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. cloud-healthcare@system.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 (Hl7StoreNotificationConfigsArgs) ElementType

func (Hl7StoreNotificationConfigsArgs) ToHl7StoreNotificationConfigsOutput

func (i Hl7StoreNotificationConfigsArgs) ToHl7StoreNotificationConfigsOutput() Hl7StoreNotificationConfigsOutput

func (Hl7StoreNotificationConfigsArgs) ToHl7StoreNotificationConfigsOutputWithContext

func (i Hl7StoreNotificationConfigsArgs) ToHl7StoreNotificationConfigsOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigsOutput

type Hl7StoreNotificationConfigsArray

type Hl7StoreNotificationConfigsArray []Hl7StoreNotificationConfigsInput

func (Hl7StoreNotificationConfigsArray) ElementType

func (Hl7StoreNotificationConfigsArray) ToHl7StoreNotificationConfigsArrayOutput

func (i Hl7StoreNotificationConfigsArray) ToHl7StoreNotificationConfigsArrayOutput() Hl7StoreNotificationConfigsArrayOutput

func (Hl7StoreNotificationConfigsArray) ToHl7StoreNotificationConfigsArrayOutputWithContext

func (i Hl7StoreNotificationConfigsArray) ToHl7StoreNotificationConfigsArrayOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigsArrayOutput

type Hl7StoreNotificationConfigsArrayInput

type Hl7StoreNotificationConfigsArrayInput interface {
	pulumi.Input

	ToHl7StoreNotificationConfigsArrayOutput() Hl7StoreNotificationConfigsArrayOutput
	ToHl7StoreNotificationConfigsArrayOutputWithContext(context.Context) Hl7StoreNotificationConfigsArrayOutput
}

Hl7StoreNotificationConfigsArrayInput is an input type that accepts Hl7StoreNotificationConfigsArray and Hl7StoreNotificationConfigsArrayOutput values. You can construct a concrete instance of `Hl7StoreNotificationConfigsArrayInput` via:

Hl7StoreNotificationConfigsArray{ Hl7StoreNotificationConfigsArgs{...} }

type Hl7StoreNotificationConfigsArrayOutput

type Hl7StoreNotificationConfigsArrayOutput struct{ *pulumi.OutputState }

func (Hl7StoreNotificationConfigsArrayOutput) ElementType

func (Hl7StoreNotificationConfigsArrayOutput) Index

func (Hl7StoreNotificationConfigsArrayOutput) ToHl7StoreNotificationConfigsArrayOutput

func (o Hl7StoreNotificationConfigsArrayOutput) ToHl7StoreNotificationConfigsArrayOutput() Hl7StoreNotificationConfigsArrayOutput

func (Hl7StoreNotificationConfigsArrayOutput) ToHl7StoreNotificationConfigsArrayOutputWithContext

func (o Hl7StoreNotificationConfigsArrayOutput) ToHl7StoreNotificationConfigsArrayOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigsArrayOutput

type Hl7StoreNotificationConfigsInput

type Hl7StoreNotificationConfigsInput interface {
	pulumi.Input

	ToHl7StoreNotificationConfigsOutput() Hl7StoreNotificationConfigsOutput
	ToHl7StoreNotificationConfigsOutputWithContext(context.Context) Hl7StoreNotificationConfigsOutput
}

Hl7StoreNotificationConfigsInput is an input type that accepts Hl7StoreNotificationConfigsArgs and Hl7StoreNotificationConfigsOutput values. You can construct a concrete instance of `Hl7StoreNotificationConfigsInput` via:

Hl7StoreNotificationConfigsArgs{...}

type Hl7StoreNotificationConfigsOutput

type Hl7StoreNotificationConfigsOutput struct{ *pulumi.OutputState }

func (Hl7StoreNotificationConfigsOutput) ElementType

func (Hl7StoreNotificationConfigsOutput) Filter

Restricts notifications sent for messages matching a filter. If this is empty, all messages are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings Fields/functions available for filtering are: * messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT". * sendDate or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, sendDate < "2017-01-02". * sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00". * sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC". * PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN"). * labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*.

func (Hl7StoreNotificationConfigsOutput) PubsubTopic

The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client. PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message. It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a project. cloud-healthcare@system.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 (Hl7StoreNotificationConfigsOutput) ToHl7StoreNotificationConfigsOutput

func (o Hl7StoreNotificationConfigsOutput) ToHl7StoreNotificationConfigsOutput() Hl7StoreNotificationConfigsOutput

func (Hl7StoreNotificationConfigsOutput) ToHl7StoreNotificationConfigsOutputWithContext

func (o Hl7StoreNotificationConfigsOutput) ToHl7StoreNotificationConfigsOutputWithContext(ctx context.Context) Hl7StoreNotificationConfigsOutput

type Hl7StoreOutput added in v4.4.0

type Hl7StoreOutput struct {
	*pulumi.OutputState
}

func (Hl7StoreOutput) ElementType added in v4.4.0

func (Hl7StoreOutput) ElementType() reflect.Type

func (Hl7StoreOutput) ToHl7StoreOutput added in v4.4.0

func (o Hl7StoreOutput) ToHl7StoreOutput() Hl7StoreOutput

func (Hl7StoreOutput) ToHl7StoreOutputWithContext added in v4.4.0

func (o Hl7StoreOutput) ToHl7StoreOutputWithContext(ctx context.Context) Hl7StoreOutput

type Hl7StoreParserConfig

type Hl7StoreParserConfig struct {
	// Determines whether messages with no header are allowed.
	AllowNullHeader *bool `pulumi:"allowNullHeader"`
	// JSON encoded string for schemas used to parse messages in this
	// store if schematized parsing is desired.
	Schema *string `pulumi:"schema"`
	// Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator.
	// A base64-encoded string.
	SegmentTerminator *string `pulumi:"segmentTerminator"`
	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"`
	Version           pulumi.StringPtrInput `pulumi:"version"`
}

func (Hl7StoreParserConfigArgs) ElementType

func (Hl7StoreParserConfigArgs) ElementType() reflect.Type

func (Hl7StoreParserConfigArgs) ToHl7StoreParserConfigOutput

func (i Hl7StoreParserConfigArgs) ToHl7StoreParserConfigOutput() Hl7StoreParserConfigOutput

func (Hl7StoreParserConfigArgs) ToHl7StoreParserConfigOutputWithContext

func (i Hl7StoreParserConfigArgs) ToHl7StoreParserConfigOutputWithContext(ctx context.Context) Hl7StoreParserConfigOutput

func (Hl7StoreParserConfigArgs) ToHl7StoreParserConfigPtrOutput

func (i Hl7StoreParserConfigArgs) ToHl7StoreParserConfigPtrOutput() Hl7StoreParserConfigPtrOutput

func (Hl7StoreParserConfigArgs) ToHl7StoreParserConfigPtrOutputWithContext

func (i Hl7StoreParserConfigArgs) ToHl7StoreParserConfigPtrOutputWithContext(ctx context.Context) Hl7StoreParserConfigPtrOutput

type Hl7StoreParserConfigInput

type Hl7StoreParserConfigInput interface {
	pulumi.Input

	ToHl7StoreParserConfigOutput() Hl7StoreParserConfigOutput
	ToHl7StoreParserConfigOutputWithContext(context.Context) Hl7StoreParserConfigOutput
}

Hl7StoreParserConfigInput is an input type that accepts Hl7StoreParserConfigArgs and Hl7StoreParserConfigOutput values. You can construct a concrete instance of `Hl7StoreParserConfigInput` via:

Hl7StoreParserConfigArgs{...}

type Hl7StoreParserConfigOutput

type Hl7StoreParserConfigOutput struct{ *pulumi.OutputState }

func (Hl7StoreParserConfigOutput) AllowNullHeader

func (o Hl7StoreParserConfigOutput) AllowNullHeader() pulumi.BoolPtrOutput

Determines whether messages with no header are allowed.

func (Hl7StoreParserConfigOutput) ElementType

func (Hl7StoreParserConfigOutput) ElementType() reflect.Type

func (Hl7StoreParserConfigOutput) Schema

JSON encoded string for schemas used to parse messages in this store if schematized parsing is desired.

func (Hl7StoreParserConfigOutput) SegmentTerminator

func (o Hl7StoreParserConfigOutput) SegmentTerminator() pulumi.StringPtrOutput

Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator. A base64-encoded string.

func (Hl7StoreParserConfigOutput) ToHl7StoreParserConfigOutput

func (o Hl7StoreParserConfigOutput) ToHl7StoreParserConfigOutput() Hl7StoreParserConfigOutput

func (Hl7StoreParserConfigOutput) ToHl7StoreParserConfigOutputWithContext

func (o Hl7StoreParserConfigOutput) ToHl7StoreParserConfigOutputWithContext(ctx context.Context) Hl7StoreParserConfigOutput

func (Hl7StoreParserConfigOutput) ToHl7StoreParserConfigPtrOutput

func (o Hl7StoreParserConfigOutput) ToHl7StoreParserConfigPtrOutput() Hl7StoreParserConfigPtrOutput

func (Hl7StoreParserConfigOutput) ToHl7StoreParserConfigPtrOutputWithContext

func (o Hl7StoreParserConfigOutput) ToHl7StoreParserConfigPtrOutputWithContext(ctx context.Context) Hl7StoreParserConfigPtrOutput

func (Hl7StoreParserConfigOutput) Version

type Hl7StoreParserConfigPtrInput

type Hl7StoreParserConfigPtrInput interface {
	pulumi.Input

	ToHl7StoreParserConfigPtrOutput() Hl7StoreParserConfigPtrOutput
	ToHl7StoreParserConfigPtrOutputWithContext(context.Context) Hl7StoreParserConfigPtrOutput
}

Hl7StoreParserConfigPtrInput is an input type that accepts Hl7StoreParserConfigArgs, Hl7StoreParserConfigPtr and Hl7StoreParserConfigPtrOutput values. You can construct a concrete instance of `Hl7StoreParserConfigPtrInput` via:

        Hl7StoreParserConfigArgs{...}

or:

        nil

type Hl7StoreParserConfigPtrOutput

type Hl7StoreParserConfigPtrOutput struct{ *pulumi.OutputState }

func (Hl7StoreParserConfigPtrOutput) AllowNullHeader

Determines whether messages with no header are allowed.

func (Hl7StoreParserConfigPtrOutput) Elem

func (Hl7StoreParserConfigPtrOutput) ElementType

func (Hl7StoreParserConfigPtrOutput) Schema

JSON encoded string for schemas used to parse messages in this store if schematized parsing is desired.

func (Hl7StoreParserConfigPtrOutput) SegmentTerminator

Byte(s) to be used as the segment terminator. If this is unset, '\r' will be used as segment terminator. A base64-encoded string.

func (Hl7StoreParserConfigPtrOutput) ToHl7StoreParserConfigPtrOutput

func (o Hl7StoreParserConfigPtrOutput) ToHl7StoreParserConfigPtrOutput() Hl7StoreParserConfigPtrOutput

func (Hl7StoreParserConfigPtrOutput) ToHl7StoreParserConfigPtrOutputWithContext

func (o Hl7StoreParserConfigPtrOutput) ToHl7StoreParserConfigPtrOutputWithContext(ctx context.Context) Hl7StoreParserConfigPtrOutput

func (Hl7StoreParserConfigPtrOutput) Version

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.
	//
	// Deprecated: This field has been replaced by notificationConfigs
	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

Jump to

Keyboard shortcuts

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