dataplex

package
v6.58.0 Latest Latest
Warning

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

Go to latest
Published: Jun 6, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Asset added in v6.34.0

type Asset struct {
	pulumi.CustomResourceState

	// Output only. The time when the asset was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The zone for the resource
	DataplexZone pulumi.StringOutput `pulumi:"dataplexZone"`
	// Optional. Description of the asset.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Required. Specification of the discovery feature applied to data referenced by this asset. When this spec is left unset, the asset will use the spec set on the parent zone.
	DiscoverySpec AssetDiscoverySpecOutput `pulumi:"discoverySpec"`
	// Output only. Status of the discovery feature applied to data referenced by this asset.
	DiscoveryStatuses AssetDiscoveryStatusArrayOutput `pulumi:"discoveryStatuses"`
	// Optional. User friendly display name.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// Optional. User defined labels for the asset.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The lake for the resource
	Lake pulumi.StringOutput `pulumi:"lake"`
	// The location for the resource
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the asset.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project for the resource
	Project pulumi.StringOutput `pulumi:"project"`
	// Required. Immutable. Specification of the resource that is referenced by this asset.
	ResourceSpec AssetResourceSpecOutput `pulumi:"resourceSpec"`
	// Output only. Status of the resource referenced by this asset.
	ResourceStatuses AssetResourceStatusArrayOutput `pulumi:"resourceStatuses"`
	// Output only. Status of the security policy applied to resource referenced by this asset.
	SecurityStatuses AssetSecurityStatusArrayOutput `pulumi:"securityStatuses"`
	// Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State pulumi.StringOutput `pulumi:"state"`
	// Output only. System generated globally unique ID for the asset. This ID will be different if the asset is deleted and re-created with the same name.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// Output only. The time when the asset was last updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

The Dataplex Asset resource

## Example Usage ### Basic_asset ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		basicBucket, err := storage.NewBucket(ctx, "basicBucket", &storage.BucketArgs{
			Location:                 pulumi.String("us-west1"),
			UniformBucketLevelAccess: pulumi.Bool(true),
			Project:                  pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		basicLake, err := dataplex.NewLake(ctx, "basicLake", &dataplex.LakeArgs{
			Location: pulumi.String("us-west1"),
			Project:  pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		basicZone, err := dataplex.NewZone(ctx, "basicZone", &dataplex.ZoneArgs{
			Location: pulumi.String("us-west1"),
			Lake:     basicLake.Name,
			Type:     pulumi.String("RAW"),
			DiscoverySpec: &dataplex.ZoneDiscoverySpecArgs{
				Enabled: pulumi.Bool(false),
			},
			ResourceSpec: &dataplex.ZoneResourceSpecArgs{
				LocationType: pulumi.String("SINGLE_REGION"),
			},
			Project: pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		_, err = dataplex.NewAsset(ctx, "primary", &dataplex.AssetArgs{
			Location:     pulumi.String("us-west1"),
			Lake:         basicLake.Name,
			DataplexZone: basicZone.Name,
			DiscoverySpec: &dataplex.AssetDiscoverySpecArgs{
				Enabled: pulumi.Bool(false),
			},
			ResourceSpec: &dataplex.AssetResourceSpecArgs{
				Name: pulumi.String("projects/my-project-name/buckets/bucket"),
				Type: pulumi.String("STORAGE_BUCKET"),
			},
			Project: pulumi.String("my-project-name"),
		}, pulumi.DependsOn([]pulumi.Resource{
			basicBucket,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Asset can be imported using any of these accepted formats

```sh

$ pulumi import gcp:dataplex/asset:Asset default projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{name}}

```

```sh

$ pulumi import gcp:dataplex/asset:Asset default {{project}}/{{location}}/{{lake}}/{{dataplex_zone}}/{{name}}

```

```sh

$ pulumi import gcp:dataplex/asset:Asset default {{location}}/{{lake}}/{{dataplex_zone}}/{{name}}

```

func GetAsset added in v6.34.0

func GetAsset(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AssetState, opts ...pulumi.ResourceOption) (*Asset, error)

GetAsset gets an existing Asset 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 NewAsset added in v6.34.0

func NewAsset(ctx *pulumi.Context,
	name string, args *AssetArgs, opts ...pulumi.ResourceOption) (*Asset, error)

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

func (*Asset) ElementType added in v6.34.0

func (*Asset) ElementType() reflect.Type

func (*Asset) ToAssetOutput added in v6.34.0

func (i *Asset) ToAssetOutput() AssetOutput

func (*Asset) ToAssetOutputWithContext added in v6.34.0

func (i *Asset) ToAssetOutputWithContext(ctx context.Context) AssetOutput

type AssetArgs added in v6.34.0

type AssetArgs struct {
	// The zone for the resource
	DataplexZone pulumi.StringInput
	// Optional. Description of the asset.
	Description pulumi.StringPtrInput
	// Required. Specification of the discovery feature applied to data referenced by this asset. When this spec is left unset, the asset will use the spec set on the parent zone.
	DiscoverySpec AssetDiscoverySpecInput
	// Optional. User friendly display name.
	DisplayName pulumi.StringPtrInput
	// Optional. User defined labels for the asset.
	Labels pulumi.StringMapInput
	// The lake for the resource
	Lake pulumi.StringInput
	// The location for the resource
	Location pulumi.StringInput
	// The name of the asset.
	Name pulumi.StringPtrInput
	// The project for the resource
	Project pulumi.StringPtrInput
	// Required. Immutable. Specification of the resource that is referenced by this asset.
	ResourceSpec AssetResourceSpecInput
}

The set of arguments for constructing a Asset resource.

func (AssetArgs) ElementType added in v6.34.0

func (AssetArgs) ElementType() reflect.Type

type AssetArray added in v6.34.0

type AssetArray []AssetInput

func (AssetArray) ElementType added in v6.34.0

func (AssetArray) ElementType() reflect.Type

func (AssetArray) ToAssetArrayOutput added in v6.34.0

func (i AssetArray) ToAssetArrayOutput() AssetArrayOutput

func (AssetArray) ToAssetArrayOutputWithContext added in v6.34.0

func (i AssetArray) ToAssetArrayOutputWithContext(ctx context.Context) AssetArrayOutput

type AssetArrayInput added in v6.34.0

type AssetArrayInput interface {
	pulumi.Input

	ToAssetArrayOutput() AssetArrayOutput
	ToAssetArrayOutputWithContext(context.Context) AssetArrayOutput
}

AssetArrayInput is an input type that accepts AssetArray and AssetArrayOutput values. You can construct a concrete instance of `AssetArrayInput` via:

AssetArray{ AssetArgs{...} }

type AssetArrayOutput added in v6.34.0

type AssetArrayOutput struct{ *pulumi.OutputState }

func (AssetArrayOutput) ElementType added in v6.34.0

func (AssetArrayOutput) ElementType() reflect.Type

func (AssetArrayOutput) Index added in v6.34.0

func (AssetArrayOutput) ToAssetArrayOutput added in v6.34.0

func (o AssetArrayOutput) ToAssetArrayOutput() AssetArrayOutput

func (AssetArrayOutput) ToAssetArrayOutputWithContext added in v6.34.0

func (o AssetArrayOutput) ToAssetArrayOutputWithContext(ctx context.Context) AssetArrayOutput

type AssetDiscoverySpec added in v6.34.0

type AssetDiscoverySpec struct {
	// Optional. Configuration for CSV data.
	CsvOptions *AssetDiscoverySpecCsvOptions `pulumi:"csvOptions"`
	// Required. Whether discovery is enabled.
	Enabled bool `pulumi:"enabled"`
	// Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.
	ExcludePatterns []string `pulumi:"excludePatterns"`
	// Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.
	IncludePatterns []string `pulumi:"includePatterns"`
	// Optional. Configuration for Json data.
	JsonOptions *AssetDiscoverySpecJsonOptions `pulumi:"jsonOptions"`
	// Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".
	Schedule *string `pulumi:"schedule"`
}

type AssetDiscoverySpecArgs added in v6.34.0

type AssetDiscoverySpecArgs struct {
	// Optional. Configuration for CSV data.
	CsvOptions AssetDiscoverySpecCsvOptionsPtrInput `pulumi:"csvOptions"`
	// Required. Whether discovery is enabled.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.
	ExcludePatterns pulumi.StringArrayInput `pulumi:"excludePatterns"`
	// Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.
	IncludePatterns pulumi.StringArrayInput `pulumi:"includePatterns"`
	// Optional. Configuration for Json data.
	JsonOptions AssetDiscoverySpecJsonOptionsPtrInput `pulumi:"jsonOptions"`
	// Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".
	Schedule pulumi.StringPtrInput `pulumi:"schedule"`
}

func (AssetDiscoverySpecArgs) ElementType added in v6.34.0

func (AssetDiscoverySpecArgs) ElementType() reflect.Type

func (AssetDiscoverySpecArgs) ToAssetDiscoverySpecOutput added in v6.34.0

func (i AssetDiscoverySpecArgs) ToAssetDiscoverySpecOutput() AssetDiscoverySpecOutput

func (AssetDiscoverySpecArgs) ToAssetDiscoverySpecOutputWithContext added in v6.34.0

func (i AssetDiscoverySpecArgs) ToAssetDiscoverySpecOutputWithContext(ctx context.Context) AssetDiscoverySpecOutput

func (AssetDiscoverySpecArgs) ToAssetDiscoverySpecPtrOutput added in v6.34.0

func (i AssetDiscoverySpecArgs) ToAssetDiscoverySpecPtrOutput() AssetDiscoverySpecPtrOutput

func (AssetDiscoverySpecArgs) ToAssetDiscoverySpecPtrOutputWithContext added in v6.34.0

func (i AssetDiscoverySpecArgs) ToAssetDiscoverySpecPtrOutputWithContext(ctx context.Context) AssetDiscoverySpecPtrOutput

type AssetDiscoverySpecCsvOptions added in v6.34.0

type AssetDiscoverySpecCsvOptions struct {
	// Optional. The delimiter being used to separate values. This defaults to ','.
	Delimiter *string `pulumi:"delimiter"`
	// Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.
	DisableTypeInference *bool `pulumi:"disableTypeInference"`
	// Optional. The character encoding of the data. The default is UTF-8.
	Encoding *string `pulumi:"encoding"`
	// Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.
	HeaderRows *int `pulumi:"headerRows"`
}

type AssetDiscoverySpecCsvOptionsArgs added in v6.34.0

type AssetDiscoverySpecCsvOptionsArgs struct {
	// Optional. The delimiter being used to separate values. This defaults to ','.
	Delimiter pulumi.StringPtrInput `pulumi:"delimiter"`
	// Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.
	DisableTypeInference pulumi.BoolPtrInput `pulumi:"disableTypeInference"`
	// Optional. The character encoding of the data. The default is UTF-8.
	Encoding pulumi.StringPtrInput `pulumi:"encoding"`
	// Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.
	HeaderRows pulumi.IntPtrInput `pulumi:"headerRows"`
}

func (AssetDiscoverySpecCsvOptionsArgs) ElementType added in v6.34.0

func (AssetDiscoverySpecCsvOptionsArgs) ToAssetDiscoverySpecCsvOptionsOutput added in v6.34.0

func (i AssetDiscoverySpecCsvOptionsArgs) ToAssetDiscoverySpecCsvOptionsOutput() AssetDiscoverySpecCsvOptionsOutput

func (AssetDiscoverySpecCsvOptionsArgs) ToAssetDiscoverySpecCsvOptionsOutputWithContext added in v6.34.0

func (i AssetDiscoverySpecCsvOptionsArgs) ToAssetDiscoverySpecCsvOptionsOutputWithContext(ctx context.Context) AssetDiscoverySpecCsvOptionsOutput

func (AssetDiscoverySpecCsvOptionsArgs) ToAssetDiscoverySpecCsvOptionsPtrOutput added in v6.34.0

func (i AssetDiscoverySpecCsvOptionsArgs) ToAssetDiscoverySpecCsvOptionsPtrOutput() AssetDiscoverySpecCsvOptionsPtrOutput

func (AssetDiscoverySpecCsvOptionsArgs) ToAssetDiscoverySpecCsvOptionsPtrOutputWithContext added in v6.34.0

func (i AssetDiscoverySpecCsvOptionsArgs) ToAssetDiscoverySpecCsvOptionsPtrOutputWithContext(ctx context.Context) AssetDiscoverySpecCsvOptionsPtrOutput

type AssetDiscoverySpecCsvOptionsInput added in v6.34.0

type AssetDiscoverySpecCsvOptionsInput interface {
	pulumi.Input

	ToAssetDiscoverySpecCsvOptionsOutput() AssetDiscoverySpecCsvOptionsOutput
	ToAssetDiscoverySpecCsvOptionsOutputWithContext(context.Context) AssetDiscoverySpecCsvOptionsOutput
}

AssetDiscoverySpecCsvOptionsInput is an input type that accepts AssetDiscoverySpecCsvOptionsArgs and AssetDiscoverySpecCsvOptionsOutput values. You can construct a concrete instance of `AssetDiscoverySpecCsvOptionsInput` via:

AssetDiscoverySpecCsvOptionsArgs{...}

type AssetDiscoverySpecCsvOptionsOutput added in v6.34.0

type AssetDiscoverySpecCsvOptionsOutput struct{ *pulumi.OutputState }

func (AssetDiscoverySpecCsvOptionsOutput) Delimiter added in v6.34.0

Optional. The delimiter being used to separate values. This defaults to ','.

func (AssetDiscoverySpecCsvOptionsOutput) DisableTypeInference added in v6.34.0

func (o AssetDiscoverySpecCsvOptionsOutput) DisableTypeInference() pulumi.BoolPtrOutput

Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.

func (AssetDiscoverySpecCsvOptionsOutput) ElementType added in v6.34.0

func (AssetDiscoverySpecCsvOptionsOutput) Encoding added in v6.34.0

Optional. The character encoding of the data. The default is UTF-8.

func (AssetDiscoverySpecCsvOptionsOutput) HeaderRows added in v6.34.0

Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.

func (AssetDiscoverySpecCsvOptionsOutput) ToAssetDiscoverySpecCsvOptionsOutput added in v6.34.0

func (o AssetDiscoverySpecCsvOptionsOutput) ToAssetDiscoverySpecCsvOptionsOutput() AssetDiscoverySpecCsvOptionsOutput

func (AssetDiscoverySpecCsvOptionsOutput) ToAssetDiscoverySpecCsvOptionsOutputWithContext added in v6.34.0

func (o AssetDiscoverySpecCsvOptionsOutput) ToAssetDiscoverySpecCsvOptionsOutputWithContext(ctx context.Context) AssetDiscoverySpecCsvOptionsOutput

func (AssetDiscoverySpecCsvOptionsOutput) ToAssetDiscoverySpecCsvOptionsPtrOutput added in v6.34.0

func (o AssetDiscoverySpecCsvOptionsOutput) ToAssetDiscoverySpecCsvOptionsPtrOutput() AssetDiscoverySpecCsvOptionsPtrOutput

func (AssetDiscoverySpecCsvOptionsOutput) ToAssetDiscoverySpecCsvOptionsPtrOutputWithContext added in v6.34.0

func (o AssetDiscoverySpecCsvOptionsOutput) ToAssetDiscoverySpecCsvOptionsPtrOutputWithContext(ctx context.Context) AssetDiscoverySpecCsvOptionsPtrOutput

type AssetDiscoverySpecCsvOptionsPtrInput added in v6.34.0

type AssetDiscoverySpecCsvOptionsPtrInput interface {
	pulumi.Input

	ToAssetDiscoverySpecCsvOptionsPtrOutput() AssetDiscoverySpecCsvOptionsPtrOutput
	ToAssetDiscoverySpecCsvOptionsPtrOutputWithContext(context.Context) AssetDiscoverySpecCsvOptionsPtrOutput
}

AssetDiscoverySpecCsvOptionsPtrInput is an input type that accepts AssetDiscoverySpecCsvOptionsArgs, AssetDiscoverySpecCsvOptionsPtr and AssetDiscoverySpecCsvOptionsPtrOutput values. You can construct a concrete instance of `AssetDiscoverySpecCsvOptionsPtrInput` via:

        AssetDiscoverySpecCsvOptionsArgs{...}

or:

        nil

func AssetDiscoverySpecCsvOptionsPtr added in v6.34.0

type AssetDiscoverySpecCsvOptionsPtrOutput added in v6.34.0

type AssetDiscoverySpecCsvOptionsPtrOutput struct{ *pulumi.OutputState }

func (AssetDiscoverySpecCsvOptionsPtrOutput) Delimiter added in v6.34.0

Optional. The delimiter being used to separate values. This defaults to ','.

func (AssetDiscoverySpecCsvOptionsPtrOutput) DisableTypeInference added in v6.34.0

Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.

func (AssetDiscoverySpecCsvOptionsPtrOutput) Elem added in v6.34.0

func (AssetDiscoverySpecCsvOptionsPtrOutput) ElementType added in v6.34.0

func (AssetDiscoverySpecCsvOptionsPtrOutput) Encoding added in v6.34.0

Optional. The character encoding of the data. The default is UTF-8.

func (AssetDiscoverySpecCsvOptionsPtrOutput) HeaderRows added in v6.34.0

Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.

func (AssetDiscoverySpecCsvOptionsPtrOutput) ToAssetDiscoverySpecCsvOptionsPtrOutput added in v6.34.0

func (o AssetDiscoverySpecCsvOptionsPtrOutput) ToAssetDiscoverySpecCsvOptionsPtrOutput() AssetDiscoverySpecCsvOptionsPtrOutput

func (AssetDiscoverySpecCsvOptionsPtrOutput) ToAssetDiscoverySpecCsvOptionsPtrOutputWithContext added in v6.34.0

func (o AssetDiscoverySpecCsvOptionsPtrOutput) ToAssetDiscoverySpecCsvOptionsPtrOutputWithContext(ctx context.Context) AssetDiscoverySpecCsvOptionsPtrOutput

type AssetDiscoverySpecInput added in v6.34.0

type AssetDiscoverySpecInput interface {
	pulumi.Input

	ToAssetDiscoverySpecOutput() AssetDiscoverySpecOutput
	ToAssetDiscoverySpecOutputWithContext(context.Context) AssetDiscoverySpecOutput
}

AssetDiscoverySpecInput is an input type that accepts AssetDiscoverySpecArgs and AssetDiscoverySpecOutput values. You can construct a concrete instance of `AssetDiscoverySpecInput` via:

AssetDiscoverySpecArgs{...}

type AssetDiscoverySpecJsonOptions added in v6.34.0

type AssetDiscoverySpecJsonOptions struct {
	// Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).
	DisableTypeInference *bool `pulumi:"disableTypeInference"`
	// Optional. The character encoding of the data. The default is UTF-8.
	Encoding *string `pulumi:"encoding"`
}

type AssetDiscoverySpecJsonOptionsArgs added in v6.34.0

type AssetDiscoverySpecJsonOptionsArgs struct {
	// Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).
	DisableTypeInference pulumi.BoolPtrInput `pulumi:"disableTypeInference"`
	// Optional. The character encoding of the data. The default is UTF-8.
	Encoding pulumi.StringPtrInput `pulumi:"encoding"`
}

func (AssetDiscoverySpecJsonOptionsArgs) ElementType added in v6.34.0

func (AssetDiscoverySpecJsonOptionsArgs) ToAssetDiscoverySpecJsonOptionsOutput added in v6.34.0

func (i AssetDiscoverySpecJsonOptionsArgs) ToAssetDiscoverySpecJsonOptionsOutput() AssetDiscoverySpecJsonOptionsOutput

func (AssetDiscoverySpecJsonOptionsArgs) ToAssetDiscoverySpecJsonOptionsOutputWithContext added in v6.34.0

func (i AssetDiscoverySpecJsonOptionsArgs) ToAssetDiscoverySpecJsonOptionsOutputWithContext(ctx context.Context) AssetDiscoverySpecJsonOptionsOutput

func (AssetDiscoverySpecJsonOptionsArgs) ToAssetDiscoverySpecJsonOptionsPtrOutput added in v6.34.0

func (i AssetDiscoverySpecJsonOptionsArgs) ToAssetDiscoverySpecJsonOptionsPtrOutput() AssetDiscoverySpecJsonOptionsPtrOutput

func (AssetDiscoverySpecJsonOptionsArgs) ToAssetDiscoverySpecJsonOptionsPtrOutputWithContext added in v6.34.0

func (i AssetDiscoverySpecJsonOptionsArgs) ToAssetDiscoverySpecJsonOptionsPtrOutputWithContext(ctx context.Context) AssetDiscoverySpecJsonOptionsPtrOutput

type AssetDiscoverySpecJsonOptionsInput added in v6.34.0

type AssetDiscoverySpecJsonOptionsInput interface {
	pulumi.Input

	ToAssetDiscoverySpecJsonOptionsOutput() AssetDiscoverySpecJsonOptionsOutput
	ToAssetDiscoverySpecJsonOptionsOutputWithContext(context.Context) AssetDiscoverySpecJsonOptionsOutput
}

AssetDiscoverySpecJsonOptionsInput is an input type that accepts AssetDiscoverySpecJsonOptionsArgs and AssetDiscoverySpecJsonOptionsOutput values. You can construct a concrete instance of `AssetDiscoverySpecJsonOptionsInput` via:

AssetDiscoverySpecJsonOptionsArgs{...}

type AssetDiscoverySpecJsonOptionsOutput added in v6.34.0

type AssetDiscoverySpecJsonOptionsOutput struct{ *pulumi.OutputState }

func (AssetDiscoverySpecJsonOptionsOutput) DisableTypeInference added in v6.34.0

func (o AssetDiscoverySpecJsonOptionsOutput) DisableTypeInference() pulumi.BoolPtrOutput

Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).

func (AssetDiscoverySpecJsonOptionsOutput) ElementType added in v6.34.0

func (AssetDiscoverySpecJsonOptionsOutput) Encoding added in v6.34.0

Optional. The character encoding of the data. The default is UTF-8.

func (AssetDiscoverySpecJsonOptionsOutput) ToAssetDiscoverySpecJsonOptionsOutput added in v6.34.0

func (o AssetDiscoverySpecJsonOptionsOutput) ToAssetDiscoverySpecJsonOptionsOutput() AssetDiscoverySpecJsonOptionsOutput

func (AssetDiscoverySpecJsonOptionsOutput) ToAssetDiscoverySpecJsonOptionsOutputWithContext added in v6.34.0

func (o AssetDiscoverySpecJsonOptionsOutput) ToAssetDiscoverySpecJsonOptionsOutputWithContext(ctx context.Context) AssetDiscoverySpecJsonOptionsOutput

func (AssetDiscoverySpecJsonOptionsOutput) ToAssetDiscoverySpecJsonOptionsPtrOutput added in v6.34.0

func (o AssetDiscoverySpecJsonOptionsOutput) ToAssetDiscoverySpecJsonOptionsPtrOutput() AssetDiscoverySpecJsonOptionsPtrOutput

func (AssetDiscoverySpecJsonOptionsOutput) ToAssetDiscoverySpecJsonOptionsPtrOutputWithContext added in v6.34.0

func (o AssetDiscoverySpecJsonOptionsOutput) ToAssetDiscoverySpecJsonOptionsPtrOutputWithContext(ctx context.Context) AssetDiscoverySpecJsonOptionsPtrOutput

type AssetDiscoverySpecJsonOptionsPtrInput added in v6.34.0

type AssetDiscoverySpecJsonOptionsPtrInput interface {
	pulumi.Input

	ToAssetDiscoverySpecJsonOptionsPtrOutput() AssetDiscoverySpecJsonOptionsPtrOutput
	ToAssetDiscoverySpecJsonOptionsPtrOutputWithContext(context.Context) AssetDiscoverySpecJsonOptionsPtrOutput
}

AssetDiscoverySpecJsonOptionsPtrInput is an input type that accepts AssetDiscoverySpecJsonOptionsArgs, AssetDiscoverySpecJsonOptionsPtr and AssetDiscoverySpecJsonOptionsPtrOutput values. You can construct a concrete instance of `AssetDiscoverySpecJsonOptionsPtrInput` via:

        AssetDiscoverySpecJsonOptionsArgs{...}

or:

        nil

type AssetDiscoverySpecJsonOptionsPtrOutput added in v6.34.0

type AssetDiscoverySpecJsonOptionsPtrOutput struct{ *pulumi.OutputState }

func (AssetDiscoverySpecJsonOptionsPtrOutput) DisableTypeInference added in v6.34.0

Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).

func (AssetDiscoverySpecJsonOptionsPtrOutput) Elem added in v6.34.0

func (AssetDiscoverySpecJsonOptionsPtrOutput) ElementType added in v6.34.0

func (AssetDiscoverySpecJsonOptionsPtrOutput) Encoding added in v6.34.0

Optional. The character encoding of the data. The default is UTF-8.

func (AssetDiscoverySpecJsonOptionsPtrOutput) ToAssetDiscoverySpecJsonOptionsPtrOutput added in v6.34.0

func (o AssetDiscoverySpecJsonOptionsPtrOutput) ToAssetDiscoverySpecJsonOptionsPtrOutput() AssetDiscoverySpecJsonOptionsPtrOutput

func (AssetDiscoverySpecJsonOptionsPtrOutput) ToAssetDiscoverySpecJsonOptionsPtrOutputWithContext added in v6.34.0

func (o AssetDiscoverySpecJsonOptionsPtrOutput) ToAssetDiscoverySpecJsonOptionsPtrOutputWithContext(ctx context.Context) AssetDiscoverySpecJsonOptionsPtrOutput

type AssetDiscoverySpecOutput added in v6.34.0

type AssetDiscoverySpecOutput struct{ *pulumi.OutputState }

func (AssetDiscoverySpecOutput) CsvOptions added in v6.34.0

Optional. Configuration for CSV data.

func (AssetDiscoverySpecOutput) ElementType added in v6.34.0

func (AssetDiscoverySpecOutput) ElementType() reflect.Type

func (AssetDiscoverySpecOutput) Enabled added in v6.34.0

Required. Whether discovery is enabled.

func (AssetDiscoverySpecOutput) ExcludePatterns added in v6.34.0

Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

func (AssetDiscoverySpecOutput) IncludePatterns added in v6.34.0

Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

func (AssetDiscoverySpecOutput) JsonOptions added in v6.34.0

Optional. Configuration for Json data.

func (AssetDiscoverySpecOutput) Schedule added in v6.34.0

Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".

func (AssetDiscoverySpecOutput) ToAssetDiscoverySpecOutput added in v6.34.0

func (o AssetDiscoverySpecOutput) ToAssetDiscoverySpecOutput() AssetDiscoverySpecOutput

func (AssetDiscoverySpecOutput) ToAssetDiscoverySpecOutputWithContext added in v6.34.0

func (o AssetDiscoverySpecOutput) ToAssetDiscoverySpecOutputWithContext(ctx context.Context) AssetDiscoverySpecOutput

func (AssetDiscoverySpecOutput) ToAssetDiscoverySpecPtrOutput added in v6.34.0

func (o AssetDiscoverySpecOutput) ToAssetDiscoverySpecPtrOutput() AssetDiscoverySpecPtrOutput

func (AssetDiscoverySpecOutput) ToAssetDiscoverySpecPtrOutputWithContext added in v6.34.0

func (o AssetDiscoverySpecOutput) ToAssetDiscoverySpecPtrOutputWithContext(ctx context.Context) AssetDiscoverySpecPtrOutput

type AssetDiscoverySpecPtrInput added in v6.34.0

type AssetDiscoverySpecPtrInput interface {
	pulumi.Input

	ToAssetDiscoverySpecPtrOutput() AssetDiscoverySpecPtrOutput
	ToAssetDiscoverySpecPtrOutputWithContext(context.Context) AssetDiscoverySpecPtrOutput
}

AssetDiscoverySpecPtrInput is an input type that accepts AssetDiscoverySpecArgs, AssetDiscoverySpecPtr and AssetDiscoverySpecPtrOutput values. You can construct a concrete instance of `AssetDiscoverySpecPtrInput` via:

        AssetDiscoverySpecArgs{...}

or:

        nil

func AssetDiscoverySpecPtr added in v6.34.0

func AssetDiscoverySpecPtr(v *AssetDiscoverySpecArgs) AssetDiscoverySpecPtrInput

type AssetDiscoverySpecPtrOutput added in v6.34.0

type AssetDiscoverySpecPtrOutput struct{ *pulumi.OutputState }

func (AssetDiscoverySpecPtrOutput) CsvOptions added in v6.34.0

Optional. Configuration for CSV data.

func (AssetDiscoverySpecPtrOutput) Elem added in v6.34.0

func (AssetDiscoverySpecPtrOutput) ElementType added in v6.34.0

func (AssetDiscoverySpecPtrOutput) Enabled added in v6.34.0

Required. Whether discovery is enabled.

func (AssetDiscoverySpecPtrOutput) ExcludePatterns added in v6.34.0

Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

func (AssetDiscoverySpecPtrOutput) IncludePatterns added in v6.34.0

Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

func (AssetDiscoverySpecPtrOutput) JsonOptions added in v6.34.0

Optional. Configuration for Json data.

func (AssetDiscoverySpecPtrOutput) Schedule added in v6.34.0

Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".

func (AssetDiscoverySpecPtrOutput) ToAssetDiscoverySpecPtrOutput added in v6.34.0

func (o AssetDiscoverySpecPtrOutput) ToAssetDiscoverySpecPtrOutput() AssetDiscoverySpecPtrOutput

func (AssetDiscoverySpecPtrOutput) ToAssetDiscoverySpecPtrOutputWithContext added in v6.34.0

func (o AssetDiscoverySpecPtrOutput) ToAssetDiscoverySpecPtrOutputWithContext(ctx context.Context) AssetDiscoverySpecPtrOutput

type AssetDiscoveryStatus added in v6.34.0

type AssetDiscoveryStatus struct {
	LastRunDuration *string `pulumi:"lastRunDuration"`
	LastRunTime     *string `pulumi:"lastRunTime"`
	Message         *string `pulumi:"message"`
	// Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State *string                    `pulumi:"state"`
	Stats []AssetDiscoveryStatusStat `pulumi:"stats"`
	// Output only. The time when the asset was last updated.
	UpdateTime *string `pulumi:"updateTime"`
}

type AssetDiscoveryStatusArgs added in v6.34.0

type AssetDiscoveryStatusArgs struct {
	LastRunDuration pulumi.StringPtrInput `pulumi:"lastRunDuration"`
	LastRunTime     pulumi.StringPtrInput `pulumi:"lastRunTime"`
	Message         pulumi.StringPtrInput `pulumi:"message"`
	// Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State pulumi.StringPtrInput              `pulumi:"state"`
	Stats AssetDiscoveryStatusStatArrayInput `pulumi:"stats"`
	// Output only. The time when the asset was last updated.
	UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"`
}

func (AssetDiscoveryStatusArgs) ElementType added in v6.34.0

func (AssetDiscoveryStatusArgs) ElementType() reflect.Type

func (AssetDiscoveryStatusArgs) ToAssetDiscoveryStatusOutput added in v6.34.0

func (i AssetDiscoveryStatusArgs) ToAssetDiscoveryStatusOutput() AssetDiscoveryStatusOutput

func (AssetDiscoveryStatusArgs) ToAssetDiscoveryStatusOutputWithContext added in v6.34.0

func (i AssetDiscoveryStatusArgs) ToAssetDiscoveryStatusOutputWithContext(ctx context.Context) AssetDiscoveryStatusOutput

type AssetDiscoveryStatusArray added in v6.34.0

type AssetDiscoveryStatusArray []AssetDiscoveryStatusInput

func (AssetDiscoveryStatusArray) ElementType added in v6.34.0

func (AssetDiscoveryStatusArray) ElementType() reflect.Type

func (AssetDiscoveryStatusArray) ToAssetDiscoveryStatusArrayOutput added in v6.34.0

func (i AssetDiscoveryStatusArray) ToAssetDiscoveryStatusArrayOutput() AssetDiscoveryStatusArrayOutput

func (AssetDiscoveryStatusArray) ToAssetDiscoveryStatusArrayOutputWithContext added in v6.34.0

func (i AssetDiscoveryStatusArray) ToAssetDiscoveryStatusArrayOutputWithContext(ctx context.Context) AssetDiscoveryStatusArrayOutput

type AssetDiscoveryStatusArrayInput added in v6.34.0

type AssetDiscoveryStatusArrayInput interface {
	pulumi.Input

	ToAssetDiscoveryStatusArrayOutput() AssetDiscoveryStatusArrayOutput
	ToAssetDiscoveryStatusArrayOutputWithContext(context.Context) AssetDiscoveryStatusArrayOutput
}

AssetDiscoveryStatusArrayInput is an input type that accepts AssetDiscoveryStatusArray and AssetDiscoveryStatusArrayOutput values. You can construct a concrete instance of `AssetDiscoveryStatusArrayInput` via:

AssetDiscoveryStatusArray{ AssetDiscoveryStatusArgs{...} }

type AssetDiscoveryStatusArrayOutput added in v6.34.0

type AssetDiscoveryStatusArrayOutput struct{ *pulumi.OutputState }

func (AssetDiscoveryStatusArrayOutput) ElementType added in v6.34.0

func (AssetDiscoveryStatusArrayOutput) Index added in v6.34.0

func (AssetDiscoveryStatusArrayOutput) ToAssetDiscoveryStatusArrayOutput added in v6.34.0

func (o AssetDiscoveryStatusArrayOutput) ToAssetDiscoveryStatusArrayOutput() AssetDiscoveryStatusArrayOutput

func (AssetDiscoveryStatusArrayOutput) ToAssetDiscoveryStatusArrayOutputWithContext added in v6.34.0

func (o AssetDiscoveryStatusArrayOutput) ToAssetDiscoveryStatusArrayOutputWithContext(ctx context.Context) AssetDiscoveryStatusArrayOutput

type AssetDiscoveryStatusInput added in v6.34.0

type AssetDiscoveryStatusInput interface {
	pulumi.Input

	ToAssetDiscoveryStatusOutput() AssetDiscoveryStatusOutput
	ToAssetDiscoveryStatusOutputWithContext(context.Context) AssetDiscoveryStatusOutput
}

AssetDiscoveryStatusInput is an input type that accepts AssetDiscoveryStatusArgs and AssetDiscoveryStatusOutput values. You can construct a concrete instance of `AssetDiscoveryStatusInput` via:

AssetDiscoveryStatusArgs{...}

type AssetDiscoveryStatusOutput added in v6.34.0

type AssetDiscoveryStatusOutput struct{ *pulumi.OutputState }

func (AssetDiscoveryStatusOutput) ElementType added in v6.34.0

func (AssetDiscoveryStatusOutput) ElementType() reflect.Type

func (AssetDiscoveryStatusOutput) LastRunDuration added in v6.34.0

func (AssetDiscoveryStatusOutput) LastRunTime added in v6.34.0

func (AssetDiscoveryStatusOutput) Message added in v6.34.0

func (AssetDiscoveryStatusOutput) State added in v6.34.0

Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED

func (AssetDiscoveryStatusOutput) Stats added in v6.34.0

func (AssetDiscoveryStatusOutput) ToAssetDiscoveryStatusOutput added in v6.34.0

func (o AssetDiscoveryStatusOutput) ToAssetDiscoveryStatusOutput() AssetDiscoveryStatusOutput

func (AssetDiscoveryStatusOutput) ToAssetDiscoveryStatusOutputWithContext added in v6.34.0

func (o AssetDiscoveryStatusOutput) ToAssetDiscoveryStatusOutputWithContext(ctx context.Context) AssetDiscoveryStatusOutput

func (AssetDiscoveryStatusOutput) UpdateTime added in v6.34.0

Output only. The time when the asset was last updated.

type AssetDiscoveryStatusStat added in v6.34.0

type AssetDiscoveryStatusStat struct {
	DataItems *int `pulumi:"dataItems"`
	DataSize  *int `pulumi:"dataSize"`
	Filesets  *int `pulumi:"filesets"`
	Tables    *int `pulumi:"tables"`
}

type AssetDiscoveryStatusStatArgs added in v6.34.0

type AssetDiscoveryStatusStatArgs struct {
	DataItems pulumi.IntPtrInput `pulumi:"dataItems"`
	DataSize  pulumi.IntPtrInput `pulumi:"dataSize"`
	Filesets  pulumi.IntPtrInput `pulumi:"filesets"`
	Tables    pulumi.IntPtrInput `pulumi:"tables"`
}

func (AssetDiscoveryStatusStatArgs) ElementType added in v6.34.0

func (AssetDiscoveryStatusStatArgs) ToAssetDiscoveryStatusStatOutput added in v6.34.0

func (i AssetDiscoveryStatusStatArgs) ToAssetDiscoveryStatusStatOutput() AssetDiscoveryStatusStatOutput

func (AssetDiscoveryStatusStatArgs) ToAssetDiscoveryStatusStatOutputWithContext added in v6.34.0

func (i AssetDiscoveryStatusStatArgs) ToAssetDiscoveryStatusStatOutputWithContext(ctx context.Context) AssetDiscoveryStatusStatOutput

type AssetDiscoveryStatusStatArray added in v6.34.0

type AssetDiscoveryStatusStatArray []AssetDiscoveryStatusStatInput

func (AssetDiscoveryStatusStatArray) ElementType added in v6.34.0

func (AssetDiscoveryStatusStatArray) ToAssetDiscoveryStatusStatArrayOutput added in v6.34.0

func (i AssetDiscoveryStatusStatArray) ToAssetDiscoveryStatusStatArrayOutput() AssetDiscoveryStatusStatArrayOutput

func (AssetDiscoveryStatusStatArray) ToAssetDiscoveryStatusStatArrayOutputWithContext added in v6.34.0

func (i AssetDiscoveryStatusStatArray) ToAssetDiscoveryStatusStatArrayOutputWithContext(ctx context.Context) AssetDiscoveryStatusStatArrayOutput

type AssetDiscoveryStatusStatArrayInput added in v6.34.0

type AssetDiscoveryStatusStatArrayInput interface {
	pulumi.Input

	ToAssetDiscoveryStatusStatArrayOutput() AssetDiscoveryStatusStatArrayOutput
	ToAssetDiscoveryStatusStatArrayOutputWithContext(context.Context) AssetDiscoveryStatusStatArrayOutput
}

AssetDiscoveryStatusStatArrayInput is an input type that accepts AssetDiscoveryStatusStatArray and AssetDiscoveryStatusStatArrayOutput values. You can construct a concrete instance of `AssetDiscoveryStatusStatArrayInput` via:

AssetDiscoveryStatusStatArray{ AssetDiscoveryStatusStatArgs{...} }

type AssetDiscoveryStatusStatArrayOutput added in v6.34.0

type AssetDiscoveryStatusStatArrayOutput struct{ *pulumi.OutputState }

func (AssetDiscoveryStatusStatArrayOutput) ElementType added in v6.34.0

func (AssetDiscoveryStatusStatArrayOutput) Index added in v6.34.0

func (AssetDiscoveryStatusStatArrayOutput) ToAssetDiscoveryStatusStatArrayOutput added in v6.34.0

func (o AssetDiscoveryStatusStatArrayOutput) ToAssetDiscoveryStatusStatArrayOutput() AssetDiscoveryStatusStatArrayOutput

func (AssetDiscoveryStatusStatArrayOutput) ToAssetDiscoveryStatusStatArrayOutputWithContext added in v6.34.0

func (o AssetDiscoveryStatusStatArrayOutput) ToAssetDiscoveryStatusStatArrayOutputWithContext(ctx context.Context) AssetDiscoveryStatusStatArrayOutput

type AssetDiscoveryStatusStatInput added in v6.34.0

type AssetDiscoveryStatusStatInput interface {
	pulumi.Input

	ToAssetDiscoveryStatusStatOutput() AssetDiscoveryStatusStatOutput
	ToAssetDiscoveryStatusStatOutputWithContext(context.Context) AssetDiscoveryStatusStatOutput
}

AssetDiscoveryStatusStatInput is an input type that accepts AssetDiscoveryStatusStatArgs and AssetDiscoveryStatusStatOutput values. You can construct a concrete instance of `AssetDiscoveryStatusStatInput` via:

AssetDiscoveryStatusStatArgs{...}

type AssetDiscoveryStatusStatOutput added in v6.34.0

type AssetDiscoveryStatusStatOutput struct{ *pulumi.OutputState }

func (AssetDiscoveryStatusStatOutput) DataItems added in v6.34.0

func (AssetDiscoveryStatusStatOutput) DataSize added in v6.34.0

func (AssetDiscoveryStatusStatOutput) ElementType added in v6.34.0

func (AssetDiscoveryStatusStatOutput) Filesets added in v6.34.0

func (AssetDiscoveryStatusStatOutput) Tables added in v6.34.0

func (AssetDiscoveryStatusStatOutput) ToAssetDiscoveryStatusStatOutput added in v6.34.0

func (o AssetDiscoveryStatusStatOutput) ToAssetDiscoveryStatusStatOutput() AssetDiscoveryStatusStatOutput

func (AssetDiscoveryStatusStatOutput) ToAssetDiscoveryStatusStatOutputWithContext added in v6.34.0

func (o AssetDiscoveryStatusStatOutput) ToAssetDiscoveryStatusStatOutputWithContext(ctx context.Context) AssetDiscoveryStatusStatOutput

type AssetIamBinding added in v6.53.0

type AssetIamBinding struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	Asset        pulumi.StringOutput               `pulumi:"asset"`
	Condition    AssetIamBindingConditionPtrOutput `pulumi:"condition"`
	DataplexZone pulumi.StringOutput               `pulumi:"dataplexZone"`
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringOutput      `pulumi:"etag"`
	Lake     pulumi.StringOutput      `pulumi:"lake"`
	Location pulumi.StringOutput      `pulumi:"location"`
	Members  pulumi.StringArrayOutput `pulumi:"members"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `dataplex.AssetIamBinding` 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 Dataplex Asset. Each of these resources serves a different use case:

* `dataplex.AssetIamPolicy`: Authoritative. Sets the IAM policy for the asset and replaces any existing policy already attached. * `dataplex.AssetIamBinding`: 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 asset are preserved. * `dataplex.AssetIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the asset are preserved.

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

* `dataplex.AssetIamPolicy`: Retrieves the IAM policy for the asset

> **Note:** `dataplex.AssetIamPolicy` **cannot** be used in conjunction with `dataplex.AssetIamBinding` and `dataplex.AssetIamMember` or they will fight over what your policy should be.

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

## google\_dataplex\_asset\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dataplex.NewAssetIamPolicy(ctx, "policy", &dataplex.AssetIamPolicyArgs{
			Project:      pulumi.Any(google_dataplex_asset.Example.Project),
			Location:     pulumi.Any(google_dataplex_asset.Example.Location),
			Lake:         pulumi.Any(google_dataplex_asset.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_asset.Example.Dataplex_zone),
			Asset:        pulumi.Any(google_dataplex_asset.Example.Name),
			PolicyData:   *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_asset\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewAssetIamBinding(ctx, "binding", &dataplex.AssetIamBindingArgs{
			Project:      pulumi.Any(google_dataplex_asset.Example.Project),
			Location:     pulumi.Any(google_dataplex_asset.Example.Location),
			Lake:         pulumi.Any(google_dataplex_asset.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_asset.Example.Dataplex_zone),
			Asset:        pulumi.Any(google_dataplex_asset.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_asset\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewAssetIamMember(ctx, "member", &dataplex.AssetIamMemberArgs{
			Project:      pulumi.Any(google_dataplex_asset.Example.Project),
			Location:     pulumi.Any(google_dataplex_asset.Example.Location),
			Lake:         pulumi.Any(google_dataplex_asset.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_asset.Example.Dataplex_zone),
			Asset:        pulumi.Any(google_dataplex_asset.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{name}} * {{project}}/{{location}}/{{lake}}/{{dataplex_zone}}/{{name}} * {{location}}/{{lake}}/{{dataplex_zone}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Dataplex asset 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:dataplex/assetIamBinding:AssetIamBinding editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{asset}} 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:dataplex/assetIamBinding:AssetIamBinding editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{asset}} roles/viewer"

```

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

```sh

$ pulumi import gcp:dataplex/assetIamBinding:AssetIamBinding editor projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{asset}}

```

-> **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 GetAssetIamBinding added in v6.53.0

func GetAssetIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AssetIamBindingState, opts ...pulumi.ResourceOption) (*AssetIamBinding, error)

GetAssetIamBinding gets an existing AssetIamBinding 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 NewAssetIamBinding added in v6.53.0

func NewAssetIamBinding(ctx *pulumi.Context,
	name string, args *AssetIamBindingArgs, opts ...pulumi.ResourceOption) (*AssetIamBinding, error)

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

func (*AssetIamBinding) ElementType added in v6.53.0

func (*AssetIamBinding) ElementType() reflect.Type

func (*AssetIamBinding) ToAssetIamBindingOutput added in v6.53.0

func (i *AssetIamBinding) ToAssetIamBindingOutput() AssetIamBindingOutput

func (*AssetIamBinding) ToAssetIamBindingOutputWithContext added in v6.53.0

func (i *AssetIamBinding) ToAssetIamBindingOutputWithContext(ctx context.Context) AssetIamBindingOutput

type AssetIamBindingArgs added in v6.53.0

type AssetIamBindingArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Asset        pulumi.StringInput
	Condition    AssetIamBindingConditionPtrInput
	DataplexZone pulumi.StringInput
	Lake         pulumi.StringInput
	Location     pulumi.StringPtrInput
	Members      pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.AssetIamBinding` 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 AssetIamBinding resource.

func (AssetIamBindingArgs) ElementType added in v6.53.0

func (AssetIamBindingArgs) ElementType() reflect.Type

type AssetIamBindingArray added in v6.53.0

type AssetIamBindingArray []AssetIamBindingInput

func (AssetIamBindingArray) ElementType added in v6.53.0

func (AssetIamBindingArray) ElementType() reflect.Type

func (AssetIamBindingArray) ToAssetIamBindingArrayOutput added in v6.53.0

func (i AssetIamBindingArray) ToAssetIamBindingArrayOutput() AssetIamBindingArrayOutput

func (AssetIamBindingArray) ToAssetIamBindingArrayOutputWithContext added in v6.53.0

func (i AssetIamBindingArray) ToAssetIamBindingArrayOutputWithContext(ctx context.Context) AssetIamBindingArrayOutput

type AssetIamBindingArrayInput added in v6.53.0

type AssetIamBindingArrayInput interface {
	pulumi.Input

	ToAssetIamBindingArrayOutput() AssetIamBindingArrayOutput
	ToAssetIamBindingArrayOutputWithContext(context.Context) AssetIamBindingArrayOutput
}

AssetIamBindingArrayInput is an input type that accepts AssetIamBindingArray and AssetIamBindingArrayOutput values. You can construct a concrete instance of `AssetIamBindingArrayInput` via:

AssetIamBindingArray{ AssetIamBindingArgs{...} }

type AssetIamBindingArrayOutput added in v6.53.0

type AssetIamBindingArrayOutput struct{ *pulumi.OutputState }

func (AssetIamBindingArrayOutput) ElementType added in v6.53.0

func (AssetIamBindingArrayOutput) ElementType() reflect.Type

func (AssetIamBindingArrayOutput) Index added in v6.53.0

func (AssetIamBindingArrayOutput) ToAssetIamBindingArrayOutput added in v6.53.0

func (o AssetIamBindingArrayOutput) ToAssetIamBindingArrayOutput() AssetIamBindingArrayOutput

func (AssetIamBindingArrayOutput) ToAssetIamBindingArrayOutputWithContext added in v6.53.0

func (o AssetIamBindingArrayOutput) ToAssetIamBindingArrayOutputWithContext(ctx context.Context) AssetIamBindingArrayOutput

type AssetIamBindingCondition added in v6.53.0

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

type AssetIamBindingConditionArgs added in v6.53.0

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

func (AssetIamBindingConditionArgs) ElementType added in v6.53.0

func (AssetIamBindingConditionArgs) ToAssetIamBindingConditionOutput added in v6.53.0

func (i AssetIamBindingConditionArgs) ToAssetIamBindingConditionOutput() AssetIamBindingConditionOutput

func (AssetIamBindingConditionArgs) ToAssetIamBindingConditionOutputWithContext added in v6.53.0

func (i AssetIamBindingConditionArgs) ToAssetIamBindingConditionOutputWithContext(ctx context.Context) AssetIamBindingConditionOutput

func (AssetIamBindingConditionArgs) ToAssetIamBindingConditionPtrOutput added in v6.53.0

func (i AssetIamBindingConditionArgs) ToAssetIamBindingConditionPtrOutput() AssetIamBindingConditionPtrOutput

func (AssetIamBindingConditionArgs) ToAssetIamBindingConditionPtrOutputWithContext added in v6.53.0

func (i AssetIamBindingConditionArgs) ToAssetIamBindingConditionPtrOutputWithContext(ctx context.Context) AssetIamBindingConditionPtrOutput

type AssetIamBindingConditionInput added in v6.53.0

type AssetIamBindingConditionInput interface {
	pulumi.Input

	ToAssetIamBindingConditionOutput() AssetIamBindingConditionOutput
	ToAssetIamBindingConditionOutputWithContext(context.Context) AssetIamBindingConditionOutput
}

AssetIamBindingConditionInput is an input type that accepts AssetIamBindingConditionArgs and AssetIamBindingConditionOutput values. You can construct a concrete instance of `AssetIamBindingConditionInput` via:

AssetIamBindingConditionArgs{...}

type AssetIamBindingConditionOutput added in v6.53.0

type AssetIamBindingConditionOutput struct{ *pulumi.OutputState }

func (AssetIamBindingConditionOutput) Description added in v6.53.0

func (AssetIamBindingConditionOutput) ElementType added in v6.53.0

func (AssetIamBindingConditionOutput) Expression added in v6.53.0

func (AssetIamBindingConditionOutput) Title added in v6.53.0

func (AssetIamBindingConditionOutput) ToAssetIamBindingConditionOutput added in v6.53.0

func (o AssetIamBindingConditionOutput) ToAssetIamBindingConditionOutput() AssetIamBindingConditionOutput

func (AssetIamBindingConditionOutput) ToAssetIamBindingConditionOutputWithContext added in v6.53.0

func (o AssetIamBindingConditionOutput) ToAssetIamBindingConditionOutputWithContext(ctx context.Context) AssetIamBindingConditionOutput

func (AssetIamBindingConditionOutput) ToAssetIamBindingConditionPtrOutput added in v6.53.0

func (o AssetIamBindingConditionOutput) ToAssetIamBindingConditionPtrOutput() AssetIamBindingConditionPtrOutput

func (AssetIamBindingConditionOutput) ToAssetIamBindingConditionPtrOutputWithContext added in v6.53.0

func (o AssetIamBindingConditionOutput) ToAssetIamBindingConditionPtrOutputWithContext(ctx context.Context) AssetIamBindingConditionPtrOutput

type AssetIamBindingConditionPtrInput added in v6.53.0

type AssetIamBindingConditionPtrInput interface {
	pulumi.Input

	ToAssetIamBindingConditionPtrOutput() AssetIamBindingConditionPtrOutput
	ToAssetIamBindingConditionPtrOutputWithContext(context.Context) AssetIamBindingConditionPtrOutput
}

AssetIamBindingConditionPtrInput is an input type that accepts AssetIamBindingConditionArgs, AssetIamBindingConditionPtr and AssetIamBindingConditionPtrOutput values. You can construct a concrete instance of `AssetIamBindingConditionPtrInput` via:

        AssetIamBindingConditionArgs{...}

or:

        nil

func AssetIamBindingConditionPtr added in v6.53.0

func AssetIamBindingConditionPtr(v *AssetIamBindingConditionArgs) AssetIamBindingConditionPtrInput

type AssetIamBindingConditionPtrOutput added in v6.53.0

type AssetIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (AssetIamBindingConditionPtrOutput) Description added in v6.53.0

func (AssetIamBindingConditionPtrOutput) Elem added in v6.53.0

func (AssetIamBindingConditionPtrOutput) ElementType added in v6.53.0

func (AssetIamBindingConditionPtrOutput) Expression added in v6.53.0

func (AssetIamBindingConditionPtrOutput) Title added in v6.53.0

func (AssetIamBindingConditionPtrOutput) ToAssetIamBindingConditionPtrOutput added in v6.53.0

func (o AssetIamBindingConditionPtrOutput) ToAssetIamBindingConditionPtrOutput() AssetIamBindingConditionPtrOutput

func (AssetIamBindingConditionPtrOutput) ToAssetIamBindingConditionPtrOutputWithContext added in v6.53.0

func (o AssetIamBindingConditionPtrOutput) ToAssetIamBindingConditionPtrOutputWithContext(ctx context.Context) AssetIamBindingConditionPtrOutput

type AssetIamBindingInput added in v6.53.0

type AssetIamBindingInput interface {
	pulumi.Input

	ToAssetIamBindingOutput() AssetIamBindingOutput
	ToAssetIamBindingOutputWithContext(ctx context.Context) AssetIamBindingOutput
}

type AssetIamBindingMap added in v6.53.0

type AssetIamBindingMap map[string]AssetIamBindingInput

func (AssetIamBindingMap) ElementType added in v6.53.0

func (AssetIamBindingMap) ElementType() reflect.Type

func (AssetIamBindingMap) ToAssetIamBindingMapOutput added in v6.53.0

func (i AssetIamBindingMap) ToAssetIamBindingMapOutput() AssetIamBindingMapOutput

func (AssetIamBindingMap) ToAssetIamBindingMapOutputWithContext added in v6.53.0

func (i AssetIamBindingMap) ToAssetIamBindingMapOutputWithContext(ctx context.Context) AssetIamBindingMapOutput

type AssetIamBindingMapInput added in v6.53.0

type AssetIamBindingMapInput interface {
	pulumi.Input

	ToAssetIamBindingMapOutput() AssetIamBindingMapOutput
	ToAssetIamBindingMapOutputWithContext(context.Context) AssetIamBindingMapOutput
}

AssetIamBindingMapInput is an input type that accepts AssetIamBindingMap and AssetIamBindingMapOutput values. You can construct a concrete instance of `AssetIamBindingMapInput` via:

AssetIamBindingMap{ "key": AssetIamBindingArgs{...} }

type AssetIamBindingMapOutput added in v6.53.0

type AssetIamBindingMapOutput struct{ *pulumi.OutputState }

func (AssetIamBindingMapOutput) ElementType added in v6.53.0

func (AssetIamBindingMapOutput) ElementType() reflect.Type

func (AssetIamBindingMapOutput) MapIndex added in v6.53.0

func (AssetIamBindingMapOutput) ToAssetIamBindingMapOutput added in v6.53.0

func (o AssetIamBindingMapOutput) ToAssetIamBindingMapOutput() AssetIamBindingMapOutput

func (AssetIamBindingMapOutput) ToAssetIamBindingMapOutputWithContext added in v6.53.0

func (o AssetIamBindingMapOutput) ToAssetIamBindingMapOutputWithContext(ctx context.Context) AssetIamBindingMapOutput

type AssetIamBindingOutput added in v6.53.0

type AssetIamBindingOutput struct{ *pulumi.OutputState }

func (AssetIamBindingOutput) Asset added in v6.53.0

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

func (AssetIamBindingOutput) Condition added in v6.53.0

func (AssetIamBindingOutput) DataplexZone added in v6.53.0

func (o AssetIamBindingOutput) DataplexZone() pulumi.StringOutput

func (AssetIamBindingOutput) ElementType added in v6.53.0

func (AssetIamBindingOutput) ElementType() reflect.Type

func (AssetIamBindingOutput) Etag added in v6.53.0

(Computed) The etag of the IAM policy.

func (AssetIamBindingOutput) Lake added in v6.53.0

func (AssetIamBindingOutput) Location added in v6.53.0

func (AssetIamBindingOutput) Members added in v6.53.0

func (AssetIamBindingOutput) Project added in v6.53.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

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

func (AssetIamBindingOutput) Role added in v6.53.0

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

func (AssetIamBindingOutput) ToAssetIamBindingOutput added in v6.53.0

func (o AssetIamBindingOutput) ToAssetIamBindingOutput() AssetIamBindingOutput

func (AssetIamBindingOutput) ToAssetIamBindingOutputWithContext added in v6.53.0

func (o AssetIamBindingOutput) ToAssetIamBindingOutputWithContext(ctx context.Context) AssetIamBindingOutput

type AssetIamBindingState added in v6.53.0

type AssetIamBindingState struct {
	// Used to find the parent resource to bind the IAM policy to
	Asset        pulumi.StringPtrInput
	Condition    AssetIamBindingConditionPtrInput
	DataplexZone pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringPtrInput
	Lake     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	Members  pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.AssetIamBinding` 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 (AssetIamBindingState) ElementType added in v6.53.0

func (AssetIamBindingState) ElementType() reflect.Type

type AssetIamMember added in v6.53.0

type AssetIamMember struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	Asset        pulumi.StringOutput              `pulumi:"asset"`
	Condition    AssetIamMemberConditionPtrOutput `pulumi:"condition"`
	DataplexZone pulumi.StringOutput              `pulumi:"dataplexZone"`
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringOutput `pulumi:"etag"`
	Lake     pulumi.StringOutput `pulumi:"lake"`
	Location pulumi.StringOutput `pulumi:"location"`
	Member   pulumi.StringOutput `pulumi:"member"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `dataplex.AssetIamBinding` 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 Dataplex Asset. Each of these resources serves a different use case:

* `dataplex.AssetIamPolicy`: Authoritative. Sets the IAM policy for the asset and replaces any existing policy already attached. * `dataplex.AssetIamBinding`: 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 asset are preserved. * `dataplex.AssetIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the asset are preserved.

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

* `dataplex.AssetIamPolicy`: Retrieves the IAM policy for the asset

> **Note:** `dataplex.AssetIamPolicy` **cannot** be used in conjunction with `dataplex.AssetIamBinding` and `dataplex.AssetIamMember` or they will fight over what your policy should be.

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

## google\_dataplex\_asset\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dataplex.NewAssetIamPolicy(ctx, "policy", &dataplex.AssetIamPolicyArgs{
			Project:      pulumi.Any(google_dataplex_asset.Example.Project),
			Location:     pulumi.Any(google_dataplex_asset.Example.Location),
			Lake:         pulumi.Any(google_dataplex_asset.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_asset.Example.Dataplex_zone),
			Asset:        pulumi.Any(google_dataplex_asset.Example.Name),
			PolicyData:   *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_asset\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewAssetIamBinding(ctx, "binding", &dataplex.AssetIamBindingArgs{
			Project:      pulumi.Any(google_dataplex_asset.Example.Project),
			Location:     pulumi.Any(google_dataplex_asset.Example.Location),
			Lake:         pulumi.Any(google_dataplex_asset.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_asset.Example.Dataplex_zone),
			Asset:        pulumi.Any(google_dataplex_asset.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_asset\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewAssetIamMember(ctx, "member", &dataplex.AssetIamMemberArgs{
			Project:      pulumi.Any(google_dataplex_asset.Example.Project),
			Location:     pulumi.Any(google_dataplex_asset.Example.Location),
			Lake:         pulumi.Any(google_dataplex_asset.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_asset.Example.Dataplex_zone),
			Asset:        pulumi.Any(google_dataplex_asset.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{name}} * {{project}}/{{location}}/{{lake}}/{{dataplex_zone}}/{{name}} * {{location}}/{{lake}}/{{dataplex_zone}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Dataplex asset 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:dataplex/assetIamMember:AssetIamMember editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{asset}} 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:dataplex/assetIamMember:AssetIamMember editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{asset}} roles/viewer"

```

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

```sh

$ pulumi import gcp:dataplex/assetIamMember:AssetIamMember editor projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{asset}}

```

-> **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 GetAssetIamMember added in v6.53.0

func GetAssetIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AssetIamMemberState, opts ...pulumi.ResourceOption) (*AssetIamMember, error)

GetAssetIamMember gets an existing AssetIamMember 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 NewAssetIamMember added in v6.53.0

func NewAssetIamMember(ctx *pulumi.Context,
	name string, args *AssetIamMemberArgs, opts ...pulumi.ResourceOption) (*AssetIamMember, error)

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

func (*AssetIamMember) ElementType added in v6.53.0

func (*AssetIamMember) ElementType() reflect.Type

func (*AssetIamMember) ToAssetIamMemberOutput added in v6.53.0

func (i *AssetIamMember) ToAssetIamMemberOutput() AssetIamMemberOutput

func (*AssetIamMember) ToAssetIamMemberOutputWithContext added in v6.53.0

func (i *AssetIamMember) ToAssetIamMemberOutputWithContext(ctx context.Context) AssetIamMemberOutput

type AssetIamMemberArgs added in v6.53.0

type AssetIamMemberArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Asset        pulumi.StringInput
	Condition    AssetIamMemberConditionPtrInput
	DataplexZone pulumi.StringInput
	Lake         pulumi.StringInput
	Location     pulumi.StringPtrInput
	Member       pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.AssetIamBinding` 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 AssetIamMember resource.

func (AssetIamMemberArgs) ElementType added in v6.53.0

func (AssetIamMemberArgs) ElementType() reflect.Type

type AssetIamMemberArray added in v6.53.0

type AssetIamMemberArray []AssetIamMemberInput

func (AssetIamMemberArray) ElementType added in v6.53.0

func (AssetIamMemberArray) ElementType() reflect.Type

func (AssetIamMemberArray) ToAssetIamMemberArrayOutput added in v6.53.0

func (i AssetIamMemberArray) ToAssetIamMemberArrayOutput() AssetIamMemberArrayOutput

func (AssetIamMemberArray) ToAssetIamMemberArrayOutputWithContext added in v6.53.0

func (i AssetIamMemberArray) ToAssetIamMemberArrayOutputWithContext(ctx context.Context) AssetIamMemberArrayOutput

type AssetIamMemberArrayInput added in v6.53.0

type AssetIamMemberArrayInput interface {
	pulumi.Input

	ToAssetIamMemberArrayOutput() AssetIamMemberArrayOutput
	ToAssetIamMemberArrayOutputWithContext(context.Context) AssetIamMemberArrayOutput
}

AssetIamMemberArrayInput is an input type that accepts AssetIamMemberArray and AssetIamMemberArrayOutput values. You can construct a concrete instance of `AssetIamMemberArrayInput` via:

AssetIamMemberArray{ AssetIamMemberArgs{...} }

type AssetIamMemberArrayOutput added in v6.53.0

type AssetIamMemberArrayOutput struct{ *pulumi.OutputState }

func (AssetIamMemberArrayOutput) ElementType added in v6.53.0

func (AssetIamMemberArrayOutput) ElementType() reflect.Type

func (AssetIamMemberArrayOutput) Index added in v6.53.0

func (AssetIamMemberArrayOutput) ToAssetIamMemberArrayOutput added in v6.53.0

func (o AssetIamMemberArrayOutput) ToAssetIamMemberArrayOutput() AssetIamMemberArrayOutput

func (AssetIamMemberArrayOutput) ToAssetIamMemberArrayOutputWithContext added in v6.53.0

func (o AssetIamMemberArrayOutput) ToAssetIamMemberArrayOutputWithContext(ctx context.Context) AssetIamMemberArrayOutput

type AssetIamMemberCondition added in v6.53.0

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

type AssetIamMemberConditionArgs added in v6.53.0

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

func (AssetIamMemberConditionArgs) ElementType added in v6.53.0

func (AssetIamMemberConditionArgs) ToAssetIamMemberConditionOutput added in v6.53.0

func (i AssetIamMemberConditionArgs) ToAssetIamMemberConditionOutput() AssetIamMemberConditionOutput

func (AssetIamMemberConditionArgs) ToAssetIamMemberConditionOutputWithContext added in v6.53.0

func (i AssetIamMemberConditionArgs) ToAssetIamMemberConditionOutputWithContext(ctx context.Context) AssetIamMemberConditionOutput

func (AssetIamMemberConditionArgs) ToAssetIamMemberConditionPtrOutput added in v6.53.0

func (i AssetIamMemberConditionArgs) ToAssetIamMemberConditionPtrOutput() AssetIamMemberConditionPtrOutput

func (AssetIamMemberConditionArgs) ToAssetIamMemberConditionPtrOutputWithContext added in v6.53.0

func (i AssetIamMemberConditionArgs) ToAssetIamMemberConditionPtrOutputWithContext(ctx context.Context) AssetIamMemberConditionPtrOutput

type AssetIamMemberConditionInput added in v6.53.0

type AssetIamMemberConditionInput interface {
	pulumi.Input

	ToAssetIamMemberConditionOutput() AssetIamMemberConditionOutput
	ToAssetIamMemberConditionOutputWithContext(context.Context) AssetIamMemberConditionOutput
}

AssetIamMemberConditionInput is an input type that accepts AssetIamMemberConditionArgs and AssetIamMemberConditionOutput values. You can construct a concrete instance of `AssetIamMemberConditionInput` via:

AssetIamMemberConditionArgs{...}

type AssetIamMemberConditionOutput added in v6.53.0

type AssetIamMemberConditionOutput struct{ *pulumi.OutputState }

func (AssetIamMemberConditionOutput) Description added in v6.53.0

func (AssetIamMemberConditionOutput) ElementType added in v6.53.0

func (AssetIamMemberConditionOutput) Expression added in v6.53.0

func (AssetIamMemberConditionOutput) Title added in v6.53.0

func (AssetIamMemberConditionOutput) ToAssetIamMemberConditionOutput added in v6.53.0

func (o AssetIamMemberConditionOutput) ToAssetIamMemberConditionOutput() AssetIamMemberConditionOutput

func (AssetIamMemberConditionOutput) ToAssetIamMemberConditionOutputWithContext added in v6.53.0

func (o AssetIamMemberConditionOutput) ToAssetIamMemberConditionOutputWithContext(ctx context.Context) AssetIamMemberConditionOutput

func (AssetIamMemberConditionOutput) ToAssetIamMemberConditionPtrOutput added in v6.53.0

func (o AssetIamMemberConditionOutput) ToAssetIamMemberConditionPtrOutput() AssetIamMemberConditionPtrOutput

func (AssetIamMemberConditionOutput) ToAssetIamMemberConditionPtrOutputWithContext added in v6.53.0

func (o AssetIamMemberConditionOutput) ToAssetIamMemberConditionPtrOutputWithContext(ctx context.Context) AssetIamMemberConditionPtrOutput

type AssetIamMemberConditionPtrInput added in v6.53.0

type AssetIamMemberConditionPtrInput interface {
	pulumi.Input

	ToAssetIamMemberConditionPtrOutput() AssetIamMemberConditionPtrOutput
	ToAssetIamMemberConditionPtrOutputWithContext(context.Context) AssetIamMemberConditionPtrOutput
}

AssetIamMemberConditionPtrInput is an input type that accepts AssetIamMemberConditionArgs, AssetIamMemberConditionPtr and AssetIamMemberConditionPtrOutput values. You can construct a concrete instance of `AssetIamMemberConditionPtrInput` via:

        AssetIamMemberConditionArgs{...}

or:

        nil

func AssetIamMemberConditionPtr added in v6.53.0

func AssetIamMemberConditionPtr(v *AssetIamMemberConditionArgs) AssetIamMemberConditionPtrInput

type AssetIamMemberConditionPtrOutput added in v6.53.0

type AssetIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (AssetIamMemberConditionPtrOutput) Description added in v6.53.0

func (AssetIamMemberConditionPtrOutput) Elem added in v6.53.0

func (AssetIamMemberConditionPtrOutput) ElementType added in v6.53.0

func (AssetIamMemberConditionPtrOutput) Expression added in v6.53.0

func (AssetIamMemberConditionPtrOutput) Title added in v6.53.0

func (AssetIamMemberConditionPtrOutput) ToAssetIamMemberConditionPtrOutput added in v6.53.0

func (o AssetIamMemberConditionPtrOutput) ToAssetIamMemberConditionPtrOutput() AssetIamMemberConditionPtrOutput

func (AssetIamMemberConditionPtrOutput) ToAssetIamMemberConditionPtrOutputWithContext added in v6.53.0

func (o AssetIamMemberConditionPtrOutput) ToAssetIamMemberConditionPtrOutputWithContext(ctx context.Context) AssetIamMemberConditionPtrOutput

type AssetIamMemberInput added in v6.53.0

type AssetIamMemberInput interface {
	pulumi.Input

	ToAssetIamMemberOutput() AssetIamMemberOutput
	ToAssetIamMemberOutputWithContext(ctx context.Context) AssetIamMemberOutput
}

type AssetIamMemberMap added in v6.53.0

type AssetIamMemberMap map[string]AssetIamMemberInput

func (AssetIamMemberMap) ElementType added in v6.53.0

func (AssetIamMemberMap) ElementType() reflect.Type

func (AssetIamMemberMap) ToAssetIamMemberMapOutput added in v6.53.0

func (i AssetIamMemberMap) ToAssetIamMemberMapOutput() AssetIamMemberMapOutput

func (AssetIamMemberMap) ToAssetIamMemberMapOutputWithContext added in v6.53.0

func (i AssetIamMemberMap) ToAssetIamMemberMapOutputWithContext(ctx context.Context) AssetIamMemberMapOutput

type AssetIamMemberMapInput added in v6.53.0

type AssetIamMemberMapInput interface {
	pulumi.Input

	ToAssetIamMemberMapOutput() AssetIamMemberMapOutput
	ToAssetIamMemberMapOutputWithContext(context.Context) AssetIamMemberMapOutput
}

AssetIamMemberMapInput is an input type that accepts AssetIamMemberMap and AssetIamMemberMapOutput values. You can construct a concrete instance of `AssetIamMemberMapInput` via:

AssetIamMemberMap{ "key": AssetIamMemberArgs{...} }

type AssetIamMemberMapOutput added in v6.53.0

type AssetIamMemberMapOutput struct{ *pulumi.OutputState }

func (AssetIamMemberMapOutput) ElementType added in v6.53.0

func (AssetIamMemberMapOutput) ElementType() reflect.Type

func (AssetIamMemberMapOutput) MapIndex added in v6.53.0

func (AssetIamMemberMapOutput) ToAssetIamMemberMapOutput added in v6.53.0

func (o AssetIamMemberMapOutput) ToAssetIamMemberMapOutput() AssetIamMemberMapOutput

func (AssetIamMemberMapOutput) ToAssetIamMemberMapOutputWithContext added in v6.53.0

func (o AssetIamMemberMapOutput) ToAssetIamMemberMapOutputWithContext(ctx context.Context) AssetIamMemberMapOutput

type AssetIamMemberOutput added in v6.53.0

type AssetIamMemberOutput struct{ *pulumi.OutputState }

func (AssetIamMemberOutput) Asset added in v6.53.0

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

func (AssetIamMemberOutput) Condition added in v6.53.0

func (AssetIamMemberOutput) DataplexZone added in v6.53.0

func (o AssetIamMemberOutput) DataplexZone() pulumi.StringOutput

func (AssetIamMemberOutput) ElementType added in v6.53.0

func (AssetIamMemberOutput) ElementType() reflect.Type

func (AssetIamMemberOutput) Etag added in v6.53.0

(Computed) The etag of the IAM policy.

func (AssetIamMemberOutput) Lake added in v6.53.0

func (AssetIamMemberOutput) Location added in v6.53.0

func (AssetIamMemberOutput) Member added in v6.53.0

func (AssetIamMemberOutput) Project added in v6.53.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

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

func (AssetIamMemberOutput) Role added in v6.53.0

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

func (AssetIamMemberOutput) ToAssetIamMemberOutput added in v6.53.0

func (o AssetIamMemberOutput) ToAssetIamMemberOutput() AssetIamMemberOutput

func (AssetIamMemberOutput) ToAssetIamMemberOutputWithContext added in v6.53.0

func (o AssetIamMemberOutput) ToAssetIamMemberOutputWithContext(ctx context.Context) AssetIamMemberOutput

type AssetIamMemberState added in v6.53.0

type AssetIamMemberState struct {
	// Used to find the parent resource to bind the IAM policy to
	Asset        pulumi.StringPtrInput
	Condition    AssetIamMemberConditionPtrInput
	DataplexZone pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringPtrInput
	Lake     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	Member   pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.AssetIamBinding` 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 (AssetIamMemberState) ElementType added in v6.53.0

func (AssetIamMemberState) ElementType() reflect.Type

type AssetIamPolicy added in v6.53.0

type AssetIamPolicy struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	Asset        pulumi.StringOutput `pulumi:"asset"`
	DataplexZone pulumi.StringOutput `pulumi:"dataplexZone"`
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringOutput `pulumi:"etag"`
	Lake     pulumi.StringOutput `pulumi:"lake"`
	Location pulumi.StringOutput `pulumi:"location"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
}

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

* `dataplex.AssetIamPolicy`: Authoritative. Sets the IAM policy for the asset and replaces any existing policy already attached. * `dataplex.AssetIamBinding`: 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 asset are preserved. * `dataplex.AssetIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the asset are preserved.

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

* `dataplex.AssetIamPolicy`: Retrieves the IAM policy for the asset

> **Note:** `dataplex.AssetIamPolicy` **cannot** be used in conjunction with `dataplex.AssetIamBinding` and `dataplex.AssetIamMember` or they will fight over what your policy should be.

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

## google\_dataplex\_asset\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dataplex.NewAssetIamPolicy(ctx, "policy", &dataplex.AssetIamPolicyArgs{
			Project:      pulumi.Any(google_dataplex_asset.Example.Project),
			Location:     pulumi.Any(google_dataplex_asset.Example.Location),
			Lake:         pulumi.Any(google_dataplex_asset.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_asset.Example.Dataplex_zone),
			Asset:        pulumi.Any(google_dataplex_asset.Example.Name),
			PolicyData:   *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_asset\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewAssetIamBinding(ctx, "binding", &dataplex.AssetIamBindingArgs{
			Project:      pulumi.Any(google_dataplex_asset.Example.Project),
			Location:     pulumi.Any(google_dataplex_asset.Example.Location),
			Lake:         pulumi.Any(google_dataplex_asset.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_asset.Example.Dataplex_zone),
			Asset:        pulumi.Any(google_dataplex_asset.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_asset\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewAssetIamMember(ctx, "member", &dataplex.AssetIamMemberArgs{
			Project:      pulumi.Any(google_dataplex_asset.Example.Project),
			Location:     pulumi.Any(google_dataplex_asset.Example.Location),
			Lake:         pulumi.Any(google_dataplex_asset.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_asset.Example.Dataplex_zone),
			Asset:        pulumi.Any(google_dataplex_asset.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{name}} * {{project}}/{{location}}/{{lake}}/{{dataplex_zone}}/{{name}} * {{location}}/{{lake}}/{{dataplex_zone}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Dataplex asset 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:dataplex/assetIamPolicy:AssetIamPolicy editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{asset}} 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:dataplex/assetIamPolicy:AssetIamPolicy editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{asset}} roles/viewer"

```

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

```sh

$ pulumi import gcp:dataplex/assetIamPolicy:AssetIamPolicy editor projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{dataplex_zone}}/assets/{{asset}}

```

-> **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 GetAssetIamPolicy added in v6.53.0

func GetAssetIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AssetIamPolicyState, opts ...pulumi.ResourceOption) (*AssetIamPolicy, error)

GetAssetIamPolicy gets an existing AssetIamPolicy 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 NewAssetIamPolicy added in v6.53.0

func NewAssetIamPolicy(ctx *pulumi.Context,
	name string, args *AssetIamPolicyArgs, opts ...pulumi.ResourceOption) (*AssetIamPolicy, error)

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

func (*AssetIamPolicy) ElementType added in v6.53.0

func (*AssetIamPolicy) ElementType() reflect.Type

func (*AssetIamPolicy) ToAssetIamPolicyOutput added in v6.53.0

func (i *AssetIamPolicy) ToAssetIamPolicyOutput() AssetIamPolicyOutput

func (*AssetIamPolicy) ToAssetIamPolicyOutputWithContext added in v6.53.0

func (i *AssetIamPolicy) ToAssetIamPolicyOutputWithContext(ctx context.Context) AssetIamPolicyOutput

type AssetIamPolicyArgs added in v6.53.0

type AssetIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Asset        pulumi.StringInput
	DataplexZone pulumi.StringInput
	Lake         pulumi.StringInput
	Location     pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a AssetIamPolicy resource.

func (AssetIamPolicyArgs) ElementType added in v6.53.0

func (AssetIamPolicyArgs) ElementType() reflect.Type

type AssetIamPolicyArray added in v6.53.0

type AssetIamPolicyArray []AssetIamPolicyInput

func (AssetIamPolicyArray) ElementType added in v6.53.0

func (AssetIamPolicyArray) ElementType() reflect.Type

func (AssetIamPolicyArray) ToAssetIamPolicyArrayOutput added in v6.53.0

func (i AssetIamPolicyArray) ToAssetIamPolicyArrayOutput() AssetIamPolicyArrayOutput

func (AssetIamPolicyArray) ToAssetIamPolicyArrayOutputWithContext added in v6.53.0

func (i AssetIamPolicyArray) ToAssetIamPolicyArrayOutputWithContext(ctx context.Context) AssetIamPolicyArrayOutput

type AssetIamPolicyArrayInput added in v6.53.0

type AssetIamPolicyArrayInput interface {
	pulumi.Input

	ToAssetIamPolicyArrayOutput() AssetIamPolicyArrayOutput
	ToAssetIamPolicyArrayOutputWithContext(context.Context) AssetIamPolicyArrayOutput
}

AssetIamPolicyArrayInput is an input type that accepts AssetIamPolicyArray and AssetIamPolicyArrayOutput values. You can construct a concrete instance of `AssetIamPolicyArrayInput` via:

AssetIamPolicyArray{ AssetIamPolicyArgs{...} }

type AssetIamPolicyArrayOutput added in v6.53.0

type AssetIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (AssetIamPolicyArrayOutput) ElementType added in v6.53.0

func (AssetIamPolicyArrayOutput) ElementType() reflect.Type

func (AssetIamPolicyArrayOutput) Index added in v6.53.0

func (AssetIamPolicyArrayOutput) ToAssetIamPolicyArrayOutput added in v6.53.0

func (o AssetIamPolicyArrayOutput) ToAssetIamPolicyArrayOutput() AssetIamPolicyArrayOutput

func (AssetIamPolicyArrayOutput) ToAssetIamPolicyArrayOutputWithContext added in v6.53.0

func (o AssetIamPolicyArrayOutput) ToAssetIamPolicyArrayOutputWithContext(ctx context.Context) AssetIamPolicyArrayOutput

type AssetIamPolicyInput added in v6.53.0

type AssetIamPolicyInput interface {
	pulumi.Input

	ToAssetIamPolicyOutput() AssetIamPolicyOutput
	ToAssetIamPolicyOutputWithContext(ctx context.Context) AssetIamPolicyOutput
}

type AssetIamPolicyMap added in v6.53.0

type AssetIamPolicyMap map[string]AssetIamPolicyInput

func (AssetIamPolicyMap) ElementType added in v6.53.0

func (AssetIamPolicyMap) ElementType() reflect.Type

func (AssetIamPolicyMap) ToAssetIamPolicyMapOutput added in v6.53.0

func (i AssetIamPolicyMap) ToAssetIamPolicyMapOutput() AssetIamPolicyMapOutput

func (AssetIamPolicyMap) ToAssetIamPolicyMapOutputWithContext added in v6.53.0

func (i AssetIamPolicyMap) ToAssetIamPolicyMapOutputWithContext(ctx context.Context) AssetIamPolicyMapOutput

type AssetIamPolicyMapInput added in v6.53.0

type AssetIamPolicyMapInput interface {
	pulumi.Input

	ToAssetIamPolicyMapOutput() AssetIamPolicyMapOutput
	ToAssetIamPolicyMapOutputWithContext(context.Context) AssetIamPolicyMapOutput
}

AssetIamPolicyMapInput is an input type that accepts AssetIamPolicyMap and AssetIamPolicyMapOutput values. You can construct a concrete instance of `AssetIamPolicyMapInput` via:

AssetIamPolicyMap{ "key": AssetIamPolicyArgs{...} }

type AssetIamPolicyMapOutput added in v6.53.0

type AssetIamPolicyMapOutput struct{ *pulumi.OutputState }

func (AssetIamPolicyMapOutput) ElementType added in v6.53.0

func (AssetIamPolicyMapOutput) ElementType() reflect.Type

func (AssetIamPolicyMapOutput) MapIndex added in v6.53.0

func (AssetIamPolicyMapOutput) ToAssetIamPolicyMapOutput added in v6.53.0

func (o AssetIamPolicyMapOutput) ToAssetIamPolicyMapOutput() AssetIamPolicyMapOutput

func (AssetIamPolicyMapOutput) ToAssetIamPolicyMapOutputWithContext added in v6.53.0

func (o AssetIamPolicyMapOutput) ToAssetIamPolicyMapOutputWithContext(ctx context.Context) AssetIamPolicyMapOutput

type AssetIamPolicyOutput added in v6.53.0

type AssetIamPolicyOutput struct{ *pulumi.OutputState }

func (AssetIamPolicyOutput) Asset added in v6.53.0

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

func (AssetIamPolicyOutput) DataplexZone added in v6.53.0

func (o AssetIamPolicyOutput) DataplexZone() pulumi.StringOutput

func (AssetIamPolicyOutput) ElementType added in v6.53.0

func (AssetIamPolicyOutput) ElementType() reflect.Type

func (AssetIamPolicyOutput) Etag added in v6.53.0

(Computed) The etag of the IAM policy.

func (AssetIamPolicyOutput) Lake added in v6.53.0

func (AssetIamPolicyOutput) Location added in v6.53.0

func (AssetIamPolicyOutput) PolicyData added in v6.53.0

func (o AssetIamPolicyOutput) PolicyData() pulumi.StringOutput

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

func (AssetIamPolicyOutput) Project added in v6.53.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

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

func (AssetIamPolicyOutput) ToAssetIamPolicyOutput added in v6.53.0

func (o AssetIamPolicyOutput) ToAssetIamPolicyOutput() AssetIamPolicyOutput

func (AssetIamPolicyOutput) ToAssetIamPolicyOutputWithContext added in v6.53.0

func (o AssetIamPolicyOutput) ToAssetIamPolicyOutputWithContext(ctx context.Context) AssetIamPolicyOutput

type AssetIamPolicyState added in v6.53.0

type AssetIamPolicyState struct {
	// Used to find the parent resource to bind the IAM policy to
	Asset        pulumi.StringPtrInput
	DataplexZone pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringPtrInput
	Lake     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
}

func (AssetIamPolicyState) ElementType added in v6.53.0

func (AssetIamPolicyState) ElementType() reflect.Type

type AssetInput added in v6.34.0

type AssetInput interface {
	pulumi.Input

	ToAssetOutput() AssetOutput
	ToAssetOutputWithContext(ctx context.Context) AssetOutput
}

type AssetMap added in v6.34.0

type AssetMap map[string]AssetInput

func (AssetMap) ElementType added in v6.34.0

func (AssetMap) ElementType() reflect.Type

func (AssetMap) ToAssetMapOutput added in v6.34.0

func (i AssetMap) ToAssetMapOutput() AssetMapOutput

func (AssetMap) ToAssetMapOutputWithContext added in v6.34.0

func (i AssetMap) ToAssetMapOutputWithContext(ctx context.Context) AssetMapOutput

type AssetMapInput added in v6.34.0

type AssetMapInput interface {
	pulumi.Input

	ToAssetMapOutput() AssetMapOutput
	ToAssetMapOutputWithContext(context.Context) AssetMapOutput
}

AssetMapInput is an input type that accepts AssetMap and AssetMapOutput values. You can construct a concrete instance of `AssetMapInput` via:

AssetMap{ "key": AssetArgs{...} }

type AssetMapOutput added in v6.34.0

type AssetMapOutput struct{ *pulumi.OutputState }

func (AssetMapOutput) ElementType added in v6.34.0

func (AssetMapOutput) ElementType() reflect.Type

func (AssetMapOutput) MapIndex added in v6.34.0

func (AssetMapOutput) ToAssetMapOutput added in v6.34.0

func (o AssetMapOutput) ToAssetMapOutput() AssetMapOutput

func (AssetMapOutput) ToAssetMapOutputWithContext added in v6.34.0

func (o AssetMapOutput) ToAssetMapOutputWithContext(ctx context.Context) AssetMapOutput

type AssetOutput added in v6.34.0

type AssetOutput struct{ *pulumi.OutputState }

func (AssetOutput) CreateTime added in v6.34.0

func (o AssetOutput) CreateTime() pulumi.StringOutput

Output only. The time when the asset was created.

func (AssetOutput) DataplexZone added in v6.34.0

func (o AssetOutput) DataplexZone() pulumi.StringOutput

The zone for the resource

func (AssetOutput) Description added in v6.34.0

func (o AssetOutput) Description() pulumi.StringPtrOutput

Optional. Description of the asset.

func (AssetOutput) DiscoverySpec added in v6.34.0

func (o AssetOutput) DiscoverySpec() AssetDiscoverySpecOutput

Required. Specification of the discovery feature applied to data referenced by this asset. When this spec is left unset, the asset will use the spec set on the parent zone.

func (AssetOutput) DiscoveryStatuses added in v6.34.0

func (o AssetOutput) DiscoveryStatuses() AssetDiscoveryStatusArrayOutput

Output only. Status of the discovery feature applied to data referenced by this asset.

func (AssetOutput) DisplayName added in v6.34.0

func (o AssetOutput) DisplayName() pulumi.StringPtrOutput

Optional. User friendly display name.

func (AssetOutput) ElementType added in v6.34.0

func (AssetOutput) ElementType() reflect.Type

func (AssetOutput) Labels added in v6.34.0

func (o AssetOutput) Labels() pulumi.StringMapOutput

Optional. User defined labels for the asset.

func (AssetOutput) Lake added in v6.34.0

func (o AssetOutput) Lake() pulumi.StringOutput

The lake for the resource

func (AssetOutput) Location added in v6.34.0

func (o AssetOutput) Location() pulumi.StringOutput

The location for the resource

func (AssetOutput) Name added in v6.34.0

func (o AssetOutput) Name() pulumi.StringOutput

The name of the asset.

func (AssetOutput) Project added in v6.34.0

func (o AssetOutput) Project() pulumi.StringOutput

The project for the resource

func (AssetOutput) ResourceSpec added in v6.34.0

func (o AssetOutput) ResourceSpec() AssetResourceSpecOutput

Required. Immutable. Specification of the resource that is referenced by this asset.

func (AssetOutput) ResourceStatuses added in v6.34.0

func (o AssetOutput) ResourceStatuses() AssetResourceStatusArrayOutput

Output only. Status of the resource referenced by this asset.

func (AssetOutput) SecurityStatuses added in v6.34.0

func (o AssetOutput) SecurityStatuses() AssetSecurityStatusArrayOutput

Output only. Status of the security policy applied to resource referenced by this asset.

func (AssetOutput) State added in v6.34.0

func (o AssetOutput) State() pulumi.StringOutput

Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED

func (AssetOutput) ToAssetOutput added in v6.34.0

func (o AssetOutput) ToAssetOutput() AssetOutput

func (AssetOutput) ToAssetOutputWithContext added in v6.34.0

func (o AssetOutput) ToAssetOutputWithContext(ctx context.Context) AssetOutput

func (AssetOutput) Uid added in v6.34.0

Output only. System generated globally unique ID for the asset. This ID will be different if the asset is deleted and re-created with the same name.

func (AssetOutput) UpdateTime added in v6.34.0

func (o AssetOutput) UpdateTime() pulumi.StringOutput

Output only. The time when the asset was last updated.

type AssetResourceSpec added in v6.34.0

type AssetResourceSpec struct {
	// Immutable. Relative name of the cloud resource that contains the data that is being managed within a lake. For example: `projects/{project_number}/buckets/{bucket_id}` `projects/{project_number}/datasets/{dataset_id}`
	Name *string `pulumi:"name"`
	// Required. Immutable. Type of resource. Possible values: STORAGE_BUCKET, BIGQUERY_DATASET
	//
	// ***
	Type string `pulumi:"type"`
}

type AssetResourceSpecArgs added in v6.34.0

type AssetResourceSpecArgs struct {
	// Immutable. Relative name of the cloud resource that contains the data that is being managed within a lake. For example: `projects/{project_number}/buckets/{bucket_id}` `projects/{project_number}/datasets/{dataset_id}`
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Required. Immutable. Type of resource. Possible values: STORAGE_BUCKET, BIGQUERY_DATASET
	//
	// ***
	Type pulumi.StringInput `pulumi:"type"`
}

func (AssetResourceSpecArgs) ElementType added in v6.34.0

func (AssetResourceSpecArgs) ElementType() reflect.Type

func (AssetResourceSpecArgs) ToAssetResourceSpecOutput added in v6.34.0

func (i AssetResourceSpecArgs) ToAssetResourceSpecOutput() AssetResourceSpecOutput

func (AssetResourceSpecArgs) ToAssetResourceSpecOutputWithContext added in v6.34.0

func (i AssetResourceSpecArgs) ToAssetResourceSpecOutputWithContext(ctx context.Context) AssetResourceSpecOutput

func (AssetResourceSpecArgs) ToAssetResourceSpecPtrOutput added in v6.34.0

func (i AssetResourceSpecArgs) ToAssetResourceSpecPtrOutput() AssetResourceSpecPtrOutput

func (AssetResourceSpecArgs) ToAssetResourceSpecPtrOutputWithContext added in v6.34.0

func (i AssetResourceSpecArgs) ToAssetResourceSpecPtrOutputWithContext(ctx context.Context) AssetResourceSpecPtrOutput

type AssetResourceSpecInput added in v6.34.0

type AssetResourceSpecInput interface {
	pulumi.Input

	ToAssetResourceSpecOutput() AssetResourceSpecOutput
	ToAssetResourceSpecOutputWithContext(context.Context) AssetResourceSpecOutput
}

AssetResourceSpecInput is an input type that accepts AssetResourceSpecArgs and AssetResourceSpecOutput values. You can construct a concrete instance of `AssetResourceSpecInput` via:

AssetResourceSpecArgs{...}

type AssetResourceSpecOutput added in v6.34.0

type AssetResourceSpecOutput struct{ *pulumi.OutputState }

func (AssetResourceSpecOutput) ElementType added in v6.34.0

func (AssetResourceSpecOutput) ElementType() reflect.Type

func (AssetResourceSpecOutput) Name added in v6.34.0

Immutable. Relative name of the cloud resource that contains the data that is being managed within a lake. For example: `projects/{project_number}/buckets/{bucket_id}` `projects/{project_number}/datasets/{dataset_id}`

func (AssetResourceSpecOutput) ToAssetResourceSpecOutput added in v6.34.0

func (o AssetResourceSpecOutput) ToAssetResourceSpecOutput() AssetResourceSpecOutput

func (AssetResourceSpecOutput) ToAssetResourceSpecOutputWithContext added in v6.34.0

func (o AssetResourceSpecOutput) ToAssetResourceSpecOutputWithContext(ctx context.Context) AssetResourceSpecOutput

func (AssetResourceSpecOutput) ToAssetResourceSpecPtrOutput added in v6.34.0

func (o AssetResourceSpecOutput) ToAssetResourceSpecPtrOutput() AssetResourceSpecPtrOutput

func (AssetResourceSpecOutput) ToAssetResourceSpecPtrOutputWithContext added in v6.34.0

func (o AssetResourceSpecOutput) ToAssetResourceSpecPtrOutputWithContext(ctx context.Context) AssetResourceSpecPtrOutput

func (AssetResourceSpecOutput) Type added in v6.34.0

Required. Immutable. Type of resource. Possible values: STORAGE_BUCKET, BIGQUERY_DATASET

***

type AssetResourceSpecPtrInput added in v6.34.0

type AssetResourceSpecPtrInput interface {
	pulumi.Input

	ToAssetResourceSpecPtrOutput() AssetResourceSpecPtrOutput
	ToAssetResourceSpecPtrOutputWithContext(context.Context) AssetResourceSpecPtrOutput
}

AssetResourceSpecPtrInput is an input type that accepts AssetResourceSpecArgs, AssetResourceSpecPtr and AssetResourceSpecPtrOutput values. You can construct a concrete instance of `AssetResourceSpecPtrInput` via:

        AssetResourceSpecArgs{...}

or:

        nil

func AssetResourceSpecPtr added in v6.34.0

func AssetResourceSpecPtr(v *AssetResourceSpecArgs) AssetResourceSpecPtrInput

type AssetResourceSpecPtrOutput added in v6.34.0

type AssetResourceSpecPtrOutput struct{ *pulumi.OutputState }

func (AssetResourceSpecPtrOutput) Elem added in v6.34.0

func (AssetResourceSpecPtrOutput) ElementType added in v6.34.0

func (AssetResourceSpecPtrOutput) ElementType() reflect.Type

func (AssetResourceSpecPtrOutput) Name added in v6.34.0

Immutable. Relative name of the cloud resource that contains the data that is being managed within a lake. For example: `projects/{project_number}/buckets/{bucket_id}` `projects/{project_number}/datasets/{dataset_id}`

func (AssetResourceSpecPtrOutput) ToAssetResourceSpecPtrOutput added in v6.34.0

func (o AssetResourceSpecPtrOutput) ToAssetResourceSpecPtrOutput() AssetResourceSpecPtrOutput

func (AssetResourceSpecPtrOutput) ToAssetResourceSpecPtrOutputWithContext added in v6.34.0

func (o AssetResourceSpecPtrOutput) ToAssetResourceSpecPtrOutputWithContext(ctx context.Context) AssetResourceSpecPtrOutput

func (AssetResourceSpecPtrOutput) Type added in v6.34.0

Required. Immutable. Type of resource. Possible values: STORAGE_BUCKET, BIGQUERY_DATASET

***

type AssetResourceStatus added in v6.34.0

type AssetResourceStatus struct {
	Message *string `pulumi:"message"`
	// Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State *string `pulumi:"state"`
	// Output only. The time when the asset was last updated.
	UpdateTime *string `pulumi:"updateTime"`
}

type AssetResourceStatusArgs added in v6.34.0

type AssetResourceStatusArgs struct {
	Message pulumi.StringPtrInput `pulumi:"message"`
	// Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State pulumi.StringPtrInput `pulumi:"state"`
	// Output only. The time when the asset was last updated.
	UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"`
}

func (AssetResourceStatusArgs) ElementType added in v6.34.0

func (AssetResourceStatusArgs) ElementType() reflect.Type

func (AssetResourceStatusArgs) ToAssetResourceStatusOutput added in v6.34.0

func (i AssetResourceStatusArgs) ToAssetResourceStatusOutput() AssetResourceStatusOutput

func (AssetResourceStatusArgs) ToAssetResourceStatusOutputWithContext added in v6.34.0

func (i AssetResourceStatusArgs) ToAssetResourceStatusOutputWithContext(ctx context.Context) AssetResourceStatusOutput

type AssetResourceStatusArray added in v6.34.0

type AssetResourceStatusArray []AssetResourceStatusInput

func (AssetResourceStatusArray) ElementType added in v6.34.0

func (AssetResourceStatusArray) ElementType() reflect.Type

func (AssetResourceStatusArray) ToAssetResourceStatusArrayOutput added in v6.34.0

func (i AssetResourceStatusArray) ToAssetResourceStatusArrayOutput() AssetResourceStatusArrayOutput

func (AssetResourceStatusArray) ToAssetResourceStatusArrayOutputWithContext added in v6.34.0

func (i AssetResourceStatusArray) ToAssetResourceStatusArrayOutputWithContext(ctx context.Context) AssetResourceStatusArrayOutput

type AssetResourceStatusArrayInput added in v6.34.0

type AssetResourceStatusArrayInput interface {
	pulumi.Input

	ToAssetResourceStatusArrayOutput() AssetResourceStatusArrayOutput
	ToAssetResourceStatusArrayOutputWithContext(context.Context) AssetResourceStatusArrayOutput
}

AssetResourceStatusArrayInput is an input type that accepts AssetResourceStatusArray and AssetResourceStatusArrayOutput values. You can construct a concrete instance of `AssetResourceStatusArrayInput` via:

AssetResourceStatusArray{ AssetResourceStatusArgs{...} }

type AssetResourceStatusArrayOutput added in v6.34.0

type AssetResourceStatusArrayOutput struct{ *pulumi.OutputState }

func (AssetResourceStatusArrayOutput) ElementType added in v6.34.0

func (AssetResourceStatusArrayOutput) Index added in v6.34.0

func (AssetResourceStatusArrayOutput) ToAssetResourceStatusArrayOutput added in v6.34.0

func (o AssetResourceStatusArrayOutput) ToAssetResourceStatusArrayOutput() AssetResourceStatusArrayOutput

func (AssetResourceStatusArrayOutput) ToAssetResourceStatusArrayOutputWithContext added in v6.34.0

func (o AssetResourceStatusArrayOutput) ToAssetResourceStatusArrayOutputWithContext(ctx context.Context) AssetResourceStatusArrayOutput

type AssetResourceStatusInput added in v6.34.0

type AssetResourceStatusInput interface {
	pulumi.Input

	ToAssetResourceStatusOutput() AssetResourceStatusOutput
	ToAssetResourceStatusOutputWithContext(context.Context) AssetResourceStatusOutput
}

AssetResourceStatusInput is an input type that accepts AssetResourceStatusArgs and AssetResourceStatusOutput values. You can construct a concrete instance of `AssetResourceStatusInput` via:

AssetResourceStatusArgs{...}

type AssetResourceStatusOutput added in v6.34.0

type AssetResourceStatusOutput struct{ *pulumi.OutputState }

func (AssetResourceStatusOutput) ElementType added in v6.34.0

func (AssetResourceStatusOutput) ElementType() reflect.Type

func (AssetResourceStatusOutput) Message added in v6.34.0

func (AssetResourceStatusOutput) State added in v6.34.0

Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED

func (AssetResourceStatusOutput) ToAssetResourceStatusOutput added in v6.34.0

func (o AssetResourceStatusOutput) ToAssetResourceStatusOutput() AssetResourceStatusOutput

func (AssetResourceStatusOutput) ToAssetResourceStatusOutputWithContext added in v6.34.0

func (o AssetResourceStatusOutput) ToAssetResourceStatusOutputWithContext(ctx context.Context) AssetResourceStatusOutput

func (AssetResourceStatusOutput) UpdateTime added in v6.34.0

Output only. The time when the asset was last updated.

type AssetSecurityStatus added in v6.34.0

type AssetSecurityStatus struct {
	Message *string `pulumi:"message"`
	// Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State *string `pulumi:"state"`
	// Output only. The time when the asset was last updated.
	UpdateTime *string `pulumi:"updateTime"`
}

type AssetSecurityStatusArgs added in v6.34.0

type AssetSecurityStatusArgs struct {
	Message pulumi.StringPtrInput `pulumi:"message"`
	// Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State pulumi.StringPtrInput `pulumi:"state"`
	// Output only. The time when the asset was last updated.
	UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"`
}

func (AssetSecurityStatusArgs) ElementType added in v6.34.0

func (AssetSecurityStatusArgs) ElementType() reflect.Type

func (AssetSecurityStatusArgs) ToAssetSecurityStatusOutput added in v6.34.0

func (i AssetSecurityStatusArgs) ToAssetSecurityStatusOutput() AssetSecurityStatusOutput

func (AssetSecurityStatusArgs) ToAssetSecurityStatusOutputWithContext added in v6.34.0

func (i AssetSecurityStatusArgs) ToAssetSecurityStatusOutputWithContext(ctx context.Context) AssetSecurityStatusOutput

type AssetSecurityStatusArray added in v6.34.0

type AssetSecurityStatusArray []AssetSecurityStatusInput

func (AssetSecurityStatusArray) ElementType added in v6.34.0

func (AssetSecurityStatusArray) ElementType() reflect.Type

func (AssetSecurityStatusArray) ToAssetSecurityStatusArrayOutput added in v6.34.0

func (i AssetSecurityStatusArray) ToAssetSecurityStatusArrayOutput() AssetSecurityStatusArrayOutput

func (AssetSecurityStatusArray) ToAssetSecurityStatusArrayOutputWithContext added in v6.34.0

func (i AssetSecurityStatusArray) ToAssetSecurityStatusArrayOutputWithContext(ctx context.Context) AssetSecurityStatusArrayOutput

type AssetSecurityStatusArrayInput added in v6.34.0

type AssetSecurityStatusArrayInput interface {
	pulumi.Input

	ToAssetSecurityStatusArrayOutput() AssetSecurityStatusArrayOutput
	ToAssetSecurityStatusArrayOutputWithContext(context.Context) AssetSecurityStatusArrayOutput
}

AssetSecurityStatusArrayInput is an input type that accepts AssetSecurityStatusArray and AssetSecurityStatusArrayOutput values. You can construct a concrete instance of `AssetSecurityStatusArrayInput` via:

AssetSecurityStatusArray{ AssetSecurityStatusArgs{...} }

type AssetSecurityStatusArrayOutput added in v6.34.0

type AssetSecurityStatusArrayOutput struct{ *pulumi.OutputState }

func (AssetSecurityStatusArrayOutput) ElementType added in v6.34.0

func (AssetSecurityStatusArrayOutput) Index added in v6.34.0

func (AssetSecurityStatusArrayOutput) ToAssetSecurityStatusArrayOutput added in v6.34.0

func (o AssetSecurityStatusArrayOutput) ToAssetSecurityStatusArrayOutput() AssetSecurityStatusArrayOutput

func (AssetSecurityStatusArrayOutput) ToAssetSecurityStatusArrayOutputWithContext added in v6.34.0

func (o AssetSecurityStatusArrayOutput) ToAssetSecurityStatusArrayOutputWithContext(ctx context.Context) AssetSecurityStatusArrayOutput

type AssetSecurityStatusInput added in v6.34.0

type AssetSecurityStatusInput interface {
	pulumi.Input

	ToAssetSecurityStatusOutput() AssetSecurityStatusOutput
	ToAssetSecurityStatusOutputWithContext(context.Context) AssetSecurityStatusOutput
}

AssetSecurityStatusInput is an input type that accepts AssetSecurityStatusArgs and AssetSecurityStatusOutput values. You can construct a concrete instance of `AssetSecurityStatusInput` via:

AssetSecurityStatusArgs{...}

type AssetSecurityStatusOutput added in v6.34.0

type AssetSecurityStatusOutput struct{ *pulumi.OutputState }

func (AssetSecurityStatusOutput) ElementType added in v6.34.0

func (AssetSecurityStatusOutput) ElementType() reflect.Type

func (AssetSecurityStatusOutput) Message added in v6.34.0

func (AssetSecurityStatusOutput) State added in v6.34.0

Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED

func (AssetSecurityStatusOutput) ToAssetSecurityStatusOutput added in v6.34.0

func (o AssetSecurityStatusOutput) ToAssetSecurityStatusOutput() AssetSecurityStatusOutput

func (AssetSecurityStatusOutput) ToAssetSecurityStatusOutputWithContext added in v6.34.0

func (o AssetSecurityStatusOutput) ToAssetSecurityStatusOutputWithContext(ctx context.Context) AssetSecurityStatusOutput

func (AssetSecurityStatusOutput) UpdateTime added in v6.34.0

Output only. The time when the asset was last updated.

type AssetState added in v6.34.0

type AssetState struct {
	// Output only. The time when the asset was created.
	CreateTime pulumi.StringPtrInput
	// The zone for the resource
	DataplexZone pulumi.StringPtrInput
	// Optional. Description of the asset.
	Description pulumi.StringPtrInput
	// Required. Specification of the discovery feature applied to data referenced by this asset. When this spec is left unset, the asset will use the spec set on the parent zone.
	DiscoverySpec AssetDiscoverySpecPtrInput
	// Output only. Status of the discovery feature applied to data referenced by this asset.
	DiscoveryStatuses AssetDiscoveryStatusArrayInput
	// Optional. User friendly display name.
	DisplayName pulumi.StringPtrInput
	// Optional. User defined labels for the asset.
	Labels pulumi.StringMapInput
	// The lake for the resource
	Lake pulumi.StringPtrInput
	// The location for the resource
	Location pulumi.StringPtrInput
	// The name of the asset.
	Name pulumi.StringPtrInput
	// The project for the resource
	Project pulumi.StringPtrInput
	// Required. Immutable. Specification of the resource that is referenced by this asset.
	ResourceSpec AssetResourceSpecPtrInput
	// Output only. Status of the resource referenced by this asset.
	ResourceStatuses AssetResourceStatusArrayInput
	// Output only. Status of the security policy applied to resource referenced by this asset.
	SecurityStatuses AssetSecurityStatusArrayInput
	// Output only. Current state of the asset. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State pulumi.StringPtrInput
	// Output only. System generated globally unique ID for the asset. This ID will be different if the asset is deleted and re-created with the same name.
	Uid pulumi.StringPtrInput
	// Output only. The time when the asset was last updated.
	UpdateTime pulumi.StringPtrInput
}

func (AssetState) ElementType added in v6.34.0

func (AssetState) ElementType() reflect.Type

type Lake

type Lake struct {
	pulumi.CustomResourceState

	// Output only. Aggregated status of the underlying assets of the lake.
	AssetStatuses LakeAssetStatusArrayOutput `pulumi:"assetStatuses"`
	// Output only. The time when the lake was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Optional. Description of the lake.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Optional. User friendly display name.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// Optional. User-defined labels for the lake.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The location for the resource
	Location pulumi.StringOutput `pulumi:"location"`
	// Optional. Settings to manage lake and Dataproc Metastore service instance association.
	Metastore LakeMetastorePtrOutput `pulumi:"metastore"`
	// Output only. Metastore status of the lake.
	MetastoreStatuses LakeMetastoreStatusArrayOutput `pulumi:"metastoreStatuses"`
	// The name of the lake.
	//
	// ***
	Name pulumi.StringOutput `pulumi:"name"`
	// The project for the resource
	Project pulumi.StringOutput `pulumi:"project"`
	// Output only. Service account associated with this lake. This service account must be authorized to access or operate on resources managed by the lake.
	ServiceAccount pulumi.StringOutput `pulumi:"serviceAccount"`
	// Output only. Current state of the lake. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State pulumi.StringOutput `pulumi:"state"`
	// Output only. System generated globally unique ID for the lake. This ID will be different if the lake is deleted and re-created with the same name.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// Output only. The time when the lake was last updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

The Dataplex Lake resource

## Example Usage ### Basic_lake A basic example of a dataplex lake ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewLake(ctx, "primary", &dataplex.LakeArgs{
			Description: pulumi.String("Lake for DCL"),
			DisplayName: pulumi.String("Lake for DCL"),
			Labels: pulumi.StringMap{
				"my-lake": pulumi.String("exists"),
			},
			Location: pulumi.String("us-west1"),
			Project:  pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Lake can be imported using any of these accepted formats

```sh

$ pulumi import gcp:dataplex/lake:Lake default projects/{{project}}/locations/{{location}}/lakes/{{name}}

```

```sh

$ pulumi import gcp:dataplex/lake:Lake default {{project}}/{{location}}/{{name}}

```

```sh

$ pulumi import gcp:dataplex/lake:Lake default {{location}}/{{name}}

```

func GetLake

func GetLake(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LakeState, opts ...pulumi.ResourceOption) (*Lake, error)

GetLake gets an existing Lake 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 NewLake

func NewLake(ctx *pulumi.Context,
	name string, args *LakeArgs, opts ...pulumi.ResourceOption) (*Lake, error)

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

func (*Lake) ElementType

func (*Lake) ElementType() reflect.Type

func (*Lake) ToLakeOutput

func (i *Lake) ToLakeOutput() LakeOutput

func (*Lake) ToLakeOutputWithContext

func (i *Lake) ToLakeOutputWithContext(ctx context.Context) LakeOutput

type LakeArgs

type LakeArgs struct {
	// Optional. Description of the lake.
	Description pulumi.StringPtrInput
	// Optional. User friendly display name.
	DisplayName pulumi.StringPtrInput
	// Optional. User-defined labels for the lake.
	Labels pulumi.StringMapInput
	// The location for the resource
	Location pulumi.StringInput
	// Optional. Settings to manage lake and Dataproc Metastore service instance association.
	Metastore LakeMetastorePtrInput
	// The name of the lake.
	//
	// ***
	Name pulumi.StringPtrInput
	// The project for the resource
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a Lake resource.

func (LakeArgs) ElementType

func (LakeArgs) ElementType() reflect.Type

type LakeArray

type LakeArray []LakeInput

func (LakeArray) ElementType

func (LakeArray) ElementType() reflect.Type

func (LakeArray) ToLakeArrayOutput

func (i LakeArray) ToLakeArrayOutput() LakeArrayOutput

func (LakeArray) ToLakeArrayOutputWithContext

func (i LakeArray) ToLakeArrayOutputWithContext(ctx context.Context) LakeArrayOutput

type LakeArrayInput

type LakeArrayInput interface {
	pulumi.Input

	ToLakeArrayOutput() LakeArrayOutput
	ToLakeArrayOutputWithContext(context.Context) LakeArrayOutput
}

LakeArrayInput is an input type that accepts LakeArray and LakeArrayOutput values. You can construct a concrete instance of `LakeArrayInput` via:

LakeArray{ LakeArgs{...} }

type LakeArrayOutput

type LakeArrayOutput struct{ *pulumi.OutputState }

func (LakeArrayOutput) ElementType

func (LakeArrayOutput) ElementType() reflect.Type

func (LakeArrayOutput) Index

func (LakeArrayOutput) ToLakeArrayOutput

func (o LakeArrayOutput) ToLakeArrayOutput() LakeArrayOutput

func (LakeArrayOutput) ToLakeArrayOutputWithContext

func (o LakeArrayOutput) ToLakeArrayOutputWithContext(ctx context.Context) LakeArrayOutput

type LakeAssetStatus

type LakeAssetStatus struct {
	ActiveAssets                 *int `pulumi:"activeAssets"`
	SecurityPolicyApplyingAssets *int `pulumi:"securityPolicyApplyingAssets"`
	// Output only. The time when the lake was last updated.
	UpdateTime *string `pulumi:"updateTime"`
}

type LakeAssetStatusArgs

type LakeAssetStatusArgs struct {
	ActiveAssets                 pulumi.IntPtrInput `pulumi:"activeAssets"`
	SecurityPolicyApplyingAssets pulumi.IntPtrInput `pulumi:"securityPolicyApplyingAssets"`
	// Output only. The time when the lake was last updated.
	UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"`
}

func (LakeAssetStatusArgs) ElementType

func (LakeAssetStatusArgs) ElementType() reflect.Type

func (LakeAssetStatusArgs) ToLakeAssetStatusOutput

func (i LakeAssetStatusArgs) ToLakeAssetStatusOutput() LakeAssetStatusOutput

func (LakeAssetStatusArgs) ToLakeAssetStatusOutputWithContext

func (i LakeAssetStatusArgs) ToLakeAssetStatusOutputWithContext(ctx context.Context) LakeAssetStatusOutput

type LakeAssetStatusArray

type LakeAssetStatusArray []LakeAssetStatusInput

func (LakeAssetStatusArray) ElementType

func (LakeAssetStatusArray) ElementType() reflect.Type

func (LakeAssetStatusArray) ToLakeAssetStatusArrayOutput

func (i LakeAssetStatusArray) ToLakeAssetStatusArrayOutput() LakeAssetStatusArrayOutput

func (LakeAssetStatusArray) ToLakeAssetStatusArrayOutputWithContext

func (i LakeAssetStatusArray) ToLakeAssetStatusArrayOutputWithContext(ctx context.Context) LakeAssetStatusArrayOutput

type LakeAssetStatusArrayInput

type LakeAssetStatusArrayInput interface {
	pulumi.Input

	ToLakeAssetStatusArrayOutput() LakeAssetStatusArrayOutput
	ToLakeAssetStatusArrayOutputWithContext(context.Context) LakeAssetStatusArrayOutput
}

LakeAssetStatusArrayInput is an input type that accepts LakeAssetStatusArray and LakeAssetStatusArrayOutput values. You can construct a concrete instance of `LakeAssetStatusArrayInput` via:

LakeAssetStatusArray{ LakeAssetStatusArgs{...} }

type LakeAssetStatusArrayOutput

type LakeAssetStatusArrayOutput struct{ *pulumi.OutputState }

func (LakeAssetStatusArrayOutput) ElementType

func (LakeAssetStatusArrayOutput) ElementType() reflect.Type

func (LakeAssetStatusArrayOutput) Index

func (LakeAssetStatusArrayOutput) ToLakeAssetStatusArrayOutput

func (o LakeAssetStatusArrayOutput) ToLakeAssetStatusArrayOutput() LakeAssetStatusArrayOutput

func (LakeAssetStatusArrayOutput) ToLakeAssetStatusArrayOutputWithContext

func (o LakeAssetStatusArrayOutput) ToLakeAssetStatusArrayOutputWithContext(ctx context.Context) LakeAssetStatusArrayOutput

type LakeAssetStatusInput

type LakeAssetStatusInput interface {
	pulumi.Input

	ToLakeAssetStatusOutput() LakeAssetStatusOutput
	ToLakeAssetStatusOutputWithContext(context.Context) LakeAssetStatusOutput
}

LakeAssetStatusInput is an input type that accepts LakeAssetStatusArgs and LakeAssetStatusOutput values. You can construct a concrete instance of `LakeAssetStatusInput` via:

LakeAssetStatusArgs{...}

type LakeAssetStatusOutput

type LakeAssetStatusOutput struct{ *pulumi.OutputState }

func (LakeAssetStatusOutput) ActiveAssets

func (o LakeAssetStatusOutput) ActiveAssets() pulumi.IntPtrOutput

func (LakeAssetStatusOutput) ElementType

func (LakeAssetStatusOutput) ElementType() reflect.Type

func (LakeAssetStatusOutput) SecurityPolicyApplyingAssets

func (o LakeAssetStatusOutput) SecurityPolicyApplyingAssets() pulumi.IntPtrOutput

func (LakeAssetStatusOutput) ToLakeAssetStatusOutput

func (o LakeAssetStatusOutput) ToLakeAssetStatusOutput() LakeAssetStatusOutput

func (LakeAssetStatusOutput) ToLakeAssetStatusOutputWithContext

func (o LakeAssetStatusOutput) ToLakeAssetStatusOutputWithContext(ctx context.Context) LakeAssetStatusOutput

func (LakeAssetStatusOutput) UpdateTime

Output only. The time when the lake was last updated.

type LakeIamBinding added in v6.53.0

type LakeIamBinding struct {
	pulumi.CustomResourceState

	Condition LakeIamBindingConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Used to find the parent resource to bind the IAM policy to
	Lake     pulumi.StringOutput      `pulumi:"lake"`
	Location pulumi.StringOutput      `pulumi:"location"`
	Members  pulumi.StringArrayOutput `pulumi:"members"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `dataplex.LakeIamBinding` 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 Dataplex Lake. Each of these resources serves a different use case:

* `dataplex.LakeIamPolicy`: Authoritative. Sets the IAM policy for the lake and replaces any existing policy already attached. * `dataplex.LakeIamBinding`: 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 lake are preserved. * `dataplex.LakeIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the lake are preserved.

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

* `dataplex.LakeIamPolicy`: Retrieves the IAM policy for the lake

> **Note:** `dataplex.LakeIamPolicy` **cannot** be used in conjunction with `dataplex.LakeIamBinding` and `dataplex.LakeIamMember` or they will fight over what your policy should be.

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

## google\_dataplex\_lake\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dataplex.NewLakeIamPolicy(ctx, "policy", &dataplex.LakeIamPolicyArgs{
			Project:    pulumi.Any(google_dataplex_lake.Example.Project),
			Location:   pulumi.Any(google_dataplex_lake.Example.Location),
			Lake:       pulumi.Any(google_dataplex_lake.Example.Name),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_lake\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewLakeIamBinding(ctx, "binding", &dataplex.LakeIamBindingArgs{
			Project:  pulumi.Any(google_dataplex_lake.Example.Project),
			Location: pulumi.Any(google_dataplex_lake.Example.Location),
			Lake:     pulumi.Any(google_dataplex_lake.Example.Name),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_lake\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewLakeIamMember(ctx, "member", &dataplex.LakeIamMemberArgs{
			Project:  pulumi.Any(google_dataplex_lake.Example.Project),
			Location: pulumi.Any(google_dataplex_lake.Example.Location),
			Lake:     pulumi.Any(google_dataplex_lake.Example.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/lakes/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Dataplex lake 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:dataplex/lakeIamBinding:LakeIamBinding editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}} 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:dataplex/lakeIamBinding:LakeIamBinding editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}} roles/viewer"

```

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

```sh

$ pulumi import gcp:dataplex/lakeIamBinding:LakeIamBinding editor projects/{{project}}/locations/{{location}}/lakes/{{lake}}

```

-> **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 GetLakeIamBinding added in v6.53.0

func GetLakeIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LakeIamBindingState, opts ...pulumi.ResourceOption) (*LakeIamBinding, error)

GetLakeIamBinding gets an existing LakeIamBinding 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 NewLakeIamBinding added in v6.53.0

func NewLakeIamBinding(ctx *pulumi.Context,
	name string, args *LakeIamBindingArgs, opts ...pulumi.ResourceOption) (*LakeIamBinding, error)

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

func (*LakeIamBinding) ElementType added in v6.53.0

func (*LakeIamBinding) ElementType() reflect.Type

func (*LakeIamBinding) ToLakeIamBindingOutput added in v6.53.0

func (i *LakeIamBinding) ToLakeIamBindingOutput() LakeIamBindingOutput

func (*LakeIamBinding) ToLakeIamBindingOutputWithContext added in v6.53.0

func (i *LakeIamBinding) ToLakeIamBindingOutputWithContext(ctx context.Context) LakeIamBindingOutput

type LakeIamBindingArgs added in v6.53.0

type LakeIamBindingArgs struct {
	Condition LakeIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Lake     pulumi.StringInput
	Location pulumi.StringPtrInput
	Members  pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.LakeIamBinding` 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 LakeIamBinding resource.

func (LakeIamBindingArgs) ElementType added in v6.53.0

func (LakeIamBindingArgs) ElementType() reflect.Type

type LakeIamBindingArray added in v6.53.0

type LakeIamBindingArray []LakeIamBindingInput

func (LakeIamBindingArray) ElementType added in v6.53.0

func (LakeIamBindingArray) ElementType() reflect.Type

func (LakeIamBindingArray) ToLakeIamBindingArrayOutput added in v6.53.0

func (i LakeIamBindingArray) ToLakeIamBindingArrayOutput() LakeIamBindingArrayOutput

func (LakeIamBindingArray) ToLakeIamBindingArrayOutputWithContext added in v6.53.0

func (i LakeIamBindingArray) ToLakeIamBindingArrayOutputWithContext(ctx context.Context) LakeIamBindingArrayOutput

type LakeIamBindingArrayInput added in v6.53.0

type LakeIamBindingArrayInput interface {
	pulumi.Input

	ToLakeIamBindingArrayOutput() LakeIamBindingArrayOutput
	ToLakeIamBindingArrayOutputWithContext(context.Context) LakeIamBindingArrayOutput
}

LakeIamBindingArrayInput is an input type that accepts LakeIamBindingArray and LakeIamBindingArrayOutput values. You can construct a concrete instance of `LakeIamBindingArrayInput` via:

LakeIamBindingArray{ LakeIamBindingArgs{...} }

type LakeIamBindingArrayOutput added in v6.53.0

type LakeIamBindingArrayOutput struct{ *pulumi.OutputState }

func (LakeIamBindingArrayOutput) ElementType added in v6.53.0

func (LakeIamBindingArrayOutput) ElementType() reflect.Type

func (LakeIamBindingArrayOutput) Index added in v6.53.0

func (LakeIamBindingArrayOutput) ToLakeIamBindingArrayOutput added in v6.53.0

func (o LakeIamBindingArrayOutput) ToLakeIamBindingArrayOutput() LakeIamBindingArrayOutput

func (LakeIamBindingArrayOutput) ToLakeIamBindingArrayOutputWithContext added in v6.53.0

func (o LakeIamBindingArrayOutput) ToLakeIamBindingArrayOutputWithContext(ctx context.Context) LakeIamBindingArrayOutput

type LakeIamBindingCondition added in v6.53.0

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

type LakeIamBindingConditionArgs added in v6.53.0

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

func (LakeIamBindingConditionArgs) ElementType added in v6.53.0

func (LakeIamBindingConditionArgs) ToLakeIamBindingConditionOutput added in v6.53.0

func (i LakeIamBindingConditionArgs) ToLakeIamBindingConditionOutput() LakeIamBindingConditionOutput

func (LakeIamBindingConditionArgs) ToLakeIamBindingConditionOutputWithContext added in v6.53.0

func (i LakeIamBindingConditionArgs) ToLakeIamBindingConditionOutputWithContext(ctx context.Context) LakeIamBindingConditionOutput

func (LakeIamBindingConditionArgs) ToLakeIamBindingConditionPtrOutput added in v6.53.0

func (i LakeIamBindingConditionArgs) ToLakeIamBindingConditionPtrOutput() LakeIamBindingConditionPtrOutput

func (LakeIamBindingConditionArgs) ToLakeIamBindingConditionPtrOutputWithContext added in v6.53.0

func (i LakeIamBindingConditionArgs) ToLakeIamBindingConditionPtrOutputWithContext(ctx context.Context) LakeIamBindingConditionPtrOutput

type LakeIamBindingConditionInput added in v6.53.0

type LakeIamBindingConditionInput interface {
	pulumi.Input

	ToLakeIamBindingConditionOutput() LakeIamBindingConditionOutput
	ToLakeIamBindingConditionOutputWithContext(context.Context) LakeIamBindingConditionOutput
}

LakeIamBindingConditionInput is an input type that accepts LakeIamBindingConditionArgs and LakeIamBindingConditionOutput values. You can construct a concrete instance of `LakeIamBindingConditionInput` via:

LakeIamBindingConditionArgs{...}

type LakeIamBindingConditionOutput added in v6.53.0

type LakeIamBindingConditionOutput struct{ *pulumi.OutputState }

func (LakeIamBindingConditionOutput) Description added in v6.53.0

func (LakeIamBindingConditionOutput) ElementType added in v6.53.0

func (LakeIamBindingConditionOutput) Expression added in v6.53.0

func (LakeIamBindingConditionOutput) Title added in v6.53.0

func (LakeIamBindingConditionOutput) ToLakeIamBindingConditionOutput added in v6.53.0

func (o LakeIamBindingConditionOutput) ToLakeIamBindingConditionOutput() LakeIamBindingConditionOutput

func (LakeIamBindingConditionOutput) ToLakeIamBindingConditionOutputWithContext added in v6.53.0

func (o LakeIamBindingConditionOutput) ToLakeIamBindingConditionOutputWithContext(ctx context.Context) LakeIamBindingConditionOutput

func (LakeIamBindingConditionOutput) ToLakeIamBindingConditionPtrOutput added in v6.53.0

func (o LakeIamBindingConditionOutput) ToLakeIamBindingConditionPtrOutput() LakeIamBindingConditionPtrOutput

func (LakeIamBindingConditionOutput) ToLakeIamBindingConditionPtrOutputWithContext added in v6.53.0

func (o LakeIamBindingConditionOutput) ToLakeIamBindingConditionPtrOutputWithContext(ctx context.Context) LakeIamBindingConditionPtrOutput

type LakeIamBindingConditionPtrInput added in v6.53.0

type LakeIamBindingConditionPtrInput interface {
	pulumi.Input

	ToLakeIamBindingConditionPtrOutput() LakeIamBindingConditionPtrOutput
	ToLakeIamBindingConditionPtrOutputWithContext(context.Context) LakeIamBindingConditionPtrOutput
}

LakeIamBindingConditionPtrInput is an input type that accepts LakeIamBindingConditionArgs, LakeIamBindingConditionPtr and LakeIamBindingConditionPtrOutput values. You can construct a concrete instance of `LakeIamBindingConditionPtrInput` via:

        LakeIamBindingConditionArgs{...}

or:

        nil

func LakeIamBindingConditionPtr added in v6.53.0

func LakeIamBindingConditionPtr(v *LakeIamBindingConditionArgs) LakeIamBindingConditionPtrInput

type LakeIamBindingConditionPtrOutput added in v6.53.0

type LakeIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (LakeIamBindingConditionPtrOutput) Description added in v6.53.0

func (LakeIamBindingConditionPtrOutput) Elem added in v6.53.0

func (LakeIamBindingConditionPtrOutput) ElementType added in v6.53.0

func (LakeIamBindingConditionPtrOutput) Expression added in v6.53.0

func (LakeIamBindingConditionPtrOutput) Title added in v6.53.0

func (LakeIamBindingConditionPtrOutput) ToLakeIamBindingConditionPtrOutput added in v6.53.0

func (o LakeIamBindingConditionPtrOutput) ToLakeIamBindingConditionPtrOutput() LakeIamBindingConditionPtrOutput

func (LakeIamBindingConditionPtrOutput) ToLakeIamBindingConditionPtrOutputWithContext added in v6.53.0

func (o LakeIamBindingConditionPtrOutput) ToLakeIamBindingConditionPtrOutputWithContext(ctx context.Context) LakeIamBindingConditionPtrOutput

type LakeIamBindingInput added in v6.53.0

type LakeIamBindingInput interface {
	pulumi.Input

	ToLakeIamBindingOutput() LakeIamBindingOutput
	ToLakeIamBindingOutputWithContext(ctx context.Context) LakeIamBindingOutput
}

type LakeIamBindingMap added in v6.53.0

type LakeIamBindingMap map[string]LakeIamBindingInput

func (LakeIamBindingMap) ElementType added in v6.53.0

func (LakeIamBindingMap) ElementType() reflect.Type

func (LakeIamBindingMap) ToLakeIamBindingMapOutput added in v6.53.0

func (i LakeIamBindingMap) ToLakeIamBindingMapOutput() LakeIamBindingMapOutput

func (LakeIamBindingMap) ToLakeIamBindingMapOutputWithContext added in v6.53.0

func (i LakeIamBindingMap) ToLakeIamBindingMapOutputWithContext(ctx context.Context) LakeIamBindingMapOutput

type LakeIamBindingMapInput added in v6.53.0

type LakeIamBindingMapInput interface {
	pulumi.Input

	ToLakeIamBindingMapOutput() LakeIamBindingMapOutput
	ToLakeIamBindingMapOutputWithContext(context.Context) LakeIamBindingMapOutput
}

LakeIamBindingMapInput is an input type that accepts LakeIamBindingMap and LakeIamBindingMapOutput values. You can construct a concrete instance of `LakeIamBindingMapInput` via:

LakeIamBindingMap{ "key": LakeIamBindingArgs{...} }

type LakeIamBindingMapOutput added in v6.53.0

type LakeIamBindingMapOutput struct{ *pulumi.OutputState }

func (LakeIamBindingMapOutput) ElementType added in v6.53.0

func (LakeIamBindingMapOutput) ElementType() reflect.Type

func (LakeIamBindingMapOutput) MapIndex added in v6.53.0

func (LakeIamBindingMapOutput) ToLakeIamBindingMapOutput added in v6.53.0

func (o LakeIamBindingMapOutput) ToLakeIamBindingMapOutput() LakeIamBindingMapOutput

func (LakeIamBindingMapOutput) ToLakeIamBindingMapOutputWithContext added in v6.53.0

func (o LakeIamBindingMapOutput) ToLakeIamBindingMapOutputWithContext(ctx context.Context) LakeIamBindingMapOutput

type LakeIamBindingOutput added in v6.53.0

type LakeIamBindingOutput struct{ *pulumi.OutputState }

func (LakeIamBindingOutput) Condition added in v6.53.0

func (LakeIamBindingOutput) ElementType added in v6.53.0

func (LakeIamBindingOutput) ElementType() reflect.Type

func (LakeIamBindingOutput) Etag added in v6.53.0

(Computed) The etag of the IAM policy.

func (LakeIamBindingOutput) Lake added in v6.53.0

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

func (LakeIamBindingOutput) Location added in v6.53.0

func (LakeIamBindingOutput) Members added in v6.53.0

func (LakeIamBindingOutput) Project added in v6.53.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

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

func (LakeIamBindingOutput) Role added in v6.53.0

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

func (LakeIamBindingOutput) ToLakeIamBindingOutput added in v6.53.0

func (o LakeIamBindingOutput) ToLakeIamBindingOutput() LakeIamBindingOutput

func (LakeIamBindingOutput) ToLakeIamBindingOutputWithContext added in v6.53.0

func (o LakeIamBindingOutput) ToLakeIamBindingOutputWithContext(ctx context.Context) LakeIamBindingOutput

type LakeIamBindingState added in v6.53.0

type LakeIamBindingState struct {
	Condition LakeIamBindingConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Lake     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	Members  pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.LakeIamBinding` 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 (LakeIamBindingState) ElementType added in v6.53.0

func (LakeIamBindingState) ElementType() reflect.Type

type LakeIamMember added in v6.53.0

type LakeIamMember struct {
	pulumi.CustomResourceState

	Condition LakeIamMemberConditionPtrOutput `pulumi:"condition"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Used to find the parent resource to bind the IAM policy to
	Lake     pulumi.StringOutput `pulumi:"lake"`
	Location pulumi.StringOutput `pulumi:"location"`
	Member   pulumi.StringOutput `pulumi:"member"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `dataplex.LakeIamBinding` 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 Dataplex Lake. Each of these resources serves a different use case:

* `dataplex.LakeIamPolicy`: Authoritative. Sets the IAM policy for the lake and replaces any existing policy already attached. * `dataplex.LakeIamBinding`: 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 lake are preserved. * `dataplex.LakeIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the lake are preserved.

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

* `dataplex.LakeIamPolicy`: Retrieves the IAM policy for the lake

> **Note:** `dataplex.LakeIamPolicy` **cannot** be used in conjunction with `dataplex.LakeIamBinding` and `dataplex.LakeIamMember` or they will fight over what your policy should be.

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

## google\_dataplex\_lake\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dataplex.NewLakeIamPolicy(ctx, "policy", &dataplex.LakeIamPolicyArgs{
			Project:    pulumi.Any(google_dataplex_lake.Example.Project),
			Location:   pulumi.Any(google_dataplex_lake.Example.Location),
			Lake:       pulumi.Any(google_dataplex_lake.Example.Name),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_lake\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewLakeIamBinding(ctx, "binding", &dataplex.LakeIamBindingArgs{
			Project:  pulumi.Any(google_dataplex_lake.Example.Project),
			Location: pulumi.Any(google_dataplex_lake.Example.Location),
			Lake:     pulumi.Any(google_dataplex_lake.Example.Name),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_lake\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewLakeIamMember(ctx, "member", &dataplex.LakeIamMemberArgs{
			Project:  pulumi.Any(google_dataplex_lake.Example.Project),
			Location: pulumi.Any(google_dataplex_lake.Example.Location),
			Lake:     pulumi.Any(google_dataplex_lake.Example.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/lakes/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Dataplex lake 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:dataplex/lakeIamMember:LakeIamMember editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}} 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:dataplex/lakeIamMember:LakeIamMember editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}} roles/viewer"

```

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

```sh

$ pulumi import gcp:dataplex/lakeIamMember:LakeIamMember editor projects/{{project}}/locations/{{location}}/lakes/{{lake}}

```

-> **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 GetLakeIamMember added in v6.53.0

func GetLakeIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LakeIamMemberState, opts ...pulumi.ResourceOption) (*LakeIamMember, error)

GetLakeIamMember gets an existing LakeIamMember 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 NewLakeIamMember added in v6.53.0

func NewLakeIamMember(ctx *pulumi.Context,
	name string, args *LakeIamMemberArgs, opts ...pulumi.ResourceOption) (*LakeIamMember, error)

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

func (*LakeIamMember) ElementType added in v6.53.0

func (*LakeIamMember) ElementType() reflect.Type

func (*LakeIamMember) ToLakeIamMemberOutput added in v6.53.0

func (i *LakeIamMember) ToLakeIamMemberOutput() LakeIamMemberOutput

func (*LakeIamMember) ToLakeIamMemberOutputWithContext added in v6.53.0

func (i *LakeIamMember) ToLakeIamMemberOutputWithContext(ctx context.Context) LakeIamMemberOutput

type LakeIamMemberArgs added in v6.53.0

type LakeIamMemberArgs struct {
	Condition LakeIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Lake     pulumi.StringInput
	Location pulumi.StringPtrInput
	Member   pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.LakeIamBinding` 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 LakeIamMember resource.

func (LakeIamMemberArgs) ElementType added in v6.53.0

func (LakeIamMemberArgs) ElementType() reflect.Type

type LakeIamMemberArray added in v6.53.0

type LakeIamMemberArray []LakeIamMemberInput

func (LakeIamMemberArray) ElementType added in v6.53.0

func (LakeIamMemberArray) ElementType() reflect.Type

func (LakeIamMemberArray) ToLakeIamMemberArrayOutput added in v6.53.0

func (i LakeIamMemberArray) ToLakeIamMemberArrayOutput() LakeIamMemberArrayOutput

func (LakeIamMemberArray) ToLakeIamMemberArrayOutputWithContext added in v6.53.0

func (i LakeIamMemberArray) ToLakeIamMemberArrayOutputWithContext(ctx context.Context) LakeIamMemberArrayOutput

type LakeIamMemberArrayInput added in v6.53.0

type LakeIamMemberArrayInput interface {
	pulumi.Input

	ToLakeIamMemberArrayOutput() LakeIamMemberArrayOutput
	ToLakeIamMemberArrayOutputWithContext(context.Context) LakeIamMemberArrayOutput
}

LakeIamMemberArrayInput is an input type that accepts LakeIamMemberArray and LakeIamMemberArrayOutput values. You can construct a concrete instance of `LakeIamMemberArrayInput` via:

LakeIamMemberArray{ LakeIamMemberArgs{...} }

type LakeIamMemberArrayOutput added in v6.53.0

type LakeIamMemberArrayOutput struct{ *pulumi.OutputState }

func (LakeIamMemberArrayOutput) ElementType added in v6.53.0

func (LakeIamMemberArrayOutput) ElementType() reflect.Type

func (LakeIamMemberArrayOutput) Index added in v6.53.0

func (LakeIamMemberArrayOutput) ToLakeIamMemberArrayOutput added in v6.53.0

func (o LakeIamMemberArrayOutput) ToLakeIamMemberArrayOutput() LakeIamMemberArrayOutput

func (LakeIamMemberArrayOutput) ToLakeIamMemberArrayOutputWithContext added in v6.53.0

func (o LakeIamMemberArrayOutput) ToLakeIamMemberArrayOutputWithContext(ctx context.Context) LakeIamMemberArrayOutput

type LakeIamMemberCondition added in v6.53.0

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

type LakeIamMemberConditionArgs added in v6.53.0

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

func (LakeIamMemberConditionArgs) ElementType added in v6.53.0

func (LakeIamMemberConditionArgs) ElementType() reflect.Type

func (LakeIamMemberConditionArgs) ToLakeIamMemberConditionOutput added in v6.53.0

func (i LakeIamMemberConditionArgs) ToLakeIamMemberConditionOutput() LakeIamMemberConditionOutput

func (LakeIamMemberConditionArgs) ToLakeIamMemberConditionOutputWithContext added in v6.53.0

func (i LakeIamMemberConditionArgs) ToLakeIamMemberConditionOutputWithContext(ctx context.Context) LakeIamMemberConditionOutput

func (LakeIamMemberConditionArgs) ToLakeIamMemberConditionPtrOutput added in v6.53.0

func (i LakeIamMemberConditionArgs) ToLakeIamMemberConditionPtrOutput() LakeIamMemberConditionPtrOutput

func (LakeIamMemberConditionArgs) ToLakeIamMemberConditionPtrOutputWithContext added in v6.53.0

func (i LakeIamMemberConditionArgs) ToLakeIamMemberConditionPtrOutputWithContext(ctx context.Context) LakeIamMemberConditionPtrOutput

type LakeIamMemberConditionInput added in v6.53.0

type LakeIamMemberConditionInput interface {
	pulumi.Input

	ToLakeIamMemberConditionOutput() LakeIamMemberConditionOutput
	ToLakeIamMemberConditionOutputWithContext(context.Context) LakeIamMemberConditionOutput
}

LakeIamMemberConditionInput is an input type that accepts LakeIamMemberConditionArgs and LakeIamMemberConditionOutput values. You can construct a concrete instance of `LakeIamMemberConditionInput` via:

LakeIamMemberConditionArgs{...}

type LakeIamMemberConditionOutput added in v6.53.0

type LakeIamMemberConditionOutput struct{ *pulumi.OutputState }

func (LakeIamMemberConditionOutput) Description added in v6.53.0

func (LakeIamMemberConditionOutput) ElementType added in v6.53.0

func (LakeIamMemberConditionOutput) Expression added in v6.53.0

func (LakeIamMemberConditionOutput) Title added in v6.53.0

func (LakeIamMemberConditionOutput) ToLakeIamMemberConditionOutput added in v6.53.0

func (o LakeIamMemberConditionOutput) ToLakeIamMemberConditionOutput() LakeIamMemberConditionOutput

func (LakeIamMemberConditionOutput) ToLakeIamMemberConditionOutputWithContext added in v6.53.0

func (o LakeIamMemberConditionOutput) ToLakeIamMemberConditionOutputWithContext(ctx context.Context) LakeIamMemberConditionOutput

func (LakeIamMemberConditionOutput) ToLakeIamMemberConditionPtrOutput added in v6.53.0

func (o LakeIamMemberConditionOutput) ToLakeIamMemberConditionPtrOutput() LakeIamMemberConditionPtrOutput

func (LakeIamMemberConditionOutput) ToLakeIamMemberConditionPtrOutputWithContext added in v6.53.0

func (o LakeIamMemberConditionOutput) ToLakeIamMemberConditionPtrOutputWithContext(ctx context.Context) LakeIamMemberConditionPtrOutput

type LakeIamMemberConditionPtrInput added in v6.53.0

type LakeIamMemberConditionPtrInput interface {
	pulumi.Input

	ToLakeIamMemberConditionPtrOutput() LakeIamMemberConditionPtrOutput
	ToLakeIamMemberConditionPtrOutputWithContext(context.Context) LakeIamMemberConditionPtrOutput
}

LakeIamMemberConditionPtrInput is an input type that accepts LakeIamMemberConditionArgs, LakeIamMemberConditionPtr and LakeIamMemberConditionPtrOutput values. You can construct a concrete instance of `LakeIamMemberConditionPtrInput` via:

        LakeIamMemberConditionArgs{...}

or:

        nil

func LakeIamMemberConditionPtr added in v6.53.0

func LakeIamMemberConditionPtr(v *LakeIamMemberConditionArgs) LakeIamMemberConditionPtrInput

type LakeIamMemberConditionPtrOutput added in v6.53.0

type LakeIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (LakeIamMemberConditionPtrOutput) Description added in v6.53.0

func (LakeIamMemberConditionPtrOutput) Elem added in v6.53.0

func (LakeIamMemberConditionPtrOutput) ElementType added in v6.53.0

func (LakeIamMemberConditionPtrOutput) Expression added in v6.53.0

func (LakeIamMemberConditionPtrOutput) Title added in v6.53.0

func (LakeIamMemberConditionPtrOutput) ToLakeIamMemberConditionPtrOutput added in v6.53.0

func (o LakeIamMemberConditionPtrOutput) ToLakeIamMemberConditionPtrOutput() LakeIamMemberConditionPtrOutput

func (LakeIamMemberConditionPtrOutput) ToLakeIamMemberConditionPtrOutputWithContext added in v6.53.0

func (o LakeIamMemberConditionPtrOutput) ToLakeIamMemberConditionPtrOutputWithContext(ctx context.Context) LakeIamMemberConditionPtrOutput

type LakeIamMemberInput added in v6.53.0

type LakeIamMemberInput interface {
	pulumi.Input

	ToLakeIamMemberOutput() LakeIamMemberOutput
	ToLakeIamMemberOutputWithContext(ctx context.Context) LakeIamMemberOutput
}

type LakeIamMemberMap added in v6.53.0

type LakeIamMemberMap map[string]LakeIamMemberInput

func (LakeIamMemberMap) ElementType added in v6.53.0

func (LakeIamMemberMap) ElementType() reflect.Type

func (LakeIamMemberMap) ToLakeIamMemberMapOutput added in v6.53.0

func (i LakeIamMemberMap) ToLakeIamMemberMapOutput() LakeIamMemberMapOutput

func (LakeIamMemberMap) ToLakeIamMemberMapOutputWithContext added in v6.53.0

func (i LakeIamMemberMap) ToLakeIamMemberMapOutputWithContext(ctx context.Context) LakeIamMemberMapOutput

type LakeIamMemberMapInput added in v6.53.0

type LakeIamMemberMapInput interface {
	pulumi.Input

	ToLakeIamMemberMapOutput() LakeIamMemberMapOutput
	ToLakeIamMemberMapOutputWithContext(context.Context) LakeIamMemberMapOutput
}

LakeIamMemberMapInput is an input type that accepts LakeIamMemberMap and LakeIamMemberMapOutput values. You can construct a concrete instance of `LakeIamMemberMapInput` via:

LakeIamMemberMap{ "key": LakeIamMemberArgs{...} }

type LakeIamMemberMapOutput added in v6.53.0

type LakeIamMemberMapOutput struct{ *pulumi.OutputState }

func (LakeIamMemberMapOutput) ElementType added in v6.53.0

func (LakeIamMemberMapOutput) ElementType() reflect.Type

func (LakeIamMemberMapOutput) MapIndex added in v6.53.0

func (LakeIamMemberMapOutput) ToLakeIamMemberMapOutput added in v6.53.0

func (o LakeIamMemberMapOutput) ToLakeIamMemberMapOutput() LakeIamMemberMapOutput

func (LakeIamMemberMapOutput) ToLakeIamMemberMapOutputWithContext added in v6.53.0

func (o LakeIamMemberMapOutput) ToLakeIamMemberMapOutputWithContext(ctx context.Context) LakeIamMemberMapOutput

type LakeIamMemberOutput added in v6.53.0

type LakeIamMemberOutput struct{ *pulumi.OutputState }

func (LakeIamMemberOutput) Condition added in v6.53.0

func (LakeIamMemberOutput) ElementType added in v6.53.0

func (LakeIamMemberOutput) ElementType() reflect.Type

func (LakeIamMemberOutput) Etag added in v6.53.0

(Computed) The etag of the IAM policy.

func (LakeIamMemberOutput) Lake added in v6.53.0

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

func (LakeIamMemberOutput) Location added in v6.53.0

func (LakeIamMemberOutput) Member added in v6.53.0

func (LakeIamMemberOutput) Project added in v6.53.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

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

func (LakeIamMemberOutput) Role added in v6.53.0

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

func (LakeIamMemberOutput) ToLakeIamMemberOutput added in v6.53.0

func (o LakeIamMemberOutput) ToLakeIamMemberOutput() LakeIamMemberOutput

func (LakeIamMemberOutput) ToLakeIamMemberOutputWithContext added in v6.53.0

func (o LakeIamMemberOutput) ToLakeIamMemberOutputWithContext(ctx context.Context) LakeIamMemberOutput

type LakeIamMemberState added in v6.53.0

type LakeIamMemberState struct {
	Condition LakeIamMemberConditionPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Lake     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	Member   pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.LakeIamBinding` 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 (LakeIamMemberState) ElementType added in v6.53.0

func (LakeIamMemberState) ElementType() reflect.Type

type LakeIamPolicy added in v6.53.0

type LakeIamPolicy struct {
	pulumi.CustomResourceState

	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Used to find the parent resource to bind the IAM policy to
	Lake     pulumi.StringOutput `pulumi:"lake"`
	Location pulumi.StringOutput `pulumi:"location"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
}

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

* `dataplex.LakeIamPolicy`: Authoritative. Sets the IAM policy for the lake and replaces any existing policy already attached. * `dataplex.LakeIamBinding`: 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 lake are preserved. * `dataplex.LakeIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the lake are preserved.

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

* `dataplex.LakeIamPolicy`: Retrieves the IAM policy for the lake

> **Note:** `dataplex.LakeIamPolicy` **cannot** be used in conjunction with `dataplex.LakeIamBinding` and `dataplex.LakeIamMember` or they will fight over what your policy should be.

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

## google\_dataplex\_lake\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dataplex.NewLakeIamPolicy(ctx, "policy", &dataplex.LakeIamPolicyArgs{
			Project:    pulumi.Any(google_dataplex_lake.Example.Project),
			Location:   pulumi.Any(google_dataplex_lake.Example.Location),
			Lake:       pulumi.Any(google_dataplex_lake.Example.Name),
			PolicyData: *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_lake\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewLakeIamBinding(ctx, "binding", &dataplex.LakeIamBindingArgs{
			Project:  pulumi.Any(google_dataplex_lake.Example.Project),
			Location: pulumi.Any(google_dataplex_lake.Example.Location),
			Lake:     pulumi.Any(google_dataplex_lake.Example.Name),
			Role:     pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_lake\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewLakeIamMember(ctx, "member", &dataplex.LakeIamMemberArgs{
			Project:  pulumi.Any(google_dataplex_lake.Example.Project),
			Location: pulumi.Any(google_dataplex_lake.Example.Location),
			Lake:     pulumi.Any(google_dataplex_lake.Example.Name),
			Role:     pulumi.String("roles/viewer"),
			Member:   pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/lakes/{{name}} * {{project}}/{{location}}/{{name}} * {{location}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Dataplex lake 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:dataplex/lakeIamPolicy:LakeIamPolicy editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}} 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:dataplex/lakeIamPolicy:LakeIamPolicy editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}} roles/viewer"

```

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

```sh

$ pulumi import gcp:dataplex/lakeIamPolicy:LakeIamPolicy editor projects/{{project}}/locations/{{location}}/lakes/{{lake}}

```

-> **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 GetLakeIamPolicy added in v6.53.0

func GetLakeIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LakeIamPolicyState, opts ...pulumi.ResourceOption) (*LakeIamPolicy, error)

GetLakeIamPolicy gets an existing LakeIamPolicy 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 NewLakeIamPolicy added in v6.53.0

func NewLakeIamPolicy(ctx *pulumi.Context,
	name string, args *LakeIamPolicyArgs, opts ...pulumi.ResourceOption) (*LakeIamPolicy, error)

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

func (*LakeIamPolicy) ElementType added in v6.53.0

func (*LakeIamPolicy) ElementType() reflect.Type

func (*LakeIamPolicy) ToLakeIamPolicyOutput added in v6.53.0

func (i *LakeIamPolicy) ToLakeIamPolicyOutput() LakeIamPolicyOutput

func (*LakeIamPolicy) ToLakeIamPolicyOutputWithContext added in v6.53.0

func (i *LakeIamPolicy) ToLakeIamPolicyOutputWithContext(ctx context.Context) LakeIamPolicyOutput

type LakeIamPolicyArgs added in v6.53.0

type LakeIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Lake     pulumi.StringInput
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a LakeIamPolicy resource.

func (LakeIamPolicyArgs) ElementType added in v6.53.0

func (LakeIamPolicyArgs) ElementType() reflect.Type

type LakeIamPolicyArray added in v6.53.0

type LakeIamPolicyArray []LakeIamPolicyInput

func (LakeIamPolicyArray) ElementType added in v6.53.0

func (LakeIamPolicyArray) ElementType() reflect.Type

func (LakeIamPolicyArray) ToLakeIamPolicyArrayOutput added in v6.53.0

func (i LakeIamPolicyArray) ToLakeIamPolicyArrayOutput() LakeIamPolicyArrayOutput

func (LakeIamPolicyArray) ToLakeIamPolicyArrayOutputWithContext added in v6.53.0

func (i LakeIamPolicyArray) ToLakeIamPolicyArrayOutputWithContext(ctx context.Context) LakeIamPolicyArrayOutput

type LakeIamPolicyArrayInput added in v6.53.0

type LakeIamPolicyArrayInput interface {
	pulumi.Input

	ToLakeIamPolicyArrayOutput() LakeIamPolicyArrayOutput
	ToLakeIamPolicyArrayOutputWithContext(context.Context) LakeIamPolicyArrayOutput
}

LakeIamPolicyArrayInput is an input type that accepts LakeIamPolicyArray and LakeIamPolicyArrayOutput values. You can construct a concrete instance of `LakeIamPolicyArrayInput` via:

LakeIamPolicyArray{ LakeIamPolicyArgs{...} }

type LakeIamPolicyArrayOutput added in v6.53.0

type LakeIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (LakeIamPolicyArrayOutput) ElementType added in v6.53.0

func (LakeIamPolicyArrayOutput) ElementType() reflect.Type

func (LakeIamPolicyArrayOutput) Index added in v6.53.0

func (LakeIamPolicyArrayOutput) ToLakeIamPolicyArrayOutput added in v6.53.0

func (o LakeIamPolicyArrayOutput) ToLakeIamPolicyArrayOutput() LakeIamPolicyArrayOutput

func (LakeIamPolicyArrayOutput) ToLakeIamPolicyArrayOutputWithContext added in v6.53.0

func (o LakeIamPolicyArrayOutput) ToLakeIamPolicyArrayOutputWithContext(ctx context.Context) LakeIamPolicyArrayOutput

type LakeIamPolicyInput added in v6.53.0

type LakeIamPolicyInput interface {
	pulumi.Input

	ToLakeIamPolicyOutput() LakeIamPolicyOutput
	ToLakeIamPolicyOutputWithContext(ctx context.Context) LakeIamPolicyOutput
}

type LakeIamPolicyMap added in v6.53.0

type LakeIamPolicyMap map[string]LakeIamPolicyInput

func (LakeIamPolicyMap) ElementType added in v6.53.0

func (LakeIamPolicyMap) ElementType() reflect.Type

func (LakeIamPolicyMap) ToLakeIamPolicyMapOutput added in v6.53.0

func (i LakeIamPolicyMap) ToLakeIamPolicyMapOutput() LakeIamPolicyMapOutput

func (LakeIamPolicyMap) ToLakeIamPolicyMapOutputWithContext added in v6.53.0

func (i LakeIamPolicyMap) ToLakeIamPolicyMapOutputWithContext(ctx context.Context) LakeIamPolicyMapOutput

type LakeIamPolicyMapInput added in v6.53.0

type LakeIamPolicyMapInput interface {
	pulumi.Input

	ToLakeIamPolicyMapOutput() LakeIamPolicyMapOutput
	ToLakeIamPolicyMapOutputWithContext(context.Context) LakeIamPolicyMapOutput
}

LakeIamPolicyMapInput is an input type that accepts LakeIamPolicyMap and LakeIamPolicyMapOutput values. You can construct a concrete instance of `LakeIamPolicyMapInput` via:

LakeIamPolicyMap{ "key": LakeIamPolicyArgs{...} }

type LakeIamPolicyMapOutput added in v6.53.0

type LakeIamPolicyMapOutput struct{ *pulumi.OutputState }

func (LakeIamPolicyMapOutput) ElementType added in v6.53.0

func (LakeIamPolicyMapOutput) ElementType() reflect.Type

func (LakeIamPolicyMapOutput) MapIndex added in v6.53.0

func (LakeIamPolicyMapOutput) ToLakeIamPolicyMapOutput added in v6.53.0

func (o LakeIamPolicyMapOutput) ToLakeIamPolicyMapOutput() LakeIamPolicyMapOutput

func (LakeIamPolicyMapOutput) ToLakeIamPolicyMapOutputWithContext added in v6.53.0

func (o LakeIamPolicyMapOutput) ToLakeIamPolicyMapOutputWithContext(ctx context.Context) LakeIamPolicyMapOutput

type LakeIamPolicyOutput added in v6.53.0

type LakeIamPolicyOutput struct{ *pulumi.OutputState }

func (LakeIamPolicyOutput) ElementType added in v6.53.0

func (LakeIamPolicyOutput) ElementType() reflect.Type

func (LakeIamPolicyOutput) Etag added in v6.53.0

(Computed) The etag of the IAM policy.

func (LakeIamPolicyOutput) Lake added in v6.53.0

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

func (LakeIamPolicyOutput) Location added in v6.53.0

func (LakeIamPolicyOutput) PolicyData added in v6.53.0

func (o LakeIamPolicyOutput) PolicyData() pulumi.StringOutput

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

func (LakeIamPolicyOutput) Project added in v6.53.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

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

func (LakeIamPolicyOutput) ToLakeIamPolicyOutput added in v6.53.0

func (o LakeIamPolicyOutput) ToLakeIamPolicyOutput() LakeIamPolicyOutput

func (LakeIamPolicyOutput) ToLakeIamPolicyOutputWithContext added in v6.53.0

func (o LakeIamPolicyOutput) ToLakeIamPolicyOutputWithContext(ctx context.Context) LakeIamPolicyOutput

type LakeIamPolicyState added in v6.53.0

type LakeIamPolicyState struct {
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Lake     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
}

func (LakeIamPolicyState) ElementType added in v6.53.0

func (LakeIamPolicyState) ElementType() reflect.Type

type LakeInput

type LakeInput interface {
	pulumi.Input

	ToLakeOutput() LakeOutput
	ToLakeOutputWithContext(ctx context.Context) LakeOutput
}

type LakeMap

type LakeMap map[string]LakeInput

func (LakeMap) ElementType

func (LakeMap) ElementType() reflect.Type

func (LakeMap) ToLakeMapOutput

func (i LakeMap) ToLakeMapOutput() LakeMapOutput

func (LakeMap) ToLakeMapOutputWithContext

func (i LakeMap) ToLakeMapOutputWithContext(ctx context.Context) LakeMapOutput

type LakeMapInput

type LakeMapInput interface {
	pulumi.Input

	ToLakeMapOutput() LakeMapOutput
	ToLakeMapOutputWithContext(context.Context) LakeMapOutput
}

LakeMapInput is an input type that accepts LakeMap and LakeMapOutput values. You can construct a concrete instance of `LakeMapInput` via:

LakeMap{ "key": LakeArgs{...} }

type LakeMapOutput

type LakeMapOutput struct{ *pulumi.OutputState }

func (LakeMapOutput) ElementType

func (LakeMapOutput) ElementType() reflect.Type

func (LakeMapOutput) MapIndex

func (LakeMapOutput) ToLakeMapOutput

func (o LakeMapOutput) ToLakeMapOutput() LakeMapOutput

func (LakeMapOutput) ToLakeMapOutputWithContext

func (o LakeMapOutput) ToLakeMapOutputWithContext(ctx context.Context) LakeMapOutput

type LakeMetastore

type LakeMetastore struct {
	// Optional. A relative reference to the Dataproc Metastore (https://cloud.google.com/dataproc-metastore/docs) service associated with the lake: `projects/{project_id}/locations/{location_id}/services/{service_id}`
	Service *string `pulumi:"service"`
}

type LakeMetastoreArgs

type LakeMetastoreArgs struct {
	// Optional. A relative reference to the Dataproc Metastore (https://cloud.google.com/dataproc-metastore/docs) service associated with the lake: `projects/{project_id}/locations/{location_id}/services/{service_id}`
	Service pulumi.StringPtrInput `pulumi:"service"`
}

func (LakeMetastoreArgs) ElementType

func (LakeMetastoreArgs) ElementType() reflect.Type

func (LakeMetastoreArgs) ToLakeMetastoreOutput

func (i LakeMetastoreArgs) ToLakeMetastoreOutput() LakeMetastoreOutput

func (LakeMetastoreArgs) ToLakeMetastoreOutputWithContext

func (i LakeMetastoreArgs) ToLakeMetastoreOutputWithContext(ctx context.Context) LakeMetastoreOutput

func (LakeMetastoreArgs) ToLakeMetastorePtrOutput

func (i LakeMetastoreArgs) ToLakeMetastorePtrOutput() LakeMetastorePtrOutput

func (LakeMetastoreArgs) ToLakeMetastorePtrOutputWithContext

func (i LakeMetastoreArgs) ToLakeMetastorePtrOutputWithContext(ctx context.Context) LakeMetastorePtrOutput

type LakeMetastoreInput

type LakeMetastoreInput interface {
	pulumi.Input

	ToLakeMetastoreOutput() LakeMetastoreOutput
	ToLakeMetastoreOutputWithContext(context.Context) LakeMetastoreOutput
}

LakeMetastoreInput is an input type that accepts LakeMetastoreArgs and LakeMetastoreOutput values. You can construct a concrete instance of `LakeMetastoreInput` via:

LakeMetastoreArgs{...}

type LakeMetastoreOutput

type LakeMetastoreOutput struct{ *pulumi.OutputState }

func (LakeMetastoreOutput) ElementType

func (LakeMetastoreOutput) ElementType() reflect.Type

func (LakeMetastoreOutput) Service

Optional. A relative reference to the Dataproc Metastore (https://cloud.google.com/dataproc-metastore/docs) service associated with the lake: `projects/{project_id}/locations/{location_id}/services/{service_id}`

func (LakeMetastoreOutput) ToLakeMetastoreOutput

func (o LakeMetastoreOutput) ToLakeMetastoreOutput() LakeMetastoreOutput

func (LakeMetastoreOutput) ToLakeMetastoreOutputWithContext

func (o LakeMetastoreOutput) ToLakeMetastoreOutputWithContext(ctx context.Context) LakeMetastoreOutput

func (LakeMetastoreOutput) ToLakeMetastorePtrOutput

func (o LakeMetastoreOutput) ToLakeMetastorePtrOutput() LakeMetastorePtrOutput

func (LakeMetastoreOutput) ToLakeMetastorePtrOutputWithContext

func (o LakeMetastoreOutput) ToLakeMetastorePtrOutputWithContext(ctx context.Context) LakeMetastorePtrOutput

type LakeMetastorePtrInput

type LakeMetastorePtrInput interface {
	pulumi.Input

	ToLakeMetastorePtrOutput() LakeMetastorePtrOutput
	ToLakeMetastorePtrOutputWithContext(context.Context) LakeMetastorePtrOutput
}

LakeMetastorePtrInput is an input type that accepts LakeMetastoreArgs, LakeMetastorePtr and LakeMetastorePtrOutput values. You can construct a concrete instance of `LakeMetastorePtrInput` via:

        LakeMetastoreArgs{...}

or:

        nil

type LakeMetastorePtrOutput

type LakeMetastorePtrOutput struct{ *pulumi.OutputState }

func (LakeMetastorePtrOutput) Elem

func (LakeMetastorePtrOutput) ElementType

func (LakeMetastorePtrOutput) ElementType() reflect.Type

func (LakeMetastorePtrOutput) Service

Optional. A relative reference to the Dataproc Metastore (https://cloud.google.com/dataproc-metastore/docs) service associated with the lake: `projects/{project_id}/locations/{location_id}/services/{service_id}`

func (LakeMetastorePtrOutput) ToLakeMetastorePtrOutput

func (o LakeMetastorePtrOutput) ToLakeMetastorePtrOutput() LakeMetastorePtrOutput

func (LakeMetastorePtrOutput) ToLakeMetastorePtrOutputWithContext

func (o LakeMetastorePtrOutput) ToLakeMetastorePtrOutputWithContext(ctx context.Context) LakeMetastorePtrOutput

type LakeMetastoreStatus

type LakeMetastoreStatus struct {
	Endpoint *string `pulumi:"endpoint"`
	Message  *string `pulumi:"message"`
	// Output only. Current state of the lake. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State *string `pulumi:"state"`
	// Output only. The time when the lake was last updated.
	UpdateTime *string `pulumi:"updateTime"`
}

type LakeMetastoreStatusArgs

type LakeMetastoreStatusArgs struct {
	Endpoint pulumi.StringPtrInput `pulumi:"endpoint"`
	Message  pulumi.StringPtrInput `pulumi:"message"`
	// Output only. Current state of the lake. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State pulumi.StringPtrInput `pulumi:"state"`
	// Output only. The time when the lake was last updated.
	UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"`
}

func (LakeMetastoreStatusArgs) ElementType

func (LakeMetastoreStatusArgs) ElementType() reflect.Type

func (LakeMetastoreStatusArgs) ToLakeMetastoreStatusOutput

func (i LakeMetastoreStatusArgs) ToLakeMetastoreStatusOutput() LakeMetastoreStatusOutput

func (LakeMetastoreStatusArgs) ToLakeMetastoreStatusOutputWithContext

func (i LakeMetastoreStatusArgs) ToLakeMetastoreStatusOutputWithContext(ctx context.Context) LakeMetastoreStatusOutput

type LakeMetastoreStatusArray

type LakeMetastoreStatusArray []LakeMetastoreStatusInput

func (LakeMetastoreStatusArray) ElementType

func (LakeMetastoreStatusArray) ElementType() reflect.Type

func (LakeMetastoreStatusArray) ToLakeMetastoreStatusArrayOutput

func (i LakeMetastoreStatusArray) ToLakeMetastoreStatusArrayOutput() LakeMetastoreStatusArrayOutput

func (LakeMetastoreStatusArray) ToLakeMetastoreStatusArrayOutputWithContext

func (i LakeMetastoreStatusArray) ToLakeMetastoreStatusArrayOutputWithContext(ctx context.Context) LakeMetastoreStatusArrayOutput

type LakeMetastoreStatusArrayInput

type LakeMetastoreStatusArrayInput interface {
	pulumi.Input

	ToLakeMetastoreStatusArrayOutput() LakeMetastoreStatusArrayOutput
	ToLakeMetastoreStatusArrayOutputWithContext(context.Context) LakeMetastoreStatusArrayOutput
}

LakeMetastoreStatusArrayInput is an input type that accepts LakeMetastoreStatusArray and LakeMetastoreStatusArrayOutput values. You can construct a concrete instance of `LakeMetastoreStatusArrayInput` via:

LakeMetastoreStatusArray{ LakeMetastoreStatusArgs{...} }

type LakeMetastoreStatusArrayOutput

type LakeMetastoreStatusArrayOutput struct{ *pulumi.OutputState }

func (LakeMetastoreStatusArrayOutput) ElementType

func (LakeMetastoreStatusArrayOutput) Index

func (LakeMetastoreStatusArrayOutput) ToLakeMetastoreStatusArrayOutput

func (o LakeMetastoreStatusArrayOutput) ToLakeMetastoreStatusArrayOutput() LakeMetastoreStatusArrayOutput

func (LakeMetastoreStatusArrayOutput) ToLakeMetastoreStatusArrayOutputWithContext

func (o LakeMetastoreStatusArrayOutput) ToLakeMetastoreStatusArrayOutputWithContext(ctx context.Context) LakeMetastoreStatusArrayOutput

type LakeMetastoreStatusInput

type LakeMetastoreStatusInput interface {
	pulumi.Input

	ToLakeMetastoreStatusOutput() LakeMetastoreStatusOutput
	ToLakeMetastoreStatusOutputWithContext(context.Context) LakeMetastoreStatusOutput
}

LakeMetastoreStatusInput is an input type that accepts LakeMetastoreStatusArgs and LakeMetastoreStatusOutput values. You can construct a concrete instance of `LakeMetastoreStatusInput` via:

LakeMetastoreStatusArgs{...}

type LakeMetastoreStatusOutput

type LakeMetastoreStatusOutput struct{ *pulumi.OutputState }

func (LakeMetastoreStatusOutput) ElementType

func (LakeMetastoreStatusOutput) ElementType() reflect.Type

func (LakeMetastoreStatusOutput) Endpoint

func (LakeMetastoreStatusOutput) Message

func (LakeMetastoreStatusOutput) State

Output only. Current state of the lake. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED

func (LakeMetastoreStatusOutput) ToLakeMetastoreStatusOutput

func (o LakeMetastoreStatusOutput) ToLakeMetastoreStatusOutput() LakeMetastoreStatusOutput

func (LakeMetastoreStatusOutput) ToLakeMetastoreStatusOutputWithContext

func (o LakeMetastoreStatusOutput) ToLakeMetastoreStatusOutputWithContext(ctx context.Context) LakeMetastoreStatusOutput

func (LakeMetastoreStatusOutput) UpdateTime

Output only. The time when the lake was last updated.

type LakeOutput

type LakeOutput struct{ *pulumi.OutputState }

func (LakeOutput) AssetStatuses

func (o LakeOutput) AssetStatuses() LakeAssetStatusArrayOutput

Output only. Aggregated status of the underlying assets of the lake.

func (LakeOutput) CreateTime

func (o LakeOutput) CreateTime() pulumi.StringOutput

Output only. The time when the lake was created.

func (LakeOutput) Description

func (o LakeOutput) Description() pulumi.StringPtrOutput

Optional. Description of the lake.

func (LakeOutput) DisplayName

func (o LakeOutput) DisplayName() pulumi.StringPtrOutput

Optional. User friendly display name.

func (LakeOutput) ElementType

func (LakeOutput) ElementType() reflect.Type

func (LakeOutput) Labels

func (o LakeOutput) Labels() pulumi.StringMapOutput

Optional. User-defined labels for the lake.

func (LakeOutput) Location

func (o LakeOutput) Location() pulumi.StringOutput

The location for the resource

func (LakeOutput) Metastore

func (o LakeOutput) Metastore() LakeMetastorePtrOutput

Optional. Settings to manage lake and Dataproc Metastore service instance association.

func (LakeOutput) MetastoreStatuses

func (o LakeOutput) MetastoreStatuses() LakeMetastoreStatusArrayOutput

Output only. Metastore status of the lake.

func (LakeOutput) Name

func (o LakeOutput) Name() pulumi.StringOutput

The name of the lake.

***

func (LakeOutput) Project

func (o LakeOutput) Project() pulumi.StringOutput

The project for the resource

func (LakeOutput) ServiceAccount

func (o LakeOutput) ServiceAccount() pulumi.StringOutput

Output only. Service account associated with this lake. This service account must be authorized to access or operate on resources managed by the lake.

func (LakeOutput) State

func (o LakeOutput) State() pulumi.StringOutput

Output only. Current state of the lake. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED

func (LakeOutput) ToLakeOutput

func (o LakeOutput) ToLakeOutput() LakeOutput

func (LakeOutput) ToLakeOutputWithContext

func (o LakeOutput) ToLakeOutputWithContext(ctx context.Context) LakeOutput

func (LakeOutput) Uid

func (o LakeOutput) Uid() pulumi.StringOutput

Output only. System generated globally unique ID for the lake. This ID will be different if the lake is deleted and re-created with the same name.

func (LakeOutput) UpdateTime

func (o LakeOutput) UpdateTime() pulumi.StringOutput

Output only. The time when the lake was last updated.

type LakeState

type LakeState struct {
	// Output only. Aggregated status of the underlying assets of the lake.
	AssetStatuses LakeAssetStatusArrayInput
	// Output only. The time when the lake was created.
	CreateTime pulumi.StringPtrInput
	// Optional. Description of the lake.
	Description pulumi.StringPtrInput
	// Optional. User friendly display name.
	DisplayName pulumi.StringPtrInput
	// Optional. User-defined labels for the lake.
	Labels pulumi.StringMapInput
	// The location for the resource
	Location pulumi.StringPtrInput
	// Optional. Settings to manage lake and Dataproc Metastore service instance association.
	Metastore LakeMetastorePtrInput
	// Output only. Metastore status of the lake.
	MetastoreStatuses LakeMetastoreStatusArrayInput
	// The name of the lake.
	//
	// ***
	Name pulumi.StringPtrInput
	// The project for the resource
	Project pulumi.StringPtrInput
	// Output only. Service account associated with this lake. This service account must be authorized to access or operate on resources managed by the lake.
	ServiceAccount pulumi.StringPtrInput
	// Output only. Current state of the lake. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State pulumi.StringPtrInput
	// Output only. System generated globally unique ID for the lake. This ID will be different if the lake is deleted and re-created with the same name.
	Uid pulumi.StringPtrInput
	// Output only. The time when the lake was last updated.
	UpdateTime pulumi.StringPtrInput
}

func (LakeState) ElementType

func (LakeState) ElementType() reflect.Type

type Zone added in v6.34.0

type Zone struct {
	pulumi.CustomResourceState

	// Output only. Aggregated status of the underlying assets of the zone.
	AssetStatuses ZoneAssetStatusArrayOutput `pulumi:"assetStatuses"`
	// Output only. The time when the zone was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Optional. Description of the zone.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Required. Specification of the discovery feature applied to data in this zone.
	DiscoverySpec ZoneDiscoverySpecOutput `pulumi:"discoverySpec"`
	// Optional. User friendly display name.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// Optional. User defined labels for the zone.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The lake for the resource
	Lake pulumi.StringOutput `pulumi:"lake"`
	// The location for the resource
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the zone.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project for the resource
	Project pulumi.StringOutput `pulumi:"project"`
	// Required. Immutable. Specification of the resources that are referenced by the assets within this zone.
	ResourceSpec ZoneResourceSpecOutput `pulumi:"resourceSpec"`
	// Output only. Current state of the zone. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State pulumi.StringOutput `pulumi:"state"`
	// Required. Immutable. The type of the zone. Possible values: TYPE_UNSPECIFIED, RAW, CURATED
	Type pulumi.StringOutput `pulumi:"type"`
	// Output only. System generated globally unique ID for the zone. This ID will be different if the zone is deleted and re-created with the same name.
	Uid pulumi.StringOutput `pulumi:"uid"`
	// Output only. The time when the zone was last updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

The Dataplex Zone resource

## Example Usage ### Basic_zone A basic example of a dataplex zone ```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		basic, err := dataplex.NewLake(ctx, "basic", &dataplex.LakeArgs{
			Location:    pulumi.String("us-west1"),
			Description: pulumi.String("Lake for DCL"),
			DisplayName: pulumi.String("Lake for DCL"),
			Labels: pulumi.StringMap{
				"my-lake": pulumi.String("exists"),
			},
			Project: pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		_, err = dataplex.NewZone(ctx, "primary", &dataplex.ZoneArgs{
			DiscoverySpec: &dataplex.ZoneDiscoverySpecArgs{
				Enabled: pulumi.Bool(false),
			},
			Lake:     basic.Name,
			Location: pulumi.String("us-west1"),
			ResourceSpec: &dataplex.ZoneResourceSpecArgs{
				LocationType: pulumi.String("MULTI_REGION"),
			},
			Type:        pulumi.String("RAW"),
			Description: pulumi.String("Zone for DCL"),
			DisplayName: pulumi.String("Zone for DCL"),
			Labels:      nil,
			Project:     pulumi.String("my-project-name"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Zone can be imported using any of these accepted formats

```sh

$ pulumi import gcp:dataplex/zone:Zone default projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{name}}

```

```sh

$ pulumi import gcp:dataplex/zone:Zone default {{project}}/{{location}}/{{lake}}/{{name}}

```

```sh

$ pulumi import gcp:dataplex/zone:Zone default {{location}}/{{lake}}/{{name}}

```

func GetZone added in v6.34.0

func GetZone(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ZoneState, opts ...pulumi.ResourceOption) (*Zone, error)

GetZone gets an existing Zone 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 NewZone added in v6.34.0

func NewZone(ctx *pulumi.Context,
	name string, args *ZoneArgs, opts ...pulumi.ResourceOption) (*Zone, error)

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

func (*Zone) ElementType added in v6.34.0

func (*Zone) ElementType() reflect.Type

func (*Zone) ToZoneOutput added in v6.34.0

func (i *Zone) ToZoneOutput() ZoneOutput

func (*Zone) ToZoneOutputWithContext added in v6.34.0

func (i *Zone) ToZoneOutputWithContext(ctx context.Context) ZoneOutput

type ZoneArgs added in v6.34.0

type ZoneArgs struct {
	// Optional. Description of the zone.
	Description pulumi.StringPtrInput
	// Required. Specification of the discovery feature applied to data in this zone.
	DiscoverySpec ZoneDiscoverySpecInput
	// Optional. User friendly display name.
	DisplayName pulumi.StringPtrInput
	// Optional. User defined labels for the zone.
	Labels pulumi.StringMapInput
	// The lake for the resource
	Lake pulumi.StringInput
	// The location for the resource
	Location pulumi.StringInput
	// The name of the zone.
	Name pulumi.StringPtrInput
	// The project for the resource
	Project pulumi.StringPtrInput
	// Required. Immutable. Specification of the resources that are referenced by the assets within this zone.
	ResourceSpec ZoneResourceSpecInput
	// Required. Immutable. The type of the zone. Possible values: TYPE_UNSPECIFIED, RAW, CURATED
	Type pulumi.StringInput
}

The set of arguments for constructing a Zone resource.

func (ZoneArgs) ElementType added in v6.34.0

func (ZoneArgs) ElementType() reflect.Type

type ZoneArray added in v6.34.0

type ZoneArray []ZoneInput

func (ZoneArray) ElementType added in v6.34.0

func (ZoneArray) ElementType() reflect.Type

func (ZoneArray) ToZoneArrayOutput added in v6.34.0

func (i ZoneArray) ToZoneArrayOutput() ZoneArrayOutput

func (ZoneArray) ToZoneArrayOutputWithContext added in v6.34.0

func (i ZoneArray) ToZoneArrayOutputWithContext(ctx context.Context) ZoneArrayOutput

type ZoneArrayInput added in v6.34.0

type ZoneArrayInput interface {
	pulumi.Input

	ToZoneArrayOutput() ZoneArrayOutput
	ToZoneArrayOutputWithContext(context.Context) ZoneArrayOutput
}

ZoneArrayInput is an input type that accepts ZoneArray and ZoneArrayOutput values. You can construct a concrete instance of `ZoneArrayInput` via:

ZoneArray{ ZoneArgs{...} }

type ZoneArrayOutput added in v6.34.0

type ZoneArrayOutput struct{ *pulumi.OutputState }

func (ZoneArrayOutput) ElementType added in v6.34.0

func (ZoneArrayOutput) ElementType() reflect.Type

func (ZoneArrayOutput) Index added in v6.34.0

func (ZoneArrayOutput) ToZoneArrayOutput added in v6.34.0

func (o ZoneArrayOutput) ToZoneArrayOutput() ZoneArrayOutput

func (ZoneArrayOutput) ToZoneArrayOutputWithContext added in v6.34.0

func (o ZoneArrayOutput) ToZoneArrayOutputWithContext(ctx context.Context) ZoneArrayOutput

type ZoneAssetStatus added in v6.34.0

type ZoneAssetStatus struct {
	ActiveAssets                 *int `pulumi:"activeAssets"`
	SecurityPolicyApplyingAssets *int `pulumi:"securityPolicyApplyingAssets"`
	// Output only. The time when the zone was last updated.
	UpdateTime *string `pulumi:"updateTime"`
}

type ZoneAssetStatusArgs added in v6.34.0

type ZoneAssetStatusArgs struct {
	ActiveAssets                 pulumi.IntPtrInput `pulumi:"activeAssets"`
	SecurityPolicyApplyingAssets pulumi.IntPtrInput `pulumi:"securityPolicyApplyingAssets"`
	// Output only. The time when the zone was last updated.
	UpdateTime pulumi.StringPtrInput `pulumi:"updateTime"`
}

func (ZoneAssetStatusArgs) ElementType added in v6.34.0

func (ZoneAssetStatusArgs) ElementType() reflect.Type

func (ZoneAssetStatusArgs) ToZoneAssetStatusOutput added in v6.34.0

func (i ZoneAssetStatusArgs) ToZoneAssetStatusOutput() ZoneAssetStatusOutput

func (ZoneAssetStatusArgs) ToZoneAssetStatusOutputWithContext added in v6.34.0

func (i ZoneAssetStatusArgs) ToZoneAssetStatusOutputWithContext(ctx context.Context) ZoneAssetStatusOutput

type ZoneAssetStatusArray added in v6.34.0

type ZoneAssetStatusArray []ZoneAssetStatusInput

func (ZoneAssetStatusArray) ElementType added in v6.34.0

func (ZoneAssetStatusArray) ElementType() reflect.Type

func (ZoneAssetStatusArray) ToZoneAssetStatusArrayOutput added in v6.34.0

func (i ZoneAssetStatusArray) ToZoneAssetStatusArrayOutput() ZoneAssetStatusArrayOutput

func (ZoneAssetStatusArray) ToZoneAssetStatusArrayOutputWithContext added in v6.34.0

func (i ZoneAssetStatusArray) ToZoneAssetStatusArrayOutputWithContext(ctx context.Context) ZoneAssetStatusArrayOutput

type ZoneAssetStatusArrayInput added in v6.34.0

type ZoneAssetStatusArrayInput interface {
	pulumi.Input

	ToZoneAssetStatusArrayOutput() ZoneAssetStatusArrayOutput
	ToZoneAssetStatusArrayOutputWithContext(context.Context) ZoneAssetStatusArrayOutput
}

ZoneAssetStatusArrayInput is an input type that accepts ZoneAssetStatusArray and ZoneAssetStatusArrayOutput values. You can construct a concrete instance of `ZoneAssetStatusArrayInput` via:

ZoneAssetStatusArray{ ZoneAssetStatusArgs{...} }

type ZoneAssetStatusArrayOutput added in v6.34.0

type ZoneAssetStatusArrayOutput struct{ *pulumi.OutputState }

func (ZoneAssetStatusArrayOutput) ElementType added in v6.34.0

func (ZoneAssetStatusArrayOutput) ElementType() reflect.Type

func (ZoneAssetStatusArrayOutput) Index added in v6.34.0

func (ZoneAssetStatusArrayOutput) ToZoneAssetStatusArrayOutput added in v6.34.0

func (o ZoneAssetStatusArrayOutput) ToZoneAssetStatusArrayOutput() ZoneAssetStatusArrayOutput

func (ZoneAssetStatusArrayOutput) ToZoneAssetStatusArrayOutputWithContext added in v6.34.0

func (o ZoneAssetStatusArrayOutput) ToZoneAssetStatusArrayOutputWithContext(ctx context.Context) ZoneAssetStatusArrayOutput

type ZoneAssetStatusInput added in v6.34.0

type ZoneAssetStatusInput interface {
	pulumi.Input

	ToZoneAssetStatusOutput() ZoneAssetStatusOutput
	ToZoneAssetStatusOutputWithContext(context.Context) ZoneAssetStatusOutput
}

ZoneAssetStatusInput is an input type that accepts ZoneAssetStatusArgs and ZoneAssetStatusOutput values. You can construct a concrete instance of `ZoneAssetStatusInput` via:

ZoneAssetStatusArgs{...}

type ZoneAssetStatusOutput added in v6.34.0

type ZoneAssetStatusOutput struct{ *pulumi.OutputState }

func (ZoneAssetStatusOutput) ActiveAssets added in v6.34.0

func (o ZoneAssetStatusOutput) ActiveAssets() pulumi.IntPtrOutput

func (ZoneAssetStatusOutput) ElementType added in v6.34.0

func (ZoneAssetStatusOutput) ElementType() reflect.Type

func (ZoneAssetStatusOutput) SecurityPolicyApplyingAssets added in v6.34.0

func (o ZoneAssetStatusOutput) SecurityPolicyApplyingAssets() pulumi.IntPtrOutput

func (ZoneAssetStatusOutput) ToZoneAssetStatusOutput added in v6.34.0

func (o ZoneAssetStatusOutput) ToZoneAssetStatusOutput() ZoneAssetStatusOutput

func (ZoneAssetStatusOutput) ToZoneAssetStatusOutputWithContext added in v6.34.0

func (o ZoneAssetStatusOutput) ToZoneAssetStatusOutputWithContext(ctx context.Context) ZoneAssetStatusOutput

func (ZoneAssetStatusOutput) UpdateTime added in v6.34.0

Output only. The time when the zone was last updated.

type ZoneDiscoverySpec added in v6.34.0

type ZoneDiscoverySpec struct {
	// Optional. Configuration for CSV data.
	CsvOptions *ZoneDiscoverySpecCsvOptions `pulumi:"csvOptions"`
	// Required. Whether discovery is enabled.
	Enabled bool `pulumi:"enabled"`
	// Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.
	ExcludePatterns []string `pulumi:"excludePatterns"`
	// Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.
	IncludePatterns []string `pulumi:"includePatterns"`
	// Optional. Configuration for Json data.
	JsonOptions *ZoneDiscoverySpecJsonOptions `pulumi:"jsonOptions"`
	// Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".
	Schedule *string `pulumi:"schedule"`
}

type ZoneDiscoverySpecArgs added in v6.34.0

type ZoneDiscoverySpecArgs struct {
	// Optional. Configuration for CSV data.
	CsvOptions ZoneDiscoverySpecCsvOptionsPtrInput `pulumi:"csvOptions"`
	// Required. Whether discovery is enabled.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.
	ExcludePatterns pulumi.StringArrayInput `pulumi:"excludePatterns"`
	// Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.
	IncludePatterns pulumi.StringArrayInput `pulumi:"includePatterns"`
	// Optional. Configuration for Json data.
	JsonOptions ZoneDiscoverySpecJsonOptionsPtrInput `pulumi:"jsonOptions"`
	// Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".
	Schedule pulumi.StringPtrInput `pulumi:"schedule"`
}

func (ZoneDiscoverySpecArgs) ElementType added in v6.34.0

func (ZoneDiscoverySpecArgs) ElementType() reflect.Type

func (ZoneDiscoverySpecArgs) ToZoneDiscoverySpecOutput added in v6.34.0

func (i ZoneDiscoverySpecArgs) ToZoneDiscoverySpecOutput() ZoneDiscoverySpecOutput

func (ZoneDiscoverySpecArgs) ToZoneDiscoverySpecOutputWithContext added in v6.34.0

func (i ZoneDiscoverySpecArgs) ToZoneDiscoverySpecOutputWithContext(ctx context.Context) ZoneDiscoverySpecOutput

func (ZoneDiscoverySpecArgs) ToZoneDiscoverySpecPtrOutput added in v6.34.0

func (i ZoneDiscoverySpecArgs) ToZoneDiscoverySpecPtrOutput() ZoneDiscoverySpecPtrOutput

func (ZoneDiscoverySpecArgs) ToZoneDiscoverySpecPtrOutputWithContext added in v6.34.0

func (i ZoneDiscoverySpecArgs) ToZoneDiscoverySpecPtrOutputWithContext(ctx context.Context) ZoneDiscoverySpecPtrOutput

type ZoneDiscoverySpecCsvOptions added in v6.34.0

type ZoneDiscoverySpecCsvOptions struct {
	// Optional. The delimiter being used to separate values. This defaults to ','.
	Delimiter *string `pulumi:"delimiter"`
	// Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.
	DisableTypeInference *bool `pulumi:"disableTypeInference"`
	// Optional. The character encoding of the data. The default is UTF-8.
	Encoding *string `pulumi:"encoding"`
	// Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.
	HeaderRows *int `pulumi:"headerRows"`
}

type ZoneDiscoverySpecCsvOptionsArgs added in v6.34.0

type ZoneDiscoverySpecCsvOptionsArgs struct {
	// Optional. The delimiter being used to separate values. This defaults to ','.
	Delimiter pulumi.StringPtrInput `pulumi:"delimiter"`
	// Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.
	DisableTypeInference pulumi.BoolPtrInput `pulumi:"disableTypeInference"`
	// Optional. The character encoding of the data. The default is UTF-8.
	Encoding pulumi.StringPtrInput `pulumi:"encoding"`
	// Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.
	HeaderRows pulumi.IntPtrInput `pulumi:"headerRows"`
}

func (ZoneDiscoverySpecCsvOptionsArgs) ElementType added in v6.34.0

func (ZoneDiscoverySpecCsvOptionsArgs) ToZoneDiscoverySpecCsvOptionsOutput added in v6.34.0

func (i ZoneDiscoverySpecCsvOptionsArgs) ToZoneDiscoverySpecCsvOptionsOutput() ZoneDiscoverySpecCsvOptionsOutput

func (ZoneDiscoverySpecCsvOptionsArgs) ToZoneDiscoverySpecCsvOptionsOutputWithContext added in v6.34.0

func (i ZoneDiscoverySpecCsvOptionsArgs) ToZoneDiscoverySpecCsvOptionsOutputWithContext(ctx context.Context) ZoneDiscoverySpecCsvOptionsOutput

func (ZoneDiscoverySpecCsvOptionsArgs) ToZoneDiscoverySpecCsvOptionsPtrOutput added in v6.34.0

func (i ZoneDiscoverySpecCsvOptionsArgs) ToZoneDiscoverySpecCsvOptionsPtrOutput() ZoneDiscoverySpecCsvOptionsPtrOutput

func (ZoneDiscoverySpecCsvOptionsArgs) ToZoneDiscoverySpecCsvOptionsPtrOutputWithContext added in v6.34.0

func (i ZoneDiscoverySpecCsvOptionsArgs) ToZoneDiscoverySpecCsvOptionsPtrOutputWithContext(ctx context.Context) ZoneDiscoverySpecCsvOptionsPtrOutput

type ZoneDiscoverySpecCsvOptionsInput added in v6.34.0

type ZoneDiscoverySpecCsvOptionsInput interface {
	pulumi.Input

	ToZoneDiscoverySpecCsvOptionsOutput() ZoneDiscoverySpecCsvOptionsOutput
	ToZoneDiscoverySpecCsvOptionsOutputWithContext(context.Context) ZoneDiscoverySpecCsvOptionsOutput
}

ZoneDiscoverySpecCsvOptionsInput is an input type that accepts ZoneDiscoverySpecCsvOptionsArgs and ZoneDiscoverySpecCsvOptionsOutput values. You can construct a concrete instance of `ZoneDiscoverySpecCsvOptionsInput` via:

ZoneDiscoverySpecCsvOptionsArgs{...}

type ZoneDiscoverySpecCsvOptionsOutput added in v6.34.0

type ZoneDiscoverySpecCsvOptionsOutput struct{ *pulumi.OutputState }

func (ZoneDiscoverySpecCsvOptionsOutput) Delimiter added in v6.34.0

Optional. The delimiter being used to separate values. This defaults to ','.

func (ZoneDiscoverySpecCsvOptionsOutput) DisableTypeInference added in v6.34.0

func (o ZoneDiscoverySpecCsvOptionsOutput) DisableTypeInference() pulumi.BoolPtrOutput

Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.

func (ZoneDiscoverySpecCsvOptionsOutput) ElementType added in v6.34.0

func (ZoneDiscoverySpecCsvOptionsOutput) Encoding added in v6.34.0

Optional. The character encoding of the data. The default is UTF-8.

func (ZoneDiscoverySpecCsvOptionsOutput) HeaderRows added in v6.34.0

Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.

func (ZoneDiscoverySpecCsvOptionsOutput) ToZoneDiscoverySpecCsvOptionsOutput added in v6.34.0

func (o ZoneDiscoverySpecCsvOptionsOutput) ToZoneDiscoverySpecCsvOptionsOutput() ZoneDiscoverySpecCsvOptionsOutput

func (ZoneDiscoverySpecCsvOptionsOutput) ToZoneDiscoverySpecCsvOptionsOutputWithContext added in v6.34.0

func (o ZoneDiscoverySpecCsvOptionsOutput) ToZoneDiscoverySpecCsvOptionsOutputWithContext(ctx context.Context) ZoneDiscoverySpecCsvOptionsOutput

func (ZoneDiscoverySpecCsvOptionsOutput) ToZoneDiscoverySpecCsvOptionsPtrOutput added in v6.34.0

func (o ZoneDiscoverySpecCsvOptionsOutput) ToZoneDiscoverySpecCsvOptionsPtrOutput() ZoneDiscoverySpecCsvOptionsPtrOutput

func (ZoneDiscoverySpecCsvOptionsOutput) ToZoneDiscoverySpecCsvOptionsPtrOutputWithContext added in v6.34.0

func (o ZoneDiscoverySpecCsvOptionsOutput) ToZoneDiscoverySpecCsvOptionsPtrOutputWithContext(ctx context.Context) ZoneDiscoverySpecCsvOptionsPtrOutput

type ZoneDiscoverySpecCsvOptionsPtrInput added in v6.34.0

type ZoneDiscoverySpecCsvOptionsPtrInput interface {
	pulumi.Input

	ToZoneDiscoverySpecCsvOptionsPtrOutput() ZoneDiscoverySpecCsvOptionsPtrOutput
	ToZoneDiscoverySpecCsvOptionsPtrOutputWithContext(context.Context) ZoneDiscoverySpecCsvOptionsPtrOutput
}

ZoneDiscoverySpecCsvOptionsPtrInput is an input type that accepts ZoneDiscoverySpecCsvOptionsArgs, ZoneDiscoverySpecCsvOptionsPtr and ZoneDiscoverySpecCsvOptionsPtrOutput values. You can construct a concrete instance of `ZoneDiscoverySpecCsvOptionsPtrInput` via:

        ZoneDiscoverySpecCsvOptionsArgs{...}

or:

        nil

func ZoneDiscoverySpecCsvOptionsPtr added in v6.34.0

type ZoneDiscoverySpecCsvOptionsPtrOutput added in v6.34.0

type ZoneDiscoverySpecCsvOptionsPtrOutput struct{ *pulumi.OutputState }

func (ZoneDiscoverySpecCsvOptionsPtrOutput) Delimiter added in v6.34.0

Optional. The delimiter being used to separate values. This defaults to ','.

func (ZoneDiscoverySpecCsvOptionsPtrOutput) DisableTypeInference added in v6.34.0

Optional. Whether to disable the inference of data type for CSV data. If true, all columns will be registered as strings.

func (ZoneDiscoverySpecCsvOptionsPtrOutput) Elem added in v6.34.0

func (ZoneDiscoverySpecCsvOptionsPtrOutput) ElementType added in v6.34.0

func (ZoneDiscoverySpecCsvOptionsPtrOutput) Encoding added in v6.34.0

Optional. The character encoding of the data. The default is UTF-8.

func (ZoneDiscoverySpecCsvOptionsPtrOutput) HeaderRows added in v6.34.0

Optional. The number of rows to interpret as header rows that should be skipped when reading data rows.

func (ZoneDiscoverySpecCsvOptionsPtrOutput) ToZoneDiscoverySpecCsvOptionsPtrOutput added in v6.34.0

func (o ZoneDiscoverySpecCsvOptionsPtrOutput) ToZoneDiscoverySpecCsvOptionsPtrOutput() ZoneDiscoverySpecCsvOptionsPtrOutput

func (ZoneDiscoverySpecCsvOptionsPtrOutput) ToZoneDiscoverySpecCsvOptionsPtrOutputWithContext added in v6.34.0

func (o ZoneDiscoverySpecCsvOptionsPtrOutput) ToZoneDiscoverySpecCsvOptionsPtrOutputWithContext(ctx context.Context) ZoneDiscoverySpecCsvOptionsPtrOutput

type ZoneDiscoverySpecInput added in v6.34.0

type ZoneDiscoverySpecInput interface {
	pulumi.Input

	ToZoneDiscoverySpecOutput() ZoneDiscoverySpecOutput
	ToZoneDiscoverySpecOutputWithContext(context.Context) ZoneDiscoverySpecOutput
}

ZoneDiscoverySpecInput is an input type that accepts ZoneDiscoverySpecArgs and ZoneDiscoverySpecOutput values. You can construct a concrete instance of `ZoneDiscoverySpecInput` via:

ZoneDiscoverySpecArgs{...}

type ZoneDiscoverySpecJsonOptions added in v6.34.0

type ZoneDiscoverySpecJsonOptions struct {
	// Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).
	DisableTypeInference *bool `pulumi:"disableTypeInference"`
	// Optional. The character encoding of the data. The default is UTF-8.
	Encoding *string `pulumi:"encoding"`
}

type ZoneDiscoverySpecJsonOptionsArgs added in v6.34.0

type ZoneDiscoverySpecJsonOptionsArgs struct {
	// Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).
	DisableTypeInference pulumi.BoolPtrInput `pulumi:"disableTypeInference"`
	// Optional. The character encoding of the data. The default is UTF-8.
	Encoding pulumi.StringPtrInput `pulumi:"encoding"`
}

func (ZoneDiscoverySpecJsonOptionsArgs) ElementType added in v6.34.0

func (ZoneDiscoverySpecJsonOptionsArgs) ToZoneDiscoverySpecJsonOptionsOutput added in v6.34.0

func (i ZoneDiscoverySpecJsonOptionsArgs) ToZoneDiscoverySpecJsonOptionsOutput() ZoneDiscoverySpecJsonOptionsOutput

func (ZoneDiscoverySpecJsonOptionsArgs) ToZoneDiscoverySpecJsonOptionsOutputWithContext added in v6.34.0

func (i ZoneDiscoverySpecJsonOptionsArgs) ToZoneDiscoverySpecJsonOptionsOutputWithContext(ctx context.Context) ZoneDiscoverySpecJsonOptionsOutput

func (ZoneDiscoverySpecJsonOptionsArgs) ToZoneDiscoverySpecJsonOptionsPtrOutput added in v6.34.0

func (i ZoneDiscoverySpecJsonOptionsArgs) ToZoneDiscoverySpecJsonOptionsPtrOutput() ZoneDiscoverySpecJsonOptionsPtrOutput

func (ZoneDiscoverySpecJsonOptionsArgs) ToZoneDiscoverySpecJsonOptionsPtrOutputWithContext added in v6.34.0

func (i ZoneDiscoverySpecJsonOptionsArgs) ToZoneDiscoverySpecJsonOptionsPtrOutputWithContext(ctx context.Context) ZoneDiscoverySpecJsonOptionsPtrOutput

type ZoneDiscoverySpecJsonOptionsInput added in v6.34.0

type ZoneDiscoverySpecJsonOptionsInput interface {
	pulumi.Input

	ToZoneDiscoverySpecJsonOptionsOutput() ZoneDiscoverySpecJsonOptionsOutput
	ToZoneDiscoverySpecJsonOptionsOutputWithContext(context.Context) ZoneDiscoverySpecJsonOptionsOutput
}

ZoneDiscoverySpecJsonOptionsInput is an input type that accepts ZoneDiscoverySpecJsonOptionsArgs and ZoneDiscoverySpecJsonOptionsOutput values. You can construct a concrete instance of `ZoneDiscoverySpecJsonOptionsInput` via:

ZoneDiscoverySpecJsonOptionsArgs{...}

type ZoneDiscoverySpecJsonOptionsOutput added in v6.34.0

type ZoneDiscoverySpecJsonOptionsOutput struct{ *pulumi.OutputState }

func (ZoneDiscoverySpecJsonOptionsOutput) DisableTypeInference added in v6.34.0

func (o ZoneDiscoverySpecJsonOptionsOutput) DisableTypeInference() pulumi.BoolPtrOutput

Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).

func (ZoneDiscoverySpecJsonOptionsOutput) ElementType added in v6.34.0

func (ZoneDiscoverySpecJsonOptionsOutput) Encoding added in v6.34.0

Optional. The character encoding of the data. The default is UTF-8.

func (ZoneDiscoverySpecJsonOptionsOutput) ToZoneDiscoverySpecJsonOptionsOutput added in v6.34.0

func (o ZoneDiscoverySpecJsonOptionsOutput) ToZoneDiscoverySpecJsonOptionsOutput() ZoneDiscoverySpecJsonOptionsOutput

func (ZoneDiscoverySpecJsonOptionsOutput) ToZoneDiscoverySpecJsonOptionsOutputWithContext added in v6.34.0

func (o ZoneDiscoverySpecJsonOptionsOutput) ToZoneDiscoverySpecJsonOptionsOutputWithContext(ctx context.Context) ZoneDiscoverySpecJsonOptionsOutput

func (ZoneDiscoverySpecJsonOptionsOutput) ToZoneDiscoverySpecJsonOptionsPtrOutput added in v6.34.0

func (o ZoneDiscoverySpecJsonOptionsOutput) ToZoneDiscoverySpecJsonOptionsPtrOutput() ZoneDiscoverySpecJsonOptionsPtrOutput

func (ZoneDiscoverySpecJsonOptionsOutput) ToZoneDiscoverySpecJsonOptionsPtrOutputWithContext added in v6.34.0

func (o ZoneDiscoverySpecJsonOptionsOutput) ToZoneDiscoverySpecJsonOptionsPtrOutputWithContext(ctx context.Context) ZoneDiscoverySpecJsonOptionsPtrOutput

type ZoneDiscoverySpecJsonOptionsPtrInput added in v6.34.0

type ZoneDiscoverySpecJsonOptionsPtrInput interface {
	pulumi.Input

	ToZoneDiscoverySpecJsonOptionsPtrOutput() ZoneDiscoverySpecJsonOptionsPtrOutput
	ToZoneDiscoverySpecJsonOptionsPtrOutputWithContext(context.Context) ZoneDiscoverySpecJsonOptionsPtrOutput
}

ZoneDiscoverySpecJsonOptionsPtrInput is an input type that accepts ZoneDiscoverySpecJsonOptionsArgs, ZoneDiscoverySpecJsonOptionsPtr and ZoneDiscoverySpecJsonOptionsPtrOutput values. You can construct a concrete instance of `ZoneDiscoverySpecJsonOptionsPtrInput` via:

        ZoneDiscoverySpecJsonOptionsArgs{...}

or:

        nil

func ZoneDiscoverySpecJsonOptionsPtr added in v6.34.0

type ZoneDiscoverySpecJsonOptionsPtrOutput added in v6.34.0

type ZoneDiscoverySpecJsonOptionsPtrOutput struct{ *pulumi.OutputState }

func (ZoneDiscoverySpecJsonOptionsPtrOutput) DisableTypeInference added in v6.34.0

Optional. Whether to disable the inference of data type for Json data. If true, all columns will be registered as their primitive types (strings, number or boolean).

func (ZoneDiscoverySpecJsonOptionsPtrOutput) Elem added in v6.34.0

func (ZoneDiscoverySpecJsonOptionsPtrOutput) ElementType added in v6.34.0

func (ZoneDiscoverySpecJsonOptionsPtrOutput) Encoding added in v6.34.0

Optional. The character encoding of the data. The default is UTF-8.

func (ZoneDiscoverySpecJsonOptionsPtrOutput) ToZoneDiscoverySpecJsonOptionsPtrOutput added in v6.34.0

func (o ZoneDiscoverySpecJsonOptionsPtrOutput) ToZoneDiscoverySpecJsonOptionsPtrOutput() ZoneDiscoverySpecJsonOptionsPtrOutput

func (ZoneDiscoverySpecJsonOptionsPtrOutput) ToZoneDiscoverySpecJsonOptionsPtrOutputWithContext added in v6.34.0

func (o ZoneDiscoverySpecJsonOptionsPtrOutput) ToZoneDiscoverySpecJsonOptionsPtrOutputWithContext(ctx context.Context) ZoneDiscoverySpecJsonOptionsPtrOutput

type ZoneDiscoverySpecOutput added in v6.34.0

type ZoneDiscoverySpecOutput struct{ *pulumi.OutputState }

func (ZoneDiscoverySpecOutput) CsvOptions added in v6.34.0

Optional. Configuration for CSV data.

func (ZoneDiscoverySpecOutput) ElementType added in v6.34.0

func (ZoneDiscoverySpecOutput) ElementType() reflect.Type

func (ZoneDiscoverySpecOutput) Enabled added in v6.34.0

Required. Whether discovery is enabled.

func (ZoneDiscoverySpecOutput) ExcludePatterns added in v6.34.0

func (o ZoneDiscoverySpecOutput) ExcludePatterns() pulumi.StringArrayOutput

Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

func (ZoneDiscoverySpecOutput) IncludePatterns added in v6.34.0

func (o ZoneDiscoverySpecOutput) IncludePatterns() pulumi.StringArrayOutput

Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

func (ZoneDiscoverySpecOutput) JsonOptions added in v6.34.0

Optional. Configuration for Json data.

func (ZoneDiscoverySpecOutput) Schedule added in v6.34.0

Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".

func (ZoneDiscoverySpecOutput) ToZoneDiscoverySpecOutput added in v6.34.0

func (o ZoneDiscoverySpecOutput) ToZoneDiscoverySpecOutput() ZoneDiscoverySpecOutput

func (ZoneDiscoverySpecOutput) ToZoneDiscoverySpecOutputWithContext added in v6.34.0

func (o ZoneDiscoverySpecOutput) ToZoneDiscoverySpecOutputWithContext(ctx context.Context) ZoneDiscoverySpecOutput

func (ZoneDiscoverySpecOutput) ToZoneDiscoverySpecPtrOutput added in v6.34.0

func (o ZoneDiscoverySpecOutput) ToZoneDiscoverySpecPtrOutput() ZoneDiscoverySpecPtrOutput

func (ZoneDiscoverySpecOutput) ToZoneDiscoverySpecPtrOutputWithContext added in v6.34.0

func (o ZoneDiscoverySpecOutput) ToZoneDiscoverySpecPtrOutputWithContext(ctx context.Context) ZoneDiscoverySpecPtrOutput

type ZoneDiscoverySpecPtrInput added in v6.34.0

type ZoneDiscoverySpecPtrInput interface {
	pulumi.Input

	ToZoneDiscoverySpecPtrOutput() ZoneDiscoverySpecPtrOutput
	ToZoneDiscoverySpecPtrOutputWithContext(context.Context) ZoneDiscoverySpecPtrOutput
}

ZoneDiscoverySpecPtrInput is an input type that accepts ZoneDiscoverySpecArgs, ZoneDiscoverySpecPtr and ZoneDiscoverySpecPtrOutput values. You can construct a concrete instance of `ZoneDiscoverySpecPtrInput` via:

        ZoneDiscoverySpecArgs{...}

or:

        nil

func ZoneDiscoverySpecPtr added in v6.34.0

func ZoneDiscoverySpecPtr(v *ZoneDiscoverySpecArgs) ZoneDiscoverySpecPtrInput

type ZoneDiscoverySpecPtrOutput added in v6.34.0

type ZoneDiscoverySpecPtrOutput struct{ *pulumi.OutputState }

func (ZoneDiscoverySpecPtrOutput) CsvOptions added in v6.34.0

Optional. Configuration for CSV data.

func (ZoneDiscoverySpecPtrOutput) Elem added in v6.34.0

func (ZoneDiscoverySpecPtrOutput) ElementType added in v6.34.0

func (ZoneDiscoverySpecPtrOutput) ElementType() reflect.Type

func (ZoneDiscoverySpecPtrOutput) Enabled added in v6.34.0

Required. Whether discovery is enabled.

func (ZoneDiscoverySpecPtrOutput) ExcludePatterns added in v6.34.0

Optional. The list of patterns to apply for selecting data to exclude during discovery. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

func (ZoneDiscoverySpecPtrOutput) IncludePatterns added in v6.34.0

Optional. The list of patterns to apply for selecting data to include during discovery if only a subset of the data should considered. For Cloud Storage bucket assets, these are interpreted as glob patterns used to match object names. For BigQuery dataset assets, these are interpreted as patterns to match table names.

func (ZoneDiscoverySpecPtrOutput) JsonOptions added in v6.34.0

Optional. Configuration for Json data.

func (ZoneDiscoverySpecPtrOutput) Schedule added in v6.34.0

Optional. Cron schedule (https://en.wikipedia.org/wiki/Cron) for running discovery periodically. Successive discovery runs must be scheduled at least 60 minutes apart. The default value is to run discovery every 60 minutes. To explicitly set a timezone to the cron tab, apply a prefix in the cron tab: "CRON_TZ=${IANA_TIME_ZONE}" or TZ=${IANA_TIME_ZONE}". The ${IANA_TIME_ZONE} may only be a valid string from IANA time zone database. For example, "CRON_TZ=America/New_York 1 * * * *", or "TZ=America/New_York 1 * * * *".

func (ZoneDiscoverySpecPtrOutput) ToZoneDiscoverySpecPtrOutput added in v6.34.0

func (o ZoneDiscoverySpecPtrOutput) ToZoneDiscoverySpecPtrOutput() ZoneDiscoverySpecPtrOutput

func (ZoneDiscoverySpecPtrOutput) ToZoneDiscoverySpecPtrOutputWithContext added in v6.34.0

func (o ZoneDiscoverySpecPtrOutput) ToZoneDiscoverySpecPtrOutputWithContext(ctx context.Context) ZoneDiscoverySpecPtrOutput

type ZoneIamBinding added in v6.53.0

type ZoneIamBinding struct {
	pulumi.CustomResourceState

	Condition ZoneIamBindingConditionPtrOutput `pulumi:"condition"`
	// Used to find the parent resource to bind the IAM policy to
	DataplexZone pulumi.StringOutput `pulumi:"dataplexZone"`
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringOutput      `pulumi:"etag"`
	Lake     pulumi.StringOutput      `pulumi:"lake"`
	Location pulumi.StringOutput      `pulumi:"location"`
	Members  pulumi.StringArrayOutput `pulumi:"members"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `dataplex.ZoneIamBinding` 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 Dataplex Zone. Each of these resources serves a different use case:

* `dataplex.ZoneIamPolicy`: Authoritative. Sets the IAM policy for the zone and replaces any existing policy already attached. * `dataplex.ZoneIamBinding`: 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 zone are preserved. * `dataplex.ZoneIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the zone are preserved.

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

* `dataplex.ZoneIamPolicy`: Retrieves the IAM policy for the zone

> **Note:** `dataplex.ZoneIamPolicy` **cannot** be used in conjunction with `dataplex.ZoneIamBinding` and `dataplex.ZoneIamMember` or they will fight over what your policy should be.

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

## google\_dataplex\_zone\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dataplex.NewZoneIamPolicy(ctx, "policy", &dataplex.ZoneIamPolicyArgs{
			Project:      pulumi.Any(google_dataplex_zone.Example.Project),
			Location:     pulumi.Any(google_dataplex_zone.Example.Location),
			Lake:         pulumi.Any(google_dataplex_zone.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_zone.Example.Name),
			PolicyData:   *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_zone\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewZoneIamBinding(ctx, "binding", &dataplex.ZoneIamBindingArgs{
			Project:      pulumi.Any(google_dataplex_zone.Example.Project),
			Location:     pulumi.Any(google_dataplex_zone.Example.Location),
			Lake:         pulumi.Any(google_dataplex_zone.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_zone.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_zone\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewZoneIamMember(ctx, "member", &dataplex.ZoneIamMemberArgs{
			Project:      pulumi.Any(google_dataplex_zone.Example.Project),
			Location:     pulumi.Any(google_dataplex_zone.Example.Location),
			Lake:         pulumi.Any(google_dataplex_zone.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_zone.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{name}} * {{project}}/{{location}}/{{lake}}/{{name}} * {{location}}/{{lake}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Dataplex zone 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:dataplex/zoneIamBinding:ZoneIamBinding editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{zone}} 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:dataplex/zoneIamBinding:ZoneIamBinding editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{zone}} roles/viewer"

```

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

```sh

$ pulumi import gcp:dataplex/zoneIamBinding:ZoneIamBinding editor projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{zone}}

```

-> **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 GetZoneIamBinding added in v6.53.0

func GetZoneIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ZoneIamBindingState, opts ...pulumi.ResourceOption) (*ZoneIamBinding, error)

GetZoneIamBinding gets an existing ZoneIamBinding 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 NewZoneIamBinding added in v6.53.0

func NewZoneIamBinding(ctx *pulumi.Context,
	name string, args *ZoneIamBindingArgs, opts ...pulumi.ResourceOption) (*ZoneIamBinding, error)

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

func (*ZoneIamBinding) ElementType added in v6.53.0

func (*ZoneIamBinding) ElementType() reflect.Type

func (*ZoneIamBinding) ToZoneIamBindingOutput added in v6.53.0

func (i *ZoneIamBinding) ToZoneIamBindingOutput() ZoneIamBindingOutput

func (*ZoneIamBinding) ToZoneIamBindingOutputWithContext added in v6.53.0

func (i *ZoneIamBinding) ToZoneIamBindingOutputWithContext(ctx context.Context) ZoneIamBindingOutput

type ZoneIamBindingArgs added in v6.53.0

type ZoneIamBindingArgs struct {
	Condition ZoneIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	DataplexZone pulumi.StringInput
	Lake         pulumi.StringInput
	Location     pulumi.StringPtrInput
	Members      pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.ZoneIamBinding` 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 ZoneIamBinding resource.

func (ZoneIamBindingArgs) ElementType added in v6.53.0

func (ZoneIamBindingArgs) ElementType() reflect.Type

type ZoneIamBindingArray added in v6.53.0

type ZoneIamBindingArray []ZoneIamBindingInput

func (ZoneIamBindingArray) ElementType added in v6.53.0

func (ZoneIamBindingArray) ElementType() reflect.Type

func (ZoneIamBindingArray) ToZoneIamBindingArrayOutput added in v6.53.0

func (i ZoneIamBindingArray) ToZoneIamBindingArrayOutput() ZoneIamBindingArrayOutput

func (ZoneIamBindingArray) ToZoneIamBindingArrayOutputWithContext added in v6.53.0

func (i ZoneIamBindingArray) ToZoneIamBindingArrayOutputWithContext(ctx context.Context) ZoneIamBindingArrayOutput

type ZoneIamBindingArrayInput added in v6.53.0

type ZoneIamBindingArrayInput interface {
	pulumi.Input

	ToZoneIamBindingArrayOutput() ZoneIamBindingArrayOutput
	ToZoneIamBindingArrayOutputWithContext(context.Context) ZoneIamBindingArrayOutput
}

ZoneIamBindingArrayInput is an input type that accepts ZoneIamBindingArray and ZoneIamBindingArrayOutput values. You can construct a concrete instance of `ZoneIamBindingArrayInput` via:

ZoneIamBindingArray{ ZoneIamBindingArgs{...} }

type ZoneIamBindingArrayOutput added in v6.53.0

type ZoneIamBindingArrayOutput struct{ *pulumi.OutputState }

func (ZoneIamBindingArrayOutput) ElementType added in v6.53.0

func (ZoneIamBindingArrayOutput) ElementType() reflect.Type

func (ZoneIamBindingArrayOutput) Index added in v6.53.0

func (ZoneIamBindingArrayOutput) ToZoneIamBindingArrayOutput added in v6.53.0

func (o ZoneIamBindingArrayOutput) ToZoneIamBindingArrayOutput() ZoneIamBindingArrayOutput

func (ZoneIamBindingArrayOutput) ToZoneIamBindingArrayOutputWithContext added in v6.53.0

func (o ZoneIamBindingArrayOutput) ToZoneIamBindingArrayOutputWithContext(ctx context.Context) ZoneIamBindingArrayOutput

type ZoneIamBindingCondition added in v6.53.0

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

type ZoneIamBindingConditionArgs added in v6.53.0

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

func (ZoneIamBindingConditionArgs) ElementType added in v6.53.0

func (ZoneIamBindingConditionArgs) ToZoneIamBindingConditionOutput added in v6.53.0

func (i ZoneIamBindingConditionArgs) ToZoneIamBindingConditionOutput() ZoneIamBindingConditionOutput

func (ZoneIamBindingConditionArgs) ToZoneIamBindingConditionOutputWithContext added in v6.53.0

func (i ZoneIamBindingConditionArgs) ToZoneIamBindingConditionOutputWithContext(ctx context.Context) ZoneIamBindingConditionOutput

func (ZoneIamBindingConditionArgs) ToZoneIamBindingConditionPtrOutput added in v6.53.0

func (i ZoneIamBindingConditionArgs) ToZoneIamBindingConditionPtrOutput() ZoneIamBindingConditionPtrOutput

func (ZoneIamBindingConditionArgs) ToZoneIamBindingConditionPtrOutputWithContext added in v6.53.0

func (i ZoneIamBindingConditionArgs) ToZoneIamBindingConditionPtrOutputWithContext(ctx context.Context) ZoneIamBindingConditionPtrOutput

type ZoneIamBindingConditionInput added in v6.53.0

type ZoneIamBindingConditionInput interface {
	pulumi.Input

	ToZoneIamBindingConditionOutput() ZoneIamBindingConditionOutput
	ToZoneIamBindingConditionOutputWithContext(context.Context) ZoneIamBindingConditionOutput
}

ZoneIamBindingConditionInput is an input type that accepts ZoneIamBindingConditionArgs and ZoneIamBindingConditionOutput values. You can construct a concrete instance of `ZoneIamBindingConditionInput` via:

ZoneIamBindingConditionArgs{...}

type ZoneIamBindingConditionOutput added in v6.53.0

type ZoneIamBindingConditionOutput struct{ *pulumi.OutputState }

func (ZoneIamBindingConditionOutput) Description added in v6.53.0

func (ZoneIamBindingConditionOutput) ElementType added in v6.53.0

func (ZoneIamBindingConditionOutput) Expression added in v6.53.0

func (ZoneIamBindingConditionOutput) Title added in v6.53.0

func (ZoneIamBindingConditionOutput) ToZoneIamBindingConditionOutput added in v6.53.0

func (o ZoneIamBindingConditionOutput) ToZoneIamBindingConditionOutput() ZoneIamBindingConditionOutput

func (ZoneIamBindingConditionOutput) ToZoneIamBindingConditionOutputWithContext added in v6.53.0

func (o ZoneIamBindingConditionOutput) ToZoneIamBindingConditionOutputWithContext(ctx context.Context) ZoneIamBindingConditionOutput

func (ZoneIamBindingConditionOutput) ToZoneIamBindingConditionPtrOutput added in v6.53.0

func (o ZoneIamBindingConditionOutput) ToZoneIamBindingConditionPtrOutput() ZoneIamBindingConditionPtrOutput

func (ZoneIamBindingConditionOutput) ToZoneIamBindingConditionPtrOutputWithContext added in v6.53.0

func (o ZoneIamBindingConditionOutput) ToZoneIamBindingConditionPtrOutputWithContext(ctx context.Context) ZoneIamBindingConditionPtrOutput

type ZoneIamBindingConditionPtrInput added in v6.53.0

type ZoneIamBindingConditionPtrInput interface {
	pulumi.Input

	ToZoneIamBindingConditionPtrOutput() ZoneIamBindingConditionPtrOutput
	ToZoneIamBindingConditionPtrOutputWithContext(context.Context) ZoneIamBindingConditionPtrOutput
}

ZoneIamBindingConditionPtrInput is an input type that accepts ZoneIamBindingConditionArgs, ZoneIamBindingConditionPtr and ZoneIamBindingConditionPtrOutput values. You can construct a concrete instance of `ZoneIamBindingConditionPtrInput` via:

        ZoneIamBindingConditionArgs{...}

or:

        nil

func ZoneIamBindingConditionPtr added in v6.53.0

func ZoneIamBindingConditionPtr(v *ZoneIamBindingConditionArgs) ZoneIamBindingConditionPtrInput

type ZoneIamBindingConditionPtrOutput added in v6.53.0

type ZoneIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (ZoneIamBindingConditionPtrOutput) Description added in v6.53.0

func (ZoneIamBindingConditionPtrOutput) Elem added in v6.53.0

func (ZoneIamBindingConditionPtrOutput) ElementType added in v6.53.0

func (ZoneIamBindingConditionPtrOutput) Expression added in v6.53.0

func (ZoneIamBindingConditionPtrOutput) Title added in v6.53.0

func (ZoneIamBindingConditionPtrOutput) ToZoneIamBindingConditionPtrOutput added in v6.53.0

func (o ZoneIamBindingConditionPtrOutput) ToZoneIamBindingConditionPtrOutput() ZoneIamBindingConditionPtrOutput

func (ZoneIamBindingConditionPtrOutput) ToZoneIamBindingConditionPtrOutputWithContext added in v6.53.0

func (o ZoneIamBindingConditionPtrOutput) ToZoneIamBindingConditionPtrOutputWithContext(ctx context.Context) ZoneIamBindingConditionPtrOutput

type ZoneIamBindingInput added in v6.53.0

type ZoneIamBindingInput interface {
	pulumi.Input

	ToZoneIamBindingOutput() ZoneIamBindingOutput
	ToZoneIamBindingOutputWithContext(ctx context.Context) ZoneIamBindingOutput
}

type ZoneIamBindingMap added in v6.53.0

type ZoneIamBindingMap map[string]ZoneIamBindingInput

func (ZoneIamBindingMap) ElementType added in v6.53.0

func (ZoneIamBindingMap) ElementType() reflect.Type

func (ZoneIamBindingMap) ToZoneIamBindingMapOutput added in v6.53.0

func (i ZoneIamBindingMap) ToZoneIamBindingMapOutput() ZoneIamBindingMapOutput

func (ZoneIamBindingMap) ToZoneIamBindingMapOutputWithContext added in v6.53.0

func (i ZoneIamBindingMap) ToZoneIamBindingMapOutputWithContext(ctx context.Context) ZoneIamBindingMapOutput

type ZoneIamBindingMapInput added in v6.53.0

type ZoneIamBindingMapInput interface {
	pulumi.Input

	ToZoneIamBindingMapOutput() ZoneIamBindingMapOutput
	ToZoneIamBindingMapOutputWithContext(context.Context) ZoneIamBindingMapOutput
}

ZoneIamBindingMapInput is an input type that accepts ZoneIamBindingMap and ZoneIamBindingMapOutput values. You can construct a concrete instance of `ZoneIamBindingMapInput` via:

ZoneIamBindingMap{ "key": ZoneIamBindingArgs{...} }

type ZoneIamBindingMapOutput added in v6.53.0

type ZoneIamBindingMapOutput struct{ *pulumi.OutputState }

func (ZoneIamBindingMapOutput) ElementType added in v6.53.0

func (ZoneIamBindingMapOutput) ElementType() reflect.Type

func (ZoneIamBindingMapOutput) MapIndex added in v6.53.0

func (ZoneIamBindingMapOutput) ToZoneIamBindingMapOutput added in v6.53.0

func (o ZoneIamBindingMapOutput) ToZoneIamBindingMapOutput() ZoneIamBindingMapOutput

func (ZoneIamBindingMapOutput) ToZoneIamBindingMapOutputWithContext added in v6.53.0

func (o ZoneIamBindingMapOutput) ToZoneIamBindingMapOutputWithContext(ctx context.Context) ZoneIamBindingMapOutput

type ZoneIamBindingOutput added in v6.53.0

type ZoneIamBindingOutput struct{ *pulumi.OutputState }

func (ZoneIamBindingOutput) Condition added in v6.53.0

func (ZoneIamBindingOutput) DataplexZone added in v6.53.0

func (o ZoneIamBindingOutput) DataplexZone() pulumi.StringOutput

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

func (ZoneIamBindingOutput) ElementType added in v6.53.0

func (ZoneIamBindingOutput) ElementType() reflect.Type

func (ZoneIamBindingOutput) Etag added in v6.53.0

(Computed) The etag of the IAM policy.

func (ZoneIamBindingOutput) Lake added in v6.53.0

func (ZoneIamBindingOutput) Location added in v6.53.0

func (ZoneIamBindingOutput) Members added in v6.53.0

func (ZoneIamBindingOutput) Project added in v6.53.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

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

func (ZoneIamBindingOutput) Role added in v6.53.0

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

func (ZoneIamBindingOutput) ToZoneIamBindingOutput added in v6.53.0

func (o ZoneIamBindingOutput) ToZoneIamBindingOutput() ZoneIamBindingOutput

func (ZoneIamBindingOutput) ToZoneIamBindingOutputWithContext added in v6.53.0

func (o ZoneIamBindingOutput) ToZoneIamBindingOutputWithContext(ctx context.Context) ZoneIamBindingOutput

type ZoneIamBindingState added in v6.53.0

type ZoneIamBindingState struct {
	Condition ZoneIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	DataplexZone pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringPtrInput
	Lake     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	Members  pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.ZoneIamBinding` 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 (ZoneIamBindingState) ElementType added in v6.53.0

func (ZoneIamBindingState) ElementType() reflect.Type

type ZoneIamMember added in v6.53.0

type ZoneIamMember struct {
	pulumi.CustomResourceState

	Condition ZoneIamMemberConditionPtrOutput `pulumi:"condition"`
	// Used to find the parent resource to bind the IAM policy to
	DataplexZone pulumi.StringOutput `pulumi:"dataplexZone"`
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringOutput `pulumi:"etag"`
	Lake     pulumi.StringOutput `pulumi:"lake"`
	Location pulumi.StringOutput `pulumi:"location"`
	Member   pulumi.StringOutput `pulumi:"member"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `dataplex.ZoneIamBinding` 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 Dataplex Zone. Each of these resources serves a different use case:

* `dataplex.ZoneIamPolicy`: Authoritative. Sets the IAM policy for the zone and replaces any existing policy already attached. * `dataplex.ZoneIamBinding`: 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 zone are preserved. * `dataplex.ZoneIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the zone are preserved.

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

* `dataplex.ZoneIamPolicy`: Retrieves the IAM policy for the zone

> **Note:** `dataplex.ZoneIamPolicy` **cannot** be used in conjunction with `dataplex.ZoneIamBinding` and `dataplex.ZoneIamMember` or they will fight over what your policy should be.

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

## google\_dataplex\_zone\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dataplex.NewZoneIamPolicy(ctx, "policy", &dataplex.ZoneIamPolicyArgs{
			Project:      pulumi.Any(google_dataplex_zone.Example.Project),
			Location:     pulumi.Any(google_dataplex_zone.Example.Location),
			Lake:         pulumi.Any(google_dataplex_zone.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_zone.Example.Name),
			PolicyData:   *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_zone\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewZoneIamBinding(ctx, "binding", &dataplex.ZoneIamBindingArgs{
			Project:      pulumi.Any(google_dataplex_zone.Example.Project),
			Location:     pulumi.Any(google_dataplex_zone.Example.Location),
			Lake:         pulumi.Any(google_dataplex_zone.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_zone.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_zone\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewZoneIamMember(ctx, "member", &dataplex.ZoneIamMemberArgs{
			Project:      pulumi.Any(google_dataplex_zone.Example.Project),
			Location:     pulumi.Any(google_dataplex_zone.Example.Location),
			Lake:         pulumi.Any(google_dataplex_zone.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_zone.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{name}} * {{project}}/{{location}}/{{lake}}/{{name}} * {{location}}/{{lake}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Dataplex zone 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:dataplex/zoneIamMember:ZoneIamMember editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{zone}} 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:dataplex/zoneIamMember:ZoneIamMember editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{zone}} roles/viewer"

```

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

```sh

$ pulumi import gcp:dataplex/zoneIamMember:ZoneIamMember editor projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{zone}}

```

-> **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 GetZoneIamMember added in v6.53.0

func GetZoneIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ZoneIamMemberState, opts ...pulumi.ResourceOption) (*ZoneIamMember, error)

GetZoneIamMember gets an existing ZoneIamMember 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 NewZoneIamMember added in v6.53.0

func NewZoneIamMember(ctx *pulumi.Context,
	name string, args *ZoneIamMemberArgs, opts ...pulumi.ResourceOption) (*ZoneIamMember, error)

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

func (*ZoneIamMember) ElementType added in v6.53.0

func (*ZoneIamMember) ElementType() reflect.Type

func (*ZoneIamMember) ToZoneIamMemberOutput added in v6.53.0

func (i *ZoneIamMember) ToZoneIamMemberOutput() ZoneIamMemberOutput

func (*ZoneIamMember) ToZoneIamMemberOutputWithContext added in v6.53.0

func (i *ZoneIamMember) ToZoneIamMemberOutputWithContext(ctx context.Context) ZoneIamMemberOutput

type ZoneIamMemberArgs added in v6.53.0

type ZoneIamMemberArgs struct {
	Condition ZoneIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	DataplexZone pulumi.StringInput
	Lake         pulumi.StringInput
	Location     pulumi.StringPtrInput
	Member       pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.ZoneIamBinding` 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 ZoneIamMember resource.

func (ZoneIamMemberArgs) ElementType added in v6.53.0

func (ZoneIamMemberArgs) ElementType() reflect.Type

type ZoneIamMemberArray added in v6.53.0

type ZoneIamMemberArray []ZoneIamMemberInput

func (ZoneIamMemberArray) ElementType added in v6.53.0

func (ZoneIamMemberArray) ElementType() reflect.Type

func (ZoneIamMemberArray) ToZoneIamMemberArrayOutput added in v6.53.0

func (i ZoneIamMemberArray) ToZoneIamMemberArrayOutput() ZoneIamMemberArrayOutput

func (ZoneIamMemberArray) ToZoneIamMemberArrayOutputWithContext added in v6.53.0

func (i ZoneIamMemberArray) ToZoneIamMemberArrayOutputWithContext(ctx context.Context) ZoneIamMemberArrayOutput

type ZoneIamMemberArrayInput added in v6.53.0

type ZoneIamMemberArrayInput interface {
	pulumi.Input

	ToZoneIamMemberArrayOutput() ZoneIamMemberArrayOutput
	ToZoneIamMemberArrayOutputWithContext(context.Context) ZoneIamMemberArrayOutput
}

ZoneIamMemberArrayInput is an input type that accepts ZoneIamMemberArray and ZoneIamMemberArrayOutput values. You can construct a concrete instance of `ZoneIamMemberArrayInput` via:

ZoneIamMemberArray{ ZoneIamMemberArgs{...} }

type ZoneIamMemberArrayOutput added in v6.53.0

type ZoneIamMemberArrayOutput struct{ *pulumi.OutputState }

func (ZoneIamMemberArrayOutput) ElementType added in v6.53.0

func (ZoneIamMemberArrayOutput) ElementType() reflect.Type

func (ZoneIamMemberArrayOutput) Index added in v6.53.0

func (ZoneIamMemberArrayOutput) ToZoneIamMemberArrayOutput added in v6.53.0

func (o ZoneIamMemberArrayOutput) ToZoneIamMemberArrayOutput() ZoneIamMemberArrayOutput

func (ZoneIamMemberArrayOutput) ToZoneIamMemberArrayOutputWithContext added in v6.53.0

func (o ZoneIamMemberArrayOutput) ToZoneIamMemberArrayOutputWithContext(ctx context.Context) ZoneIamMemberArrayOutput

type ZoneIamMemberCondition added in v6.53.0

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

type ZoneIamMemberConditionArgs added in v6.53.0

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

func (ZoneIamMemberConditionArgs) ElementType added in v6.53.0

func (ZoneIamMemberConditionArgs) ElementType() reflect.Type

func (ZoneIamMemberConditionArgs) ToZoneIamMemberConditionOutput added in v6.53.0

func (i ZoneIamMemberConditionArgs) ToZoneIamMemberConditionOutput() ZoneIamMemberConditionOutput

func (ZoneIamMemberConditionArgs) ToZoneIamMemberConditionOutputWithContext added in v6.53.0

func (i ZoneIamMemberConditionArgs) ToZoneIamMemberConditionOutputWithContext(ctx context.Context) ZoneIamMemberConditionOutput

func (ZoneIamMemberConditionArgs) ToZoneIamMemberConditionPtrOutput added in v6.53.0

func (i ZoneIamMemberConditionArgs) ToZoneIamMemberConditionPtrOutput() ZoneIamMemberConditionPtrOutput

func (ZoneIamMemberConditionArgs) ToZoneIamMemberConditionPtrOutputWithContext added in v6.53.0

func (i ZoneIamMemberConditionArgs) ToZoneIamMemberConditionPtrOutputWithContext(ctx context.Context) ZoneIamMemberConditionPtrOutput

type ZoneIamMemberConditionInput added in v6.53.0

type ZoneIamMemberConditionInput interface {
	pulumi.Input

	ToZoneIamMemberConditionOutput() ZoneIamMemberConditionOutput
	ToZoneIamMemberConditionOutputWithContext(context.Context) ZoneIamMemberConditionOutput
}

ZoneIamMemberConditionInput is an input type that accepts ZoneIamMemberConditionArgs and ZoneIamMemberConditionOutput values. You can construct a concrete instance of `ZoneIamMemberConditionInput` via:

ZoneIamMemberConditionArgs{...}

type ZoneIamMemberConditionOutput added in v6.53.0

type ZoneIamMemberConditionOutput struct{ *pulumi.OutputState }

func (ZoneIamMemberConditionOutput) Description added in v6.53.0

func (ZoneIamMemberConditionOutput) ElementType added in v6.53.0

func (ZoneIamMemberConditionOutput) Expression added in v6.53.0

func (ZoneIamMemberConditionOutput) Title added in v6.53.0

func (ZoneIamMemberConditionOutput) ToZoneIamMemberConditionOutput added in v6.53.0

func (o ZoneIamMemberConditionOutput) ToZoneIamMemberConditionOutput() ZoneIamMemberConditionOutput

func (ZoneIamMemberConditionOutput) ToZoneIamMemberConditionOutputWithContext added in v6.53.0

func (o ZoneIamMemberConditionOutput) ToZoneIamMemberConditionOutputWithContext(ctx context.Context) ZoneIamMemberConditionOutput

func (ZoneIamMemberConditionOutput) ToZoneIamMemberConditionPtrOutput added in v6.53.0

func (o ZoneIamMemberConditionOutput) ToZoneIamMemberConditionPtrOutput() ZoneIamMemberConditionPtrOutput

func (ZoneIamMemberConditionOutput) ToZoneIamMemberConditionPtrOutputWithContext added in v6.53.0

func (o ZoneIamMemberConditionOutput) ToZoneIamMemberConditionPtrOutputWithContext(ctx context.Context) ZoneIamMemberConditionPtrOutput

type ZoneIamMemberConditionPtrInput added in v6.53.0

type ZoneIamMemberConditionPtrInput interface {
	pulumi.Input

	ToZoneIamMemberConditionPtrOutput() ZoneIamMemberConditionPtrOutput
	ToZoneIamMemberConditionPtrOutputWithContext(context.Context) ZoneIamMemberConditionPtrOutput
}

ZoneIamMemberConditionPtrInput is an input type that accepts ZoneIamMemberConditionArgs, ZoneIamMemberConditionPtr and ZoneIamMemberConditionPtrOutput values. You can construct a concrete instance of `ZoneIamMemberConditionPtrInput` via:

        ZoneIamMemberConditionArgs{...}

or:

        nil

func ZoneIamMemberConditionPtr added in v6.53.0

func ZoneIamMemberConditionPtr(v *ZoneIamMemberConditionArgs) ZoneIamMemberConditionPtrInput

type ZoneIamMemberConditionPtrOutput added in v6.53.0

type ZoneIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (ZoneIamMemberConditionPtrOutput) Description added in v6.53.0

func (ZoneIamMemberConditionPtrOutput) Elem added in v6.53.0

func (ZoneIamMemberConditionPtrOutput) ElementType added in v6.53.0

func (ZoneIamMemberConditionPtrOutput) Expression added in v6.53.0

func (ZoneIamMemberConditionPtrOutput) Title added in v6.53.0

func (ZoneIamMemberConditionPtrOutput) ToZoneIamMemberConditionPtrOutput added in v6.53.0

func (o ZoneIamMemberConditionPtrOutput) ToZoneIamMemberConditionPtrOutput() ZoneIamMemberConditionPtrOutput

func (ZoneIamMemberConditionPtrOutput) ToZoneIamMemberConditionPtrOutputWithContext added in v6.53.0

func (o ZoneIamMemberConditionPtrOutput) ToZoneIamMemberConditionPtrOutputWithContext(ctx context.Context) ZoneIamMemberConditionPtrOutput

type ZoneIamMemberInput added in v6.53.0

type ZoneIamMemberInput interface {
	pulumi.Input

	ToZoneIamMemberOutput() ZoneIamMemberOutput
	ToZoneIamMemberOutputWithContext(ctx context.Context) ZoneIamMemberOutput
}

type ZoneIamMemberMap added in v6.53.0

type ZoneIamMemberMap map[string]ZoneIamMemberInput

func (ZoneIamMemberMap) ElementType added in v6.53.0

func (ZoneIamMemberMap) ElementType() reflect.Type

func (ZoneIamMemberMap) ToZoneIamMemberMapOutput added in v6.53.0

func (i ZoneIamMemberMap) ToZoneIamMemberMapOutput() ZoneIamMemberMapOutput

func (ZoneIamMemberMap) ToZoneIamMemberMapOutputWithContext added in v6.53.0

func (i ZoneIamMemberMap) ToZoneIamMemberMapOutputWithContext(ctx context.Context) ZoneIamMemberMapOutput

type ZoneIamMemberMapInput added in v6.53.0

type ZoneIamMemberMapInput interface {
	pulumi.Input

	ToZoneIamMemberMapOutput() ZoneIamMemberMapOutput
	ToZoneIamMemberMapOutputWithContext(context.Context) ZoneIamMemberMapOutput
}

ZoneIamMemberMapInput is an input type that accepts ZoneIamMemberMap and ZoneIamMemberMapOutput values. You can construct a concrete instance of `ZoneIamMemberMapInput` via:

ZoneIamMemberMap{ "key": ZoneIamMemberArgs{...} }

type ZoneIamMemberMapOutput added in v6.53.0

type ZoneIamMemberMapOutput struct{ *pulumi.OutputState }

func (ZoneIamMemberMapOutput) ElementType added in v6.53.0

func (ZoneIamMemberMapOutput) ElementType() reflect.Type

func (ZoneIamMemberMapOutput) MapIndex added in v6.53.0

func (ZoneIamMemberMapOutput) ToZoneIamMemberMapOutput added in v6.53.0

func (o ZoneIamMemberMapOutput) ToZoneIamMemberMapOutput() ZoneIamMemberMapOutput

func (ZoneIamMemberMapOutput) ToZoneIamMemberMapOutputWithContext added in v6.53.0

func (o ZoneIamMemberMapOutput) ToZoneIamMemberMapOutputWithContext(ctx context.Context) ZoneIamMemberMapOutput

type ZoneIamMemberOutput added in v6.53.0

type ZoneIamMemberOutput struct{ *pulumi.OutputState }

func (ZoneIamMemberOutput) Condition added in v6.53.0

func (ZoneIamMemberOutput) DataplexZone added in v6.53.0

func (o ZoneIamMemberOutput) DataplexZone() pulumi.StringOutput

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

func (ZoneIamMemberOutput) ElementType added in v6.53.0

func (ZoneIamMemberOutput) ElementType() reflect.Type

func (ZoneIamMemberOutput) Etag added in v6.53.0

(Computed) The etag of the IAM policy.

func (ZoneIamMemberOutput) Lake added in v6.53.0

func (ZoneIamMemberOutput) Location added in v6.53.0

func (ZoneIamMemberOutput) Member added in v6.53.0

func (ZoneIamMemberOutput) Project added in v6.53.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

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

func (ZoneIamMemberOutput) Role added in v6.53.0

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

func (ZoneIamMemberOutput) ToZoneIamMemberOutput added in v6.53.0

func (o ZoneIamMemberOutput) ToZoneIamMemberOutput() ZoneIamMemberOutput

func (ZoneIamMemberOutput) ToZoneIamMemberOutputWithContext added in v6.53.0

func (o ZoneIamMemberOutput) ToZoneIamMemberOutputWithContext(ctx context.Context) ZoneIamMemberOutput

type ZoneIamMemberState added in v6.53.0

type ZoneIamMemberState struct {
	Condition ZoneIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	DataplexZone pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringPtrInput
	Lake     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	Member   pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `dataplex.ZoneIamBinding` 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 (ZoneIamMemberState) ElementType added in v6.53.0

func (ZoneIamMemberState) ElementType() reflect.Type

type ZoneIamPolicy added in v6.53.0

type ZoneIamPolicy struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	DataplexZone pulumi.StringOutput `pulumi:"dataplexZone"`
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringOutput `pulumi:"etag"`
	Lake     pulumi.StringOutput `pulumi:"lake"`
	Location pulumi.StringOutput `pulumi:"location"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringOutput `pulumi:"project"`
}

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

* `dataplex.ZoneIamPolicy`: Authoritative. Sets the IAM policy for the zone and replaces any existing policy already attached. * `dataplex.ZoneIamBinding`: 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 zone are preserved. * `dataplex.ZoneIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the zone are preserved.

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

* `dataplex.ZoneIamPolicy`: Retrieves the IAM policy for the zone

> **Note:** `dataplex.ZoneIamPolicy` **cannot** be used in conjunction with `dataplex.ZoneIamBinding` and `dataplex.ZoneIamMember` or they will fight over what your policy should be.

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

## google\_dataplex\_zone\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = dataplex.NewZoneIamPolicy(ctx, "policy", &dataplex.ZoneIamPolicyArgs{
			Project:      pulumi.Any(google_dataplex_zone.Example.Project),
			Location:     pulumi.Any(google_dataplex_zone.Example.Location),
			Lake:         pulumi.Any(google_dataplex_zone.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_zone.Example.Name),
			PolicyData:   *pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_zone\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewZoneIamBinding(ctx, "binding", &dataplex.ZoneIamBindingArgs{
			Project:      pulumi.Any(google_dataplex_zone.Example.Project),
			Location:     pulumi.Any(google_dataplex_zone.Example.Location),
			Lake:         pulumi.Any(google_dataplex_zone.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_zone.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_dataplex\_zone\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := dataplex.NewZoneIamMember(ctx, "member", &dataplex.ZoneIamMemberArgs{
			Project:      pulumi.Any(google_dataplex_zone.Example.Project),
			Location:     pulumi.Any(google_dataplex_zone.Example.Location),
			Lake:         pulumi.Any(google_dataplex_zone.Example.Lake),
			DataplexZone: pulumi.Any(google_dataplex_zone.Example.Name),
			Role:         pulumi.String("roles/viewer"),
			Member:       pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{name}} * {{project}}/{{location}}/{{lake}}/{{name}} * {{location}}/{{lake}}/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Dataplex zone 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:dataplex/zoneIamPolicy:ZoneIamPolicy editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{zone}} 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:dataplex/zoneIamPolicy:ZoneIamPolicy editor "projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{zone}} roles/viewer"

```

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

```sh

$ pulumi import gcp:dataplex/zoneIamPolicy:ZoneIamPolicy editor projects/{{project}}/locations/{{location}}/lakes/{{lake}}/zones/{{zone}}

```

-> **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 GetZoneIamPolicy added in v6.53.0

func GetZoneIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ZoneIamPolicyState, opts ...pulumi.ResourceOption) (*ZoneIamPolicy, error)

GetZoneIamPolicy gets an existing ZoneIamPolicy 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 NewZoneIamPolicy added in v6.53.0

func NewZoneIamPolicy(ctx *pulumi.Context,
	name string, args *ZoneIamPolicyArgs, opts ...pulumi.ResourceOption) (*ZoneIamPolicy, error)

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

func (*ZoneIamPolicy) ElementType added in v6.53.0

func (*ZoneIamPolicy) ElementType() reflect.Type

func (*ZoneIamPolicy) ToZoneIamPolicyOutput added in v6.53.0

func (i *ZoneIamPolicy) ToZoneIamPolicyOutput() ZoneIamPolicyOutput

func (*ZoneIamPolicy) ToZoneIamPolicyOutputWithContext added in v6.53.0

func (i *ZoneIamPolicy) ToZoneIamPolicyOutputWithContext(ctx context.Context) ZoneIamPolicyOutput

type ZoneIamPolicyArgs added in v6.53.0

type ZoneIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	DataplexZone pulumi.StringInput
	Lake         pulumi.StringInput
	Location     pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a ZoneIamPolicy resource.

func (ZoneIamPolicyArgs) ElementType added in v6.53.0

func (ZoneIamPolicyArgs) ElementType() reflect.Type

type ZoneIamPolicyArray added in v6.53.0

type ZoneIamPolicyArray []ZoneIamPolicyInput

func (ZoneIamPolicyArray) ElementType added in v6.53.0

func (ZoneIamPolicyArray) ElementType() reflect.Type

func (ZoneIamPolicyArray) ToZoneIamPolicyArrayOutput added in v6.53.0

func (i ZoneIamPolicyArray) ToZoneIamPolicyArrayOutput() ZoneIamPolicyArrayOutput

func (ZoneIamPolicyArray) ToZoneIamPolicyArrayOutputWithContext added in v6.53.0

func (i ZoneIamPolicyArray) ToZoneIamPolicyArrayOutputWithContext(ctx context.Context) ZoneIamPolicyArrayOutput

type ZoneIamPolicyArrayInput added in v6.53.0

type ZoneIamPolicyArrayInput interface {
	pulumi.Input

	ToZoneIamPolicyArrayOutput() ZoneIamPolicyArrayOutput
	ToZoneIamPolicyArrayOutputWithContext(context.Context) ZoneIamPolicyArrayOutput
}

ZoneIamPolicyArrayInput is an input type that accepts ZoneIamPolicyArray and ZoneIamPolicyArrayOutput values. You can construct a concrete instance of `ZoneIamPolicyArrayInput` via:

ZoneIamPolicyArray{ ZoneIamPolicyArgs{...} }

type ZoneIamPolicyArrayOutput added in v6.53.0

type ZoneIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (ZoneIamPolicyArrayOutput) ElementType added in v6.53.0

func (ZoneIamPolicyArrayOutput) ElementType() reflect.Type

func (ZoneIamPolicyArrayOutput) Index added in v6.53.0

func (ZoneIamPolicyArrayOutput) ToZoneIamPolicyArrayOutput added in v6.53.0

func (o ZoneIamPolicyArrayOutput) ToZoneIamPolicyArrayOutput() ZoneIamPolicyArrayOutput

func (ZoneIamPolicyArrayOutput) ToZoneIamPolicyArrayOutputWithContext added in v6.53.0

func (o ZoneIamPolicyArrayOutput) ToZoneIamPolicyArrayOutputWithContext(ctx context.Context) ZoneIamPolicyArrayOutput

type ZoneIamPolicyInput added in v6.53.0

type ZoneIamPolicyInput interface {
	pulumi.Input

	ToZoneIamPolicyOutput() ZoneIamPolicyOutput
	ToZoneIamPolicyOutputWithContext(ctx context.Context) ZoneIamPolicyOutput
}

type ZoneIamPolicyMap added in v6.53.0

type ZoneIamPolicyMap map[string]ZoneIamPolicyInput

func (ZoneIamPolicyMap) ElementType added in v6.53.0

func (ZoneIamPolicyMap) ElementType() reflect.Type

func (ZoneIamPolicyMap) ToZoneIamPolicyMapOutput added in v6.53.0

func (i ZoneIamPolicyMap) ToZoneIamPolicyMapOutput() ZoneIamPolicyMapOutput

func (ZoneIamPolicyMap) ToZoneIamPolicyMapOutputWithContext added in v6.53.0

func (i ZoneIamPolicyMap) ToZoneIamPolicyMapOutputWithContext(ctx context.Context) ZoneIamPolicyMapOutput

type ZoneIamPolicyMapInput added in v6.53.0

type ZoneIamPolicyMapInput interface {
	pulumi.Input

	ToZoneIamPolicyMapOutput() ZoneIamPolicyMapOutput
	ToZoneIamPolicyMapOutputWithContext(context.Context) ZoneIamPolicyMapOutput
}

ZoneIamPolicyMapInput is an input type that accepts ZoneIamPolicyMap and ZoneIamPolicyMapOutput values. You can construct a concrete instance of `ZoneIamPolicyMapInput` via:

ZoneIamPolicyMap{ "key": ZoneIamPolicyArgs{...} }

type ZoneIamPolicyMapOutput added in v6.53.0

type ZoneIamPolicyMapOutput struct{ *pulumi.OutputState }

func (ZoneIamPolicyMapOutput) ElementType added in v6.53.0

func (ZoneIamPolicyMapOutput) ElementType() reflect.Type

func (ZoneIamPolicyMapOutput) MapIndex added in v6.53.0

func (ZoneIamPolicyMapOutput) ToZoneIamPolicyMapOutput added in v6.53.0

func (o ZoneIamPolicyMapOutput) ToZoneIamPolicyMapOutput() ZoneIamPolicyMapOutput

func (ZoneIamPolicyMapOutput) ToZoneIamPolicyMapOutputWithContext added in v6.53.0

func (o ZoneIamPolicyMapOutput) ToZoneIamPolicyMapOutputWithContext(ctx context.Context) ZoneIamPolicyMapOutput

type ZoneIamPolicyOutput added in v6.53.0

type ZoneIamPolicyOutput struct{ *pulumi.OutputState }

func (ZoneIamPolicyOutput) DataplexZone added in v6.53.0

func (o ZoneIamPolicyOutput) DataplexZone() pulumi.StringOutput

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

func (ZoneIamPolicyOutput) ElementType added in v6.53.0

func (ZoneIamPolicyOutput) ElementType() reflect.Type

func (ZoneIamPolicyOutput) Etag added in v6.53.0

(Computed) The etag of the IAM policy.

func (ZoneIamPolicyOutput) Lake added in v6.53.0

func (ZoneIamPolicyOutput) Location added in v6.53.0

func (ZoneIamPolicyOutput) PolicyData added in v6.53.0

func (o ZoneIamPolicyOutput) PolicyData() pulumi.StringOutput

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

func (ZoneIamPolicyOutput) Project added in v6.53.0

The ID of the project in which the resource belongs. If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.

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

func (ZoneIamPolicyOutput) ToZoneIamPolicyOutput added in v6.53.0

func (o ZoneIamPolicyOutput) ToZoneIamPolicyOutput() ZoneIamPolicyOutput

func (ZoneIamPolicyOutput) ToZoneIamPolicyOutputWithContext added in v6.53.0

func (o ZoneIamPolicyOutput) ToZoneIamPolicyOutputWithContext(ctx context.Context) ZoneIamPolicyOutput

type ZoneIamPolicyState added in v6.53.0

type ZoneIamPolicyState struct {
	// Used to find the parent resource to bind the IAM policy to
	DataplexZone pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag     pulumi.StringPtrInput
	Lake     pulumi.StringPtrInput
	Location pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	//
	// * `member/members` - (Required) Identities that will be granted the privilege in `role`.
	//   Each entry can have one of the following values:
	// * **allUsers**: A special identifier that represents anyone who is on the internet; with or without a Google account.
	// * **allAuthenticatedUsers**: A special identifier that represents anyone who is authenticated with a Google account or a service account.
	// * **user:{emailid}**: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	// * **serviceAccount:{emailid}**: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	// * **group:{emailid}**: An email address that represents a Google group. For example, admins@example.com.
	// * **domain:{domain}**: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	// * **projectOwner:projectid**: Owners of the given project. For example, "projectOwner:my-example-project"
	// * **projectEditor:projectid**: Editors of the given project. For example, "projectEditor:my-example-project"
	// * **projectViewer:projectid**: Viewers of the given project. For example, "projectViewer:my-example-project"
	Project pulumi.StringPtrInput
}

func (ZoneIamPolicyState) ElementType added in v6.53.0

func (ZoneIamPolicyState) ElementType() reflect.Type

type ZoneInput added in v6.34.0

type ZoneInput interface {
	pulumi.Input

	ToZoneOutput() ZoneOutput
	ToZoneOutputWithContext(ctx context.Context) ZoneOutput
}

type ZoneMap added in v6.34.0

type ZoneMap map[string]ZoneInput

func (ZoneMap) ElementType added in v6.34.0

func (ZoneMap) ElementType() reflect.Type

func (ZoneMap) ToZoneMapOutput added in v6.34.0

func (i ZoneMap) ToZoneMapOutput() ZoneMapOutput

func (ZoneMap) ToZoneMapOutputWithContext added in v6.34.0

func (i ZoneMap) ToZoneMapOutputWithContext(ctx context.Context) ZoneMapOutput

type ZoneMapInput added in v6.34.0

type ZoneMapInput interface {
	pulumi.Input

	ToZoneMapOutput() ZoneMapOutput
	ToZoneMapOutputWithContext(context.Context) ZoneMapOutput
}

ZoneMapInput is an input type that accepts ZoneMap and ZoneMapOutput values. You can construct a concrete instance of `ZoneMapInput` via:

ZoneMap{ "key": ZoneArgs{...} }

type ZoneMapOutput added in v6.34.0

type ZoneMapOutput struct{ *pulumi.OutputState }

func (ZoneMapOutput) ElementType added in v6.34.0

func (ZoneMapOutput) ElementType() reflect.Type

func (ZoneMapOutput) MapIndex added in v6.34.0

func (ZoneMapOutput) ToZoneMapOutput added in v6.34.0

func (o ZoneMapOutput) ToZoneMapOutput() ZoneMapOutput

func (ZoneMapOutput) ToZoneMapOutputWithContext added in v6.34.0

func (o ZoneMapOutput) ToZoneMapOutputWithContext(ctx context.Context) ZoneMapOutput

type ZoneOutput added in v6.34.0

type ZoneOutput struct{ *pulumi.OutputState }

func (ZoneOutput) AssetStatuses added in v6.34.0

func (o ZoneOutput) AssetStatuses() ZoneAssetStatusArrayOutput

Output only. Aggregated status of the underlying assets of the zone.

func (ZoneOutput) CreateTime added in v6.34.0

func (o ZoneOutput) CreateTime() pulumi.StringOutput

Output only. The time when the zone was created.

func (ZoneOutput) Description added in v6.34.0

func (o ZoneOutput) Description() pulumi.StringPtrOutput

Optional. Description of the zone.

func (ZoneOutput) DiscoverySpec added in v6.34.0

func (o ZoneOutput) DiscoverySpec() ZoneDiscoverySpecOutput

Required. Specification of the discovery feature applied to data in this zone.

func (ZoneOutput) DisplayName added in v6.34.0

func (o ZoneOutput) DisplayName() pulumi.StringPtrOutput

Optional. User friendly display name.

func (ZoneOutput) ElementType added in v6.34.0

func (ZoneOutput) ElementType() reflect.Type

func (ZoneOutput) Labels added in v6.34.0

func (o ZoneOutput) Labels() pulumi.StringMapOutput

Optional. User defined labels for the zone.

func (ZoneOutput) Lake added in v6.34.0

func (o ZoneOutput) Lake() pulumi.StringOutput

The lake for the resource

func (ZoneOutput) Location added in v6.34.0

func (o ZoneOutput) Location() pulumi.StringOutput

The location for the resource

func (ZoneOutput) Name added in v6.34.0

func (o ZoneOutput) Name() pulumi.StringOutput

The name of the zone.

func (ZoneOutput) Project added in v6.34.0

func (o ZoneOutput) Project() pulumi.StringOutput

The project for the resource

func (ZoneOutput) ResourceSpec added in v6.34.0

func (o ZoneOutput) ResourceSpec() ZoneResourceSpecOutput

Required. Immutable. Specification of the resources that are referenced by the assets within this zone.

func (ZoneOutput) State added in v6.34.0

func (o ZoneOutput) State() pulumi.StringOutput

Output only. Current state of the zone. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED

func (ZoneOutput) ToZoneOutput added in v6.34.0

func (o ZoneOutput) ToZoneOutput() ZoneOutput

func (ZoneOutput) ToZoneOutputWithContext added in v6.34.0

func (o ZoneOutput) ToZoneOutputWithContext(ctx context.Context) ZoneOutput

func (ZoneOutput) Type added in v6.34.0

func (o ZoneOutput) Type() pulumi.StringOutput

Required. Immutable. The type of the zone. Possible values: TYPE_UNSPECIFIED, RAW, CURATED

func (ZoneOutput) Uid added in v6.34.0

func (o ZoneOutput) Uid() pulumi.StringOutput

Output only. System generated globally unique ID for the zone. This ID will be different if the zone is deleted and re-created with the same name.

func (ZoneOutput) UpdateTime added in v6.34.0

func (o ZoneOutput) UpdateTime() pulumi.StringOutput

Output only. The time when the zone was last updated.

type ZoneResourceSpec added in v6.34.0

type ZoneResourceSpec struct {
	// Required. Immutable. The location type of the resources that are allowed to be attached to the assets within this zone. Possible values: LOCATION_TYPE_UNSPECIFIED, SINGLE_REGION, MULTI_REGION
	//
	// ***
	LocationType string `pulumi:"locationType"`
}

type ZoneResourceSpecArgs added in v6.34.0

type ZoneResourceSpecArgs struct {
	// Required. Immutable. The location type of the resources that are allowed to be attached to the assets within this zone. Possible values: LOCATION_TYPE_UNSPECIFIED, SINGLE_REGION, MULTI_REGION
	//
	// ***
	LocationType pulumi.StringInput `pulumi:"locationType"`
}

func (ZoneResourceSpecArgs) ElementType added in v6.34.0

func (ZoneResourceSpecArgs) ElementType() reflect.Type

func (ZoneResourceSpecArgs) ToZoneResourceSpecOutput added in v6.34.0

func (i ZoneResourceSpecArgs) ToZoneResourceSpecOutput() ZoneResourceSpecOutput

func (ZoneResourceSpecArgs) ToZoneResourceSpecOutputWithContext added in v6.34.0

func (i ZoneResourceSpecArgs) ToZoneResourceSpecOutputWithContext(ctx context.Context) ZoneResourceSpecOutput

func (ZoneResourceSpecArgs) ToZoneResourceSpecPtrOutput added in v6.34.0

func (i ZoneResourceSpecArgs) ToZoneResourceSpecPtrOutput() ZoneResourceSpecPtrOutput

func (ZoneResourceSpecArgs) ToZoneResourceSpecPtrOutputWithContext added in v6.34.0

func (i ZoneResourceSpecArgs) ToZoneResourceSpecPtrOutputWithContext(ctx context.Context) ZoneResourceSpecPtrOutput

type ZoneResourceSpecInput added in v6.34.0

type ZoneResourceSpecInput interface {
	pulumi.Input

	ToZoneResourceSpecOutput() ZoneResourceSpecOutput
	ToZoneResourceSpecOutputWithContext(context.Context) ZoneResourceSpecOutput
}

ZoneResourceSpecInput is an input type that accepts ZoneResourceSpecArgs and ZoneResourceSpecOutput values. You can construct a concrete instance of `ZoneResourceSpecInput` via:

ZoneResourceSpecArgs{...}

type ZoneResourceSpecOutput added in v6.34.0

type ZoneResourceSpecOutput struct{ *pulumi.OutputState }

func (ZoneResourceSpecOutput) ElementType added in v6.34.0

func (ZoneResourceSpecOutput) ElementType() reflect.Type

func (ZoneResourceSpecOutput) LocationType added in v6.34.0

func (o ZoneResourceSpecOutput) LocationType() pulumi.StringOutput

Required. Immutable. The location type of the resources that are allowed to be attached to the assets within this zone. Possible values: LOCATION_TYPE_UNSPECIFIED, SINGLE_REGION, MULTI_REGION

***

func (ZoneResourceSpecOutput) ToZoneResourceSpecOutput added in v6.34.0

func (o ZoneResourceSpecOutput) ToZoneResourceSpecOutput() ZoneResourceSpecOutput

func (ZoneResourceSpecOutput) ToZoneResourceSpecOutputWithContext added in v6.34.0

func (o ZoneResourceSpecOutput) ToZoneResourceSpecOutputWithContext(ctx context.Context) ZoneResourceSpecOutput

func (ZoneResourceSpecOutput) ToZoneResourceSpecPtrOutput added in v6.34.0

func (o ZoneResourceSpecOutput) ToZoneResourceSpecPtrOutput() ZoneResourceSpecPtrOutput

func (ZoneResourceSpecOutput) ToZoneResourceSpecPtrOutputWithContext added in v6.34.0

func (o ZoneResourceSpecOutput) ToZoneResourceSpecPtrOutputWithContext(ctx context.Context) ZoneResourceSpecPtrOutput

type ZoneResourceSpecPtrInput added in v6.34.0

type ZoneResourceSpecPtrInput interface {
	pulumi.Input

	ToZoneResourceSpecPtrOutput() ZoneResourceSpecPtrOutput
	ToZoneResourceSpecPtrOutputWithContext(context.Context) ZoneResourceSpecPtrOutput
}

ZoneResourceSpecPtrInput is an input type that accepts ZoneResourceSpecArgs, ZoneResourceSpecPtr and ZoneResourceSpecPtrOutput values. You can construct a concrete instance of `ZoneResourceSpecPtrInput` via:

        ZoneResourceSpecArgs{...}

or:

        nil

func ZoneResourceSpecPtr added in v6.34.0

func ZoneResourceSpecPtr(v *ZoneResourceSpecArgs) ZoneResourceSpecPtrInput

type ZoneResourceSpecPtrOutput added in v6.34.0

type ZoneResourceSpecPtrOutput struct{ *pulumi.OutputState }

func (ZoneResourceSpecPtrOutput) Elem added in v6.34.0

func (ZoneResourceSpecPtrOutput) ElementType added in v6.34.0

func (ZoneResourceSpecPtrOutput) ElementType() reflect.Type

func (ZoneResourceSpecPtrOutput) LocationType added in v6.34.0

Required. Immutable. The location type of the resources that are allowed to be attached to the assets within this zone. Possible values: LOCATION_TYPE_UNSPECIFIED, SINGLE_REGION, MULTI_REGION

***

func (ZoneResourceSpecPtrOutput) ToZoneResourceSpecPtrOutput added in v6.34.0

func (o ZoneResourceSpecPtrOutput) ToZoneResourceSpecPtrOutput() ZoneResourceSpecPtrOutput

func (ZoneResourceSpecPtrOutput) ToZoneResourceSpecPtrOutputWithContext added in v6.34.0

func (o ZoneResourceSpecPtrOutput) ToZoneResourceSpecPtrOutputWithContext(ctx context.Context) ZoneResourceSpecPtrOutput

type ZoneState added in v6.34.0

type ZoneState struct {
	// Output only. Aggregated status of the underlying assets of the zone.
	AssetStatuses ZoneAssetStatusArrayInput
	// Output only. The time when the zone was created.
	CreateTime pulumi.StringPtrInput
	// Optional. Description of the zone.
	Description pulumi.StringPtrInput
	// Required. Specification of the discovery feature applied to data in this zone.
	DiscoverySpec ZoneDiscoverySpecPtrInput
	// Optional. User friendly display name.
	DisplayName pulumi.StringPtrInput
	// Optional. User defined labels for the zone.
	Labels pulumi.StringMapInput
	// The lake for the resource
	Lake pulumi.StringPtrInput
	// The location for the resource
	Location pulumi.StringPtrInput
	// The name of the zone.
	Name pulumi.StringPtrInput
	// The project for the resource
	Project pulumi.StringPtrInput
	// Required. Immutable. Specification of the resources that are referenced by the assets within this zone.
	ResourceSpec ZoneResourceSpecPtrInput
	// Output only. Current state of the zone. Possible values: STATE_UNSPECIFIED, ACTIVE, CREATING, DELETING, ACTION_REQUIRED
	State pulumi.StringPtrInput
	// Required. Immutable. The type of the zone. Possible values: TYPE_UNSPECIFIED, RAW, CURATED
	Type pulumi.StringPtrInput
	// Output only. System generated globally unique ID for the zone. This ID will be different if the zone is deleted and re-created with the same name.
	Uid pulumi.StringPtrInput
	// Output only. The time when the zone was last updated.
	UpdateTime pulumi.StringPtrInput
}

func (ZoneState) ElementType added in v6.34.0

func (ZoneState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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