v1

package
v0.32.0 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Default value. This value will create a database with the GOOGLE_STANDARD_SQL dialect.
	DatabaseDatabaseDialectDatabaseDialectUnspecified = DatabaseDatabaseDialect("DATABASE_DIALECT_UNSPECIFIED")
	// GoogleSQL supported SQL.
	DatabaseDatabaseDialectGoogleStandardSql = DatabaseDatabaseDialect("GOOGLE_STANDARD_SQL")
	// PostgreSQL supported SQL.
	DatabaseDatabaseDialectPostgresql = DatabaseDatabaseDialect("POSTGRESQL")
)
View Source
const (
	// Not specified.
	FreeInstanceMetadataExpireBehaviorExpireBehaviorUnspecified = FreeInstanceMetadataExpireBehavior("EXPIRE_BEHAVIOR_UNSPECIFIED")
	// When the free instance expires, upgrade the instance to a provisioned instance.
	FreeInstanceMetadataExpireBehaviorFreeToProvisioned = FreeInstanceMetadataExpireBehavior("FREE_TO_PROVISIONED")
	// When the free instance expires, disable the instance, and delete it after the grace period passes if it has not been upgraded.
	FreeInstanceMetadataExpireBehaviorRemoveAfterGracePeriod = FreeInstanceMetadataExpireBehavior("REMOVE_AFTER_GRACE_PERIOD")
)
View Source
const (
	// Not specified.
	InstanceInstanceTypeInstanceTypeUnspecified = InstanceInstanceType("INSTANCE_TYPE_UNSPECIFIED")
	// Provisioned instances have dedicated resources, standard usage limits and support.
	InstanceInstanceTypeProvisioned = InstanceInstanceType("PROVISIONED")
	// Free instances provide no guarantee for dedicated resources, [node_count, processing_units] should be 0. They come with stricter usage limits and limited support.
	InstanceInstanceTypeFreeInstance = InstanceInstanceType("FREE_INSTANCE")
)
View Source
const (
	// Not specified.
	ReplicaInfoTypeTypeUnspecified = ReplicaInfoType("TYPE_UNSPECIFIED")
	// Read-write replicas support both reads and writes. These replicas: * Maintain a full copy of your data. * Serve reads. * Can vote whether to commit a write. * Participate in leadership election. * Are eligible to become a leader.
	ReplicaInfoTypeReadWrite = ReplicaInfoType("READ_WRITE")
	// Read-only replicas only support reads (not writes). Read-only replicas: * Maintain a full copy of your data. * Serve reads. * Do not participate in voting to commit writes. * Are not eligible to become a leader.
	ReplicaInfoTypeReadOnly = ReplicaInfoType("READ_ONLY")
	// Witness replicas don't support reads but do participate in voting to commit writes. Witness replicas: * Do not maintain a full copy of data. * Do not serve reads. * Vote whether to commit writes. * Participate in leader election but are not eligible to become leader.
	ReplicaInfoTypeWitness = ReplicaInfoType("WITNESS")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AutoscalingConfig added in v0.32.0

type AutoscalingConfig struct {
	// Autoscaling limits for an instance.
	AutoscalingLimits AutoscalingLimits `pulumi:"autoscalingLimits"`
	// The autoscaling targets for an instance.
	AutoscalingTargets AutoscalingTargets `pulumi:"autoscalingTargets"`
}

Autoscaling config for an instance.

type AutoscalingConfigArgs added in v0.32.0

type AutoscalingConfigArgs struct {
	// Autoscaling limits for an instance.
	AutoscalingLimits AutoscalingLimitsInput `pulumi:"autoscalingLimits"`
	// The autoscaling targets for an instance.
	AutoscalingTargets AutoscalingTargetsInput `pulumi:"autoscalingTargets"`
}

Autoscaling config for an instance.

func (AutoscalingConfigArgs) ElementType added in v0.32.0

func (AutoscalingConfigArgs) ElementType() reflect.Type

func (AutoscalingConfigArgs) ToAutoscalingConfigOutput added in v0.32.0

func (i AutoscalingConfigArgs) ToAutoscalingConfigOutput() AutoscalingConfigOutput

func (AutoscalingConfigArgs) ToAutoscalingConfigOutputWithContext added in v0.32.0

func (i AutoscalingConfigArgs) ToAutoscalingConfigOutputWithContext(ctx context.Context) AutoscalingConfigOutput

func (AutoscalingConfigArgs) ToAutoscalingConfigPtrOutput added in v0.32.0

func (i AutoscalingConfigArgs) ToAutoscalingConfigPtrOutput() AutoscalingConfigPtrOutput

func (AutoscalingConfigArgs) ToAutoscalingConfigPtrOutputWithContext added in v0.32.0

func (i AutoscalingConfigArgs) ToAutoscalingConfigPtrOutputWithContext(ctx context.Context) AutoscalingConfigPtrOutput

type AutoscalingConfigInput added in v0.32.0

type AutoscalingConfigInput interface {
	pulumi.Input

	ToAutoscalingConfigOutput() AutoscalingConfigOutput
	ToAutoscalingConfigOutputWithContext(context.Context) AutoscalingConfigOutput
}

AutoscalingConfigInput is an input type that accepts AutoscalingConfigArgs and AutoscalingConfigOutput values. You can construct a concrete instance of `AutoscalingConfigInput` via:

AutoscalingConfigArgs{...}

type AutoscalingConfigOutput added in v0.32.0

type AutoscalingConfigOutput struct{ *pulumi.OutputState }

Autoscaling config for an instance.

func (AutoscalingConfigOutput) AutoscalingLimits added in v0.32.0

func (o AutoscalingConfigOutput) AutoscalingLimits() AutoscalingLimitsOutput

Autoscaling limits for an instance.

func (AutoscalingConfigOutput) AutoscalingTargets added in v0.32.0

func (o AutoscalingConfigOutput) AutoscalingTargets() AutoscalingTargetsOutput

The autoscaling targets for an instance.

func (AutoscalingConfigOutput) ElementType added in v0.32.0

func (AutoscalingConfigOutput) ElementType() reflect.Type

func (AutoscalingConfigOutput) ToAutoscalingConfigOutput added in v0.32.0

func (o AutoscalingConfigOutput) ToAutoscalingConfigOutput() AutoscalingConfigOutput

func (AutoscalingConfigOutput) ToAutoscalingConfigOutputWithContext added in v0.32.0

func (o AutoscalingConfigOutput) ToAutoscalingConfigOutputWithContext(ctx context.Context) AutoscalingConfigOutput

func (AutoscalingConfigOutput) ToAutoscalingConfigPtrOutput added in v0.32.0

func (o AutoscalingConfigOutput) ToAutoscalingConfigPtrOutput() AutoscalingConfigPtrOutput

func (AutoscalingConfigOutput) ToAutoscalingConfigPtrOutputWithContext added in v0.32.0

func (o AutoscalingConfigOutput) ToAutoscalingConfigPtrOutputWithContext(ctx context.Context) AutoscalingConfigPtrOutput

type AutoscalingConfigPtrInput added in v0.32.0

type AutoscalingConfigPtrInput interface {
	pulumi.Input

	ToAutoscalingConfigPtrOutput() AutoscalingConfigPtrOutput
	ToAutoscalingConfigPtrOutputWithContext(context.Context) AutoscalingConfigPtrOutput
}

AutoscalingConfigPtrInput is an input type that accepts AutoscalingConfigArgs, AutoscalingConfigPtr and AutoscalingConfigPtrOutput values. You can construct a concrete instance of `AutoscalingConfigPtrInput` via:

        AutoscalingConfigArgs{...}

or:

        nil

func AutoscalingConfigPtr added in v0.32.0

func AutoscalingConfigPtr(v *AutoscalingConfigArgs) AutoscalingConfigPtrInput

type AutoscalingConfigPtrOutput added in v0.32.0

type AutoscalingConfigPtrOutput struct{ *pulumi.OutputState }

func (AutoscalingConfigPtrOutput) AutoscalingLimits added in v0.32.0

Autoscaling limits for an instance.

func (AutoscalingConfigPtrOutput) AutoscalingTargets added in v0.32.0

The autoscaling targets for an instance.

func (AutoscalingConfigPtrOutput) Elem added in v0.32.0

func (AutoscalingConfigPtrOutput) ElementType added in v0.32.0

func (AutoscalingConfigPtrOutput) ElementType() reflect.Type

func (AutoscalingConfigPtrOutput) ToAutoscalingConfigPtrOutput added in v0.32.0

func (o AutoscalingConfigPtrOutput) ToAutoscalingConfigPtrOutput() AutoscalingConfigPtrOutput

func (AutoscalingConfigPtrOutput) ToAutoscalingConfigPtrOutputWithContext added in v0.32.0

func (o AutoscalingConfigPtrOutput) ToAutoscalingConfigPtrOutputWithContext(ctx context.Context) AutoscalingConfigPtrOutput

type AutoscalingConfigResponse added in v0.32.0

type AutoscalingConfigResponse struct {
	// Autoscaling limits for an instance.
	AutoscalingLimits AutoscalingLimitsResponse `pulumi:"autoscalingLimits"`
	// The autoscaling targets for an instance.
	AutoscalingTargets AutoscalingTargetsResponse `pulumi:"autoscalingTargets"`
}

Autoscaling config for an instance.

type AutoscalingConfigResponseOutput added in v0.32.0

type AutoscalingConfigResponseOutput struct{ *pulumi.OutputState }

Autoscaling config for an instance.

func (AutoscalingConfigResponseOutput) AutoscalingLimits added in v0.32.0

Autoscaling limits for an instance.

func (AutoscalingConfigResponseOutput) AutoscalingTargets added in v0.32.0

The autoscaling targets for an instance.

func (AutoscalingConfigResponseOutput) ElementType added in v0.32.0

func (AutoscalingConfigResponseOutput) ToAutoscalingConfigResponseOutput added in v0.32.0

func (o AutoscalingConfigResponseOutput) ToAutoscalingConfigResponseOutput() AutoscalingConfigResponseOutput

func (AutoscalingConfigResponseOutput) ToAutoscalingConfigResponseOutputWithContext added in v0.32.0

func (o AutoscalingConfigResponseOutput) ToAutoscalingConfigResponseOutputWithContext(ctx context.Context) AutoscalingConfigResponseOutput

type AutoscalingLimits added in v0.32.0

type AutoscalingLimits struct {
	// Maximum number of nodes allocated to the instance. If set, this number should be greater than or equal to min_nodes.
	MaxNodes *int `pulumi:"maxNodes"`
	// Maximum number of processing units allocated to the instance. If set, this number should be multiples of 1000 and be greater than or equal to min_processing_units.
	MaxProcessingUnits *int `pulumi:"maxProcessingUnits"`
	// Minimum number of nodes allocated to the instance. If set, this number should be greater than or equal to 1.
	MinNodes *int `pulumi:"minNodes"`
	// Minimum number of processing units allocated to the instance. If set, this number should be multiples of 1000.
	MinProcessingUnits *int `pulumi:"minProcessingUnits"`
}

The autoscaling limits for the instance. Users can define the minimum and maximum compute capacity allocated to the instance, and the autoscaler will only scale within that range. Users can either use nodes or processing units to specify the limits, but should use the same unit to set both the min_limit and max_limit.

type AutoscalingLimitsArgs added in v0.32.0

type AutoscalingLimitsArgs struct {
	// Maximum number of nodes allocated to the instance. If set, this number should be greater than or equal to min_nodes.
	MaxNodes pulumi.IntPtrInput `pulumi:"maxNodes"`
	// Maximum number of processing units allocated to the instance. If set, this number should be multiples of 1000 and be greater than or equal to min_processing_units.
	MaxProcessingUnits pulumi.IntPtrInput `pulumi:"maxProcessingUnits"`
	// Minimum number of nodes allocated to the instance. If set, this number should be greater than or equal to 1.
	MinNodes pulumi.IntPtrInput `pulumi:"minNodes"`
	// Minimum number of processing units allocated to the instance. If set, this number should be multiples of 1000.
	MinProcessingUnits pulumi.IntPtrInput `pulumi:"minProcessingUnits"`
}

The autoscaling limits for the instance. Users can define the minimum and maximum compute capacity allocated to the instance, and the autoscaler will only scale within that range. Users can either use nodes or processing units to specify the limits, but should use the same unit to set both the min_limit and max_limit.

func (AutoscalingLimitsArgs) ElementType added in v0.32.0

func (AutoscalingLimitsArgs) ElementType() reflect.Type

func (AutoscalingLimitsArgs) ToAutoscalingLimitsOutput added in v0.32.0

func (i AutoscalingLimitsArgs) ToAutoscalingLimitsOutput() AutoscalingLimitsOutput

func (AutoscalingLimitsArgs) ToAutoscalingLimitsOutputWithContext added in v0.32.0

func (i AutoscalingLimitsArgs) ToAutoscalingLimitsOutputWithContext(ctx context.Context) AutoscalingLimitsOutput

func (AutoscalingLimitsArgs) ToAutoscalingLimitsPtrOutput added in v0.32.0

func (i AutoscalingLimitsArgs) ToAutoscalingLimitsPtrOutput() AutoscalingLimitsPtrOutput

func (AutoscalingLimitsArgs) ToAutoscalingLimitsPtrOutputWithContext added in v0.32.0

func (i AutoscalingLimitsArgs) ToAutoscalingLimitsPtrOutputWithContext(ctx context.Context) AutoscalingLimitsPtrOutput

type AutoscalingLimitsInput added in v0.32.0

type AutoscalingLimitsInput interface {
	pulumi.Input

	ToAutoscalingLimitsOutput() AutoscalingLimitsOutput
	ToAutoscalingLimitsOutputWithContext(context.Context) AutoscalingLimitsOutput
}

AutoscalingLimitsInput is an input type that accepts AutoscalingLimitsArgs and AutoscalingLimitsOutput values. You can construct a concrete instance of `AutoscalingLimitsInput` via:

AutoscalingLimitsArgs{...}

type AutoscalingLimitsOutput added in v0.32.0

type AutoscalingLimitsOutput struct{ *pulumi.OutputState }

The autoscaling limits for the instance. Users can define the minimum and maximum compute capacity allocated to the instance, and the autoscaler will only scale within that range. Users can either use nodes or processing units to specify the limits, but should use the same unit to set both the min_limit and max_limit.

func (AutoscalingLimitsOutput) ElementType added in v0.32.0

func (AutoscalingLimitsOutput) ElementType() reflect.Type

func (AutoscalingLimitsOutput) MaxNodes added in v0.32.0

Maximum number of nodes allocated to the instance. If set, this number should be greater than or equal to min_nodes.

func (AutoscalingLimitsOutput) MaxProcessingUnits added in v0.32.0

func (o AutoscalingLimitsOutput) MaxProcessingUnits() pulumi.IntPtrOutput

Maximum number of processing units allocated to the instance. If set, this number should be multiples of 1000 and be greater than or equal to min_processing_units.

func (AutoscalingLimitsOutput) MinNodes added in v0.32.0

Minimum number of nodes allocated to the instance. If set, this number should be greater than or equal to 1.

func (AutoscalingLimitsOutput) MinProcessingUnits added in v0.32.0

func (o AutoscalingLimitsOutput) MinProcessingUnits() pulumi.IntPtrOutput

Minimum number of processing units allocated to the instance. If set, this number should be multiples of 1000.

func (AutoscalingLimitsOutput) ToAutoscalingLimitsOutput added in v0.32.0

func (o AutoscalingLimitsOutput) ToAutoscalingLimitsOutput() AutoscalingLimitsOutput

func (AutoscalingLimitsOutput) ToAutoscalingLimitsOutputWithContext added in v0.32.0

func (o AutoscalingLimitsOutput) ToAutoscalingLimitsOutputWithContext(ctx context.Context) AutoscalingLimitsOutput

func (AutoscalingLimitsOutput) ToAutoscalingLimitsPtrOutput added in v0.32.0

func (o AutoscalingLimitsOutput) ToAutoscalingLimitsPtrOutput() AutoscalingLimitsPtrOutput

func (AutoscalingLimitsOutput) ToAutoscalingLimitsPtrOutputWithContext added in v0.32.0

func (o AutoscalingLimitsOutput) ToAutoscalingLimitsPtrOutputWithContext(ctx context.Context) AutoscalingLimitsPtrOutput

type AutoscalingLimitsPtrInput added in v0.32.0

type AutoscalingLimitsPtrInput interface {
	pulumi.Input

	ToAutoscalingLimitsPtrOutput() AutoscalingLimitsPtrOutput
	ToAutoscalingLimitsPtrOutputWithContext(context.Context) AutoscalingLimitsPtrOutput
}

AutoscalingLimitsPtrInput is an input type that accepts AutoscalingLimitsArgs, AutoscalingLimitsPtr and AutoscalingLimitsPtrOutput values. You can construct a concrete instance of `AutoscalingLimitsPtrInput` via:

        AutoscalingLimitsArgs{...}

or:

        nil

func AutoscalingLimitsPtr added in v0.32.0

func AutoscalingLimitsPtr(v *AutoscalingLimitsArgs) AutoscalingLimitsPtrInput

type AutoscalingLimitsPtrOutput added in v0.32.0

type AutoscalingLimitsPtrOutput struct{ *pulumi.OutputState }

func (AutoscalingLimitsPtrOutput) Elem added in v0.32.0

func (AutoscalingLimitsPtrOutput) ElementType added in v0.32.0

func (AutoscalingLimitsPtrOutput) ElementType() reflect.Type

func (AutoscalingLimitsPtrOutput) MaxNodes added in v0.32.0

Maximum number of nodes allocated to the instance. If set, this number should be greater than or equal to min_nodes.

func (AutoscalingLimitsPtrOutput) MaxProcessingUnits added in v0.32.0

func (o AutoscalingLimitsPtrOutput) MaxProcessingUnits() pulumi.IntPtrOutput

Maximum number of processing units allocated to the instance. If set, this number should be multiples of 1000 and be greater than or equal to min_processing_units.

func (AutoscalingLimitsPtrOutput) MinNodes added in v0.32.0

Minimum number of nodes allocated to the instance. If set, this number should be greater than or equal to 1.

func (AutoscalingLimitsPtrOutput) MinProcessingUnits added in v0.32.0

func (o AutoscalingLimitsPtrOutput) MinProcessingUnits() pulumi.IntPtrOutput

Minimum number of processing units allocated to the instance. If set, this number should be multiples of 1000.

func (AutoscalingLimitsPtrOutput) ToAutoscalingLimitsPtrOutput added in v0.32.0

func (o AutoscalingLimitsPtrOutput) ToAutoscalingLimitsPtrOutput() AutoscalingLimitsPtrOutput

func (AutoscalingLimitsPtrOutput) ToAutoscalingLimitsPtrOutputWithContext added in v0.32.0

func (o AutoscalingLimitsPtrOutput) ToAutoscalingLimitsPtrOutputWithContext(ctx context.Context) AutoscalingLimitsPtrOutput

type AutoscalingLimitsResponse added in v0.32.0

type AutoscalingLimitsResponse struct {
	// Maximum number of nodes allocated to the instance. If set, this number should be greater than or equal to min_nodes.
	MaxNodes int `pulumi:"maxNodes"`
	// Maximum number of processing units allocated to the instance. If set, this number should be multiples of 1000 and be greater than or equal to min_processing_units.
	MaxProcessingUnits int `pulumi:"maxProcessingUnits"`
	// Minimum number of nodes allocated to the instance. If set, this number should be greater than or equal to 1.
	MinNodes int `pulumi:"minNodes"`
	// Minimum number of processing units allocated to the instance. If set, this number should be multiples of 1000.
	MinProcessingUnits int `pulumi:"minProcessingUnits"`
}

The autoscaling limits for the instance. Users can define the minimum and maximum compute capacity allocated to the instance, and the autoscaler will only scale within that range. Users can either use nodes or processing units to specify the limits, but should use the same unit to set both the min_limit and max_limit.

type AutoscalingLimitsResponseOutput added in v0.32.0

type AutoscalingLimitsResponseOutput struct{ *pulumi.OutputState }

The autoscaling limits for the instance. Users can define the minimum and maximum compute capacity allocated to the instance, and the autoscaler will only scale within that range. Users can either use nodes or processing units to specify the limits, but should use the same unit to set both the min_limit and max_limit.

func (AutoscalingLimitsResponseOutput) ElementType added in v0.32.0

func (AutoscalingLimitsResponseOutput) MaxNodes added in v0.32.0

Maximum number of nodes allocated to the instance. If set, this number should be greater than or equal to min_nodes.

func (AutoscalingLimitsResponseOutput) MaxProcessingUnits added in v0.32.0

func (o AutoscalingLimitsResponseOutput) MaxProcessingUnits() pulumi.IntOutput

Maximum number of processing units allocated to the instance. If set, this number should be multiples of 1000 and be greater than or equal to min_processing_units.

func (AutoscalingLimitsResponseOutput) MinNodes added in v0.32.0

Minimum number of nodes allocated to the instance. If set, this number should be greater than or equal to 1.

func (AutoscalingLimitsResponseOutput) MinProcessingUnits added in v0.32.0

func (o AutoscalingLimitsResponseOutput) MinProcessingUnits() pulumi.IntOutput

Minimum number of processing units allocated to the instance. If set, this number should be multiples of 1000.

func (AutoscalingLimitsResponseOutput) ToAutoscalingLimitsResponseOutput added in v0.32.0

func (o AutoscalingLimitsResponseOutput) ToAutoscalingLimitsResponseOutput() AutoscalingLimitsResponseOutput

func (AutoscalingLimitsResponseOutput) ToAutoscalingLimitsResponseOutputWithContext added in v0.32.0

func (o AutoscalingLimitsResponseOutput) ToAutoscalingLimitsResponseOutputWithContext(ctx context.Context) AutoscalingLimitsResponseOutput

type AutoscalingTargets added in v0.32.0

type AutoscalingTargets struct {
	// The target high priority cpu utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 90] inclusive.
	HighPriorityCpuUtilizationPercent int `pulumi:"highPriorityCpuUtilizationPercent"`
	// The target storage utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 100] inclusive.
	StorageUtilizationPercent int `pulumi:"storageUtilizationPercent"`
}

The autoscaling targets for an instance.

type AutoscalingTargetsArgs added in v0.32.0

type AutoscalingTargetsArgs struct {
	// The target high priority cpu utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 90] inclusive.
	HighPriorityCpuUtilizationPercent pulumi.IntInput `pulumi:"highPriorityCpuUtilizationPercent"`
	// The target storage utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 100] inclusive.
	StorageUtilizationPercent pulumi.IntInput `pulumi:"storageUtilizationPercent"`
}

The autoscaling targets for an instance.

func (AutoscalingTargetsArgs) ElementType added in v0.32.0

func (AutoscalingTargetsArgs) ElementType() reflect.Type

func (AutoscalingTargetsArgs) ToAutoscalingTargetsOutput added in v0.32.0

func (i AutoscalingTargetsArgs) ToAutoscalingTargetsOutput() AutoscalingTargetsOutput

func (AutoscalingTargetsArgs) ToAutoscalingTargetsOutputWithContext added in v0.32.0

func (i AutoscalingTargetsArgs) ToAutoscalingTargetsOutputWithContext(ctx context.Context) AutoscalingTargetsOutput

func (AutoscalingTargetsArgs) ToAutoscalingTargetsPtrOutput added in v0.32.0

func (i AutoscalingTargetsArgs) ToAutoscalingTargetsPtrOutput() AutoscalingTargetsPtrOutput

func (AutoscalingTargetsArgs) ToAutoscalingTargetsPtrOutputWithContext added in v0.32.0

func (i AutoscalingTargetsArgs) ToAutoscalingTargetsPtrOutputWithContext(ctx context.Context) AutoscalingTargetsPtrOutput

type AutoscalingTargetsInput added in v0.32.0

type AutoscalingTargetsInput interface {
	pulumi.Input

	ToAutoscalingTargetsOutput() AutoscalingTargetsOutput
	ToAutoscalingTargetsOutputWithContext(context.Context) AutoscalingTargetsOutput
}

AutoscalingTargetsInput is an input type that accepts AutoscalingTargetsArgs and AutoscalingTargetsOutput values. You can construct a concrete instance of `AutoscalingTargetsInput` via:

AutoscalingTargetsArgs{...}

type AutoscalingTargetsOutput added in v0.32.0

type AutoscalingTargetsOutput struct{ *pulumi.OutputState }

The autoscaling targets for an instance.

func (AutoscalingTargetsOutput) ElementType added in v0.32.0

func (AutoscalingTargetsOutput) ElementType() reflect.Type

func (AutoscalingTargetsOutput) HighPriorityCpuUtilizationPercent added in v0.32.0

func (o AutoscalingTargetsOutput) HighPriorityCpuUtilizationPercent() pulumi.IntOutput

The target high priority cpu utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 90] inclusive.

func (AutoscalingTargetsOutput) StorageUtilizationPercent added in v0.32.0

func (o AutoscalingTargetsOutput) StorageUtilizationPercent() pulumi.IntOutput

The target storage utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 100] inclusive.

func (AutoscalingTargetsOutput) ToAutoscalingTargetsOutput added in v0.32.0

func (o AutoscalingTargetsOutput) ToAutoscalingTargetsOutput() AutoscalingTargetsOutput

func (AutoscalingTargetsOutput) ToAutoscalingTargetsOutputWithContext added in v0.32.0

func (o AutoscalingTargetsOutput) ToAutoscalingTargetsOutputWithContext(ctx context.Context) AutoscalingTargetsOutput

func (AutoscalingTargetsOutput) ToAutoscalingTargetsPtrOutput added in v0.32.0

func (o AutoscalingTargetsOutput) ToAutoscalingTargetsPtrOutput() AutoscalingTargetsPtrOutput

func (AutoscalingTargetsOutput) ToAutoscalingTargetsPtrOutputWithContext added in v0.32.0

func (o AutoscalingTargetsOutput) ToAutoscalingTargetsPtrOutputWithContext(ctx context.Context) AutoscalingTargetsPtrOutput

type AutoscalingTargetsPtrInput added in v0.32.0

type AutoscalingTargetsPtrInput interface {
	pulumi.Input

	ToAutoscalingTargetsPtrOutput() AutoscalingTargetsPtrOutput
	ToAutoscalingTargetsPtrOutputWithContext(context.Context) AutoscalingTargetsPtrOutput
}

AutoscalingTargetsPtrInput is an input type that accepts AutoscalingTargetsArgs, AutoscalingTargetsPtr and AutoscalingTargetsPtrOutput values. You can construct a concrete instance of `AutoscalingTargetsPtrInput` via:

        AutoscalingTargetsArgs{...}

or:

        nil

func AutoscalingTargetsPtr added in v0.32.0

func AutoscalingTargetsPtr(v *AutoscalingTargetsArgs) AutoscalingTargetsPtrInput

type AutoscalingTargetsPtrOutput added in v0.32.0

type AutoscalingTargetsPtrOutput struct{ *pulumi.OutputState }

func (AutoscalingTargetsPtrOutput) Elem added in v0.32.0

func (AutoscalingTargetsPtrOutput) ElementType added in v0.32.0

func (AutoscalingTargetsPtrOutput) HighPriorityCpuUtilizationPercent added in v0.32.0

func (o AutoscalingTargetsPtrOutput) HighPriorityCpuUtilizationPercent() pulumi.IntPtrOutput

The target high priority cpu utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 90] inclusive.

func (AutoscalingTargetsPtrOutput) StorageUtilizationPercent added in v0.32.0

func (o AutoscalingTargetsPtrOutput) StorageUtilizationPercent() pulumi.IntPtrOutput

The target storage utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 100] inclusive.

func (AutoscalingTargetsPtrOutput) ToAutoscalingTargetsPtrOutput added in v0.32.0

func (o AutoscalingTargetsPtrOutput) ToAutoscalingTargetsPtrOutput() AutoscalingTargetsPtrOutput

func (AutoscalingTargetsPtrOutput) ToAutoscalingTargetsPtrOutputWithContext added in v0.32.0

func (o AutoscalingTargetsPtrOutput) ToAutoscalingTargetsPtrOutputWithContext(ctx context.Context) AutoscalingTargetsPtrOutput

type AutoscalingTargetsResponse added in v0.32.0

type AutoscalingTargetsResponse struct {
	// The target high priority cpu utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 90] inclusive.
	HighPriorityCpuUtilizationPercent int `pulumi:"highPriorityCpuUtilizationPercent"`
	// The target storage utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 100] inclusive.
	StorageUtilizationPercent int `pulumi:"storageUtilizationPercent"`
}

The autoscaling targets for an instance.

type AutoscalingTargetsResponseOutput added in v0.32.0

type AutoscalingTargetsResponseOutput struct{ *pulumi.OutputState }

The autoscaling targets for an instance.

func (AutoscalingTargetsResponseOutput) ElementType added in v0.32.0

func (AutoscalingTargetsResponseOutput) HighPriorityCpuUtilizationPercent added in v0.32.0

func (o AutoscalingTargetsResponseOutput) HighPriorityCpuUtilizationPercent() pulumi.IntOutput

The target high priority cpu utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 90] inclusive.

func (AutoscalingTargetsResponseOutput) StorageUtilizationPercent added in v0.32.0

func (o AutoscalingTargetsResponseOutput) StorageUtilizationPercent() pulumi.IntOutput

The target storage utilization percentage that the autoscaler should be trying to achieve for the instance. This number is on a scale from 0 (no utilization) to 100 (full utilization). The valid range is [10, 100] inclusive.

func (AutoscalingTargetsResponseOutput) ToAutoscalingTargetsResponseOutput added in v0.32.0

func (o AutoscalingTargetsResponseOutput) ToAutoscalingTargetsResponseOutput() AutoscalingTargetsResponseOutput

func (AutoscalingTargetsResponseOutput) ToAutoscalingTargetsResponseOutputWithContext added in v0.32.0

func (o AutoscalingTargetsResponseOutput) ToAutoscalingTargetsResponseOutputWithContext(ctx context.Context) AutoscalingTargetsResponseOutput

type Backup added in v0.3.0

type Backup struct {
	pulumi.CustomResourceState

	// Required. The id of the backup to be created. The `backup_id` appended to `parent` forms the full backup name of the form `projects//instances//backups/`.
	BackupId pulumi.StringOutput `pulumi:"backupId"`
	// The time the CreateBackup request is received. If the request does not specify `version_time`, the `version_time` of the backup will be equivalent to the `create_time`.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// Required for the CreateBackup operation. Name of the database from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects//instances//databases/`.
	Database pulumi.StringOutput `pulumi:"database"`
	// The database dialect information for the backup.
	DatabaseDialect pulumi.StringOutput `pulumi:"databaseDialect"`
	// Required. The encryption type of the backup.
	EncryptionConfigEncryptionType pulumi.StringOutput `pulumi:"encryptionConfigEncryptionType"`
	// Optional. The Cloud KMS key that will be used to protect the backup. This field should be set only when encryption_type is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form `projects//locations//keyRings//cryptoKeys/`.
	EncryptionConfigKmsKeyName pulumi.StringPtrOutput `pulumi:"encryptionConfigKmsKeyName"`
	// The encryption information for the backup.
	EncryptionInfo EncryptionInfoResponseOutput `pulumi:"encryptionInfo"`
	// Required for the CreateBackup operation. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup request is processed. Once the `expire_time` has passed, the backup is eligible to be automatically deleted by Cloud Spanner to free the resources used by the backup.
	ExpireTime pulumi.StringOutput `pulumi:"expireTime"`
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The max allowed expiration time of the backup, with microseconds granularity. A backup's expiration time can be configured in multiple APIs: CreateBackup, UpdateBackup, CopyBackup. When updating or copying an existing backup, the expiration time specified must be less than `Backup.max_expire_time`.
	MaxExpireTime pulumi.StringOutput `pulumi:"maxExpireTime"`
	// Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form `projects//instances/`.
	Name    pulumi.StringOutput `pulumi:"name"`
	Project pulumi.StringOutput `pulumi:"project"`
	// The names of the destination backups being created by copying this source backup. The backup names are of the form `projects//instances//backups/`. Referencing backups may exist in different instances. The existence of any referencing backup prevents the backup from being deleted. When the copy operation is done (either successfully completed or cancelled or the destination backup is deleted), the reference to the backup is removed.
	ReferencingBackups pulumi.StringArrayOutput `pulumi:"referencingBackups"`
	// The names of the restored databases that reference the backup. The database names are of the form `projects//instances//databases/`. Referencing databases may exist in different instances. The existence of any referencing database prevents the backup from being deleted. When a restored database from the backup enters the `READY` state, the reference to the backup is removed.
	ReferencingDatabases pulumi.StringArrayOutput `pulumi:"referencingDatabases"`
	// Size of the backup in bytes.
	SizeBytes pulumi.StringOutput `pulumi:"sizeBytes"`
	// The current state of the backup.
	State pulumi.StringOutput `pulumi:"state"`
	// The backup will contain an externally consistent copy of the database at the timestamp specified by `version_time`. If `version_time` is not specified, the system will set `version_time` to the `create_time` of the backup.
	VersionTime pulumi.StringOutput `pulumi:"versionTime"`
}

Starts creating a new Cloud Spanner Backup. The returned backup long-running operation will have a name of the format `projects//instances//backups//operations/` and can be used to track creation of the backup. The metadata field type is CreateBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup. There can be only one pending backup creation per database. Backup creation of different databases can run concurrently.

func GetBackup added in v0.3.0

func GetBackup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *BackupState, opts ...pulumi.ResourceOption) (*Backup, error)

GetBackup gets an existing Backup 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 NewBackup added in v0.3.0

func NewBackup(ctx *pulumi.Context,
	name string, args *BackupArgs, opts ...pulumi.ResourceOption) (*Backup, error)

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

func (*Backup) ElementType added in v0.3.0

func (*Backup) ElementType() reflect.Type

func (*Backup) ToBackupOutput added in v0.3.0

func (i *Backup) ToBackupOutput() BackupOutput

func (*Backup) ToBackupOutputWithContext added in v0.3.0

func (i *Backup) ToBackupOutputWithContext(ctx context.Context) BackupOutput

type BackupArgs added in v0.3.0

type BackupArgs struct {
	// Required. The id of the backup to be created. The `backup_id` appended to `parent` forms the full backup name of the form `projects//instances//backups/`.
	BackupId pulumi.StringInput
	// Required for the CreateBackup operation. Name of the database from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects//instances//databases/`.
	Database pulumi.StringPtrInput
	// Required. The encryption type of the backup.
	EncryptionConfigEncryptionType pulumi.StringInput
	// Optional. The Cloud KMS key that will be used to protect the backup. This field should be set only when encryption_type is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form `projects//locations//keyRings//cryptoKeys/`.
	EncryptionConfigKmsKeyName pulumi.StringPtrInput
	// Required for the CreateBackup operation. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup request is processed. Once the `expire_time` has passed, the backup is eligible to be automatically deleted by Cloud Spanner to free the resources used by the backup.
	ExpireTime pulumi.StringPtrInput
	InstanceId pulumi.StringInput
	// Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form `projects//instances/`.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	// The backup will contain an externally consistent copy of the database at the timestamp specified by `version_time`. If `version_time` is not specified, the system will set `version_time` to the `create_time` of the backup.
	VersionTime pulumi.StringPtrInput
}

The set of arguments for constructing a Backup resource.

func (BackupArgs) ElementType added in v0.3.0

func (BackupArgs) ElementType() reflect.Type

type BackupInfoResponse

type BackupInfoResponse struct {
	// Name of the backup.
	Backup string `pulumi:"backup"`
	// The time the CreateBackup request was received.
	CreateTime string `pulumi:"createTime"`
	// Name of the database the backup was created from.
	SourceDatabase string `pulumi:"sourceDatabase"`
	// The backup contains an externally consistent copy of `source_database` at the timestamp specified by `version_time`. If the CreateBackup request did not specify `version_time`, the `version_time` of the backup is equivalent to the `create_time`.
	VersionTime string `pulumi:"versionTime"`
}

Information about a backup.

type BackupInfoResponseOutput

type BackupInfoResponseOutput struct{ *pulumi.OutputState }

Information about a backup.

func (BackupInfoResponseOutput) Backup

Name of the backup.

func (BackupInfoResponseOutput) CreateTime

The time the CreateBackup request was received.

func (BackupInfoResponseOutput) ElementType

func (BackupInfoResponseOutput) ElementType() reflect.Type

func (BackupInfoResponseOutput) SourceDatabase

func (o BackupInfoResponseOutput) SourceDatabase() pulumi.StringOutput

Name of the database the backup was created from.

func (BackupInfoResponseOutput) ToBackupInfoResponseOutput

func (o BackupInfoResponseOutput) ToBackupInfoResponseOutput() BackupInfoResponseOutput

func (BackupInfoResponseOutput) ToBackupInfoResponseOutputWithContext

func (o BackupInfoResponseOutput) ToBackupInfoResponseOutputWithContext(ctx context.Context) BackupInfoResponseOutput

func (BackupInfoResponseOutput) VersionTime

The backup contains an externally consistent copy of `source_database` at the timestamp specified by `version_time`. If the CreateBackup request did not specify `version_time`, the `version_time` of the backup is equivalent to the `create_time`.

type BackupInput added in v0.3.0

type BackupInput interface {
	pulumi.Input

	ToBackupOutput() BackupOutput
	ToBackupOutputWithContext(ctx context.Context) BackupOutput
}

type BackupOutput added in v0.3.0

type BackupOutput struct{ *pulumi.OutputState }

func (BackupOutput) BackupId added in v0.21.0

func (o BackupOutput) BackupId() pulumi.StringOutput

Required. The id of the backup to be created. The `backup_id` appended to `parent` forms the full backup name of the form `projects//instances//backups/`.

func (BackupOutput) CreateTime added in v0.19.0

func (o BackupOutput) CreateTime() pulumi.StringOutput

The time the CreateBackup request is received. If the request does not specify `version_time`, the `version_time` of the backup will be equivalent to the `create_time`.

func (BackupOutput) Database added in v0.19.0

func (o BackupOutput) Database() pulumi.StringOutput

Required for the CreateBackup operation. Name of the database from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects//instances//databases/`.

func (BackupOutput) DatabaseDialect added in v0.19.0

func (o BackupOutput) DatabaseDialect() pulumi.StringOutput

The database dialect information for the backup.

func (BackupOutput) ElementType added in v0.3.0

func (BackupOutput) ElementType() reflect.Type

func (BackupOutput) EncryptionConfigEncryptionType added in v0.21.0

func (o BackupOutput) EncryptionConfigEncryptionType() pulumi.StringOutput

Required. The encryption type of the backup.

func (BackupOutput) EncryptionConfigKmsKeyName added in v0.21.0

func (o BackupOutput) EncryptionConfigKmsKeyName() pulumi.StringPtrOutput

Optional. The Cloud KMS key that will be used to protect the backup. This field should be set only when encryption_type is `CUSTOMER_MANAGED_ENCRYPTION`. Values are of the form `projects//locations//keyRings//cryptoKeys/`.

func (BackupOutput) EncryptionInfo added in v0.19.0

func (o BackupOutput) EncryptionInfo() EncryptionInfoResponseOutput

The encryption information for the backup.

func (BackupOutput) ExpireTime added in v0.19.0

func (o BackupOutput) ExpireTime() pulumi.StringOutput

Required for the CreateBackup operation. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup request is processed. Once the `expire_time` has passed, the backup is eligible to be automatically deleted by Cloud Spanner to free the resources used by the backup.

func (BackupOutput) InstanceId added in v0.21.0

func (o BackupOutput) InstanceId() pulumi.StringOutput

func (BackupOutput) MaxExpireTime added in v0.19.0

func (o BackupOutput) MaxExpireTime() pulumi.StringOutput

The max allowed expiration time of the backup, with microseconds granularity. A backup's expiration time can be configured in multiple APIs: CreateBackup, UpdateBackup, CopyBackup. When updating or copying an existing backup, the expiration time specified must be less than `Backup.max_expire_time`.

func (BackupOutput) Name added in v0.19.0

func (o BackupOutput) Name() pulumi.StringOutput

Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form `projects//instances/`.

func (BackupOutput) Project added in v0.21.0

func (o BackupOutput) Project() pulumi.StringOutput

func (BackupOutput) ReferencingBackups added in v0.19.0

func (o BackupOutput) ReferencingBackups() pulumi.StringArrayOutput

The names of the destination backups being created by copying this source backup. The backup names are of the form `projects//instances//backups/`. Referencing backups may exist in different instances. The existence of any referencing backup prevents the backup from being deleted. When the copy operation is done (either successfully completed or cancelled or the destination backup is deleted), the reference to the backup is removed.

func (BackupOutput) ReferencingDatabases added in v0.19.0

func (o BackupOutput) ReferencingDatabases() pulumi.StringArrayOutput

The names of the restored databases that reference the backup. The database names are of the form `projects//instances//databases/`. Referencing databases may exist in different instances. The existence of any referencing database prevents the backup from being deleted. When a restored database from the backup enters the `READY` state, the reference to the backup is removed.

func (BackupOutput) SizeBytes added in v0.19.0

func (o BackupOutput) SizeBytes() pulumi.StringOutput

Size of the backup in bytes.

func (BackupOutput) State added in v0.19.0

func (o BackupOutput) State() pulumi.StringOutput

The current state of the backup.

func (BackupOutput) ToBackupOutput added in v0.3.0

func (o BackupOutput) ToBackupOutput() BackupOutput

func (BackupOutput) ToBackupOutputWithContext added in v0.3.0

func (o BackupOutput) ToBackupOutputWithContext(ctx context.Context) BackupOutput

func (BackupOutput) VersionTime added in v0.19.0

func (o BackupOutput) VersionTime() pulumi.StringOutput

The backup will contain an externally consistent copy of the database at the timestamp specified by `version_time`. If `version_time` is not specified, the system will set `version_time` to the `create_time` of the backup.

type BackupState added in v0.3.0

type BackupState struct {
}

func (BackupState) ElementType added in v0.3.0

func (BackupState) ElementType() reflect.Type

type Binding

type Binding struct {
	// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Condition *Expr `pulumi:"condition"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members []string `pulumi:"members"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role *string `pulumi:"role"`
}

Associates `members`, or principals, with a `role`.

type BindingArgs

type BindingArgs struct {
	// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Condition ExprPtrInput `pulumi:"condition"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members pulumi.StringArrayInput `pulumi:"members"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringPtrInput `pulumi:"role"`
}

Associates `members`, or principals, with a `role`.

func (BindingArgs) ElementType

func (BindingArgs) ElementType() reflect.Type

func (BindingArgs) ToBindingOutput

func (i BindingArgs) ToBindingOutput() BindingOutput

func (BindingArgs) ToBindingOutputWithContext

func (i BindingArgs) ToBindingOutputWithContext(ctx context.Context) BindingOutput

type BindingArray

type BindingArray []BindingInput

func (BindingArray) ElementType

func (BindingArray) ElementType() reflect.Type

func (BindingArray) ToBindingArrayOutput

func (i BindingArray) ToBindingArrayOutput() BindingArrayOutput

func (BindingArray) ToBindingArrayOutputWithContext

func (i BindingArray) ToBindingArrayOutputWithContext(ctx context.Context) BindingArrayOutput

type BindingArrayInput

type BindingArrayInput interface {
	pulumi.Input

	ToBindingArrayOutput() BindingArrayOutput
	ToBindingArrayOutputWithContext(context.Context) BindingArrayOutput
}

BindingArrayInput is an input type that accepts BindingArray and BindingArrayOutput values. You can construct a concrete instance of `BindingArrayInput` via:

BindingArray{ BindingArgs{...} }

type BindingArrayOutput

type BindingArrayOutput struct{ *pulumi.OutputState }

func (BindingArrayOutput) ElementType

func (BindingArrayOutput) ElementType() reflect.Type

func (BindingArrayOutput) Index

func (BindingArrayOutput) ToBindingArrayOutput

func (o BindingArrayOutput) ToBindingArrayOutput() BindingArrayOutput

func (BindingArrayOutput) ToBindingArrayOutputWithContext

func (o BindingArrayOutput) ToBindingArrayOutputWithContext(ctx context.Context) BindingArrayOutput

type BindingInput

type BindingInput interface {
	pulumi.Input

	ToBindingOutput() BindingOutput
	ToBindingOutputWithContext(context.Context) BindingOutput
}

BindingInput is an input type that accepts BindingArgs and BindingOutput values. You can construct a concrete instance of `BindingInput` via:

BindingArgs{...}

type BindingOutput

type BindingOutput struct{ *pulumi.OutputState }

Associates `members`, or principals, with a `role`.

func (BindingOutput) Condition

func (o BindingOutput) Condition() ExprPtrOutput

The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

func (BindingOutput) ElementType

func (BindingOutput) ElementType() reflect.Type

func (BindingOutput) Members

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (BindingOutput) Role

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (BindingOutput) ToBindingOutput

func (o BindingOutput) ToBindingOutput() BindingOutput

func (BindingOutput) ToBindingOutputWithContext

func (o BindingOutput) ToBindingOutputWithContext(ctx context.Context) BindingOutput

type BindingResponse

type BindingResponse struct {
	// The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Condition ExprResponse `pulumi:"condition"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members []string `pulumi:"members"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role string `pulumi:"role"`
}

Associates `members`, or principals, with a `role`.

type BindingResponseArrayOutput

type BindingResponseArrayOutput struct{ *pulumi.OutputState }

func (BindingResponseArrayOutput) ElementType

func (BindingResponseArrayOutput) ElementType() reflect.Type

func (BindingResponseArrayOutput) Index

func (BindingResponseArrayOutput) ToBindingResponseArrayOutput

func (o BindingResponseArrayOutput) ToBindingResponseArrayOutput() BindingResponseArrayOutput

func (BindingResponseArrayOutput) ToBindingResponseArrayOutputWithContext

func (o BindingResponseArrayOutput) ToBindingResponseArrayOutputWithContext(ctx context.Context) BindingResponseArrayOutput

type BindingResponseOutput

type BindingResponseOutput struct{ *pulumi.OutputState }

Associates `members`, or principals, with a `role`.

func (BindingResponseOutput) Condition

The condition that is associated with this binding. If the condition evaluates to `true`, then this binding applies to the current request. If the condition evaluates to `false`, then this binding does not apply to the current request. However, a different role binding might grant the same role to one or more of the principals in this binding. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

func (BindingResponseOutput) ElementType

func (BindingResponseOutput) ElementType() reflect.Type

func (BindingResponseOutput) Members

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (BindingResponseOutput) Role

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (BindingResponseOutput) ToBindingResponseOutput

func (o BindingResponseOutput) ToBindingResponseOutput() BindingResponseOutput

func (BindingResponseOutput) ToBindingResponseOutputWithContext

func (o BindingResponseOutput) ToBindingResponseOutputWithContext(ctx context.Context) BindingResponseOutput

type Database added in v0.3.0

type Database struct {
	pulumi.CustomResourceState

	// If exists, the time at which the database creation started.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The dialect of the Cloud Spanner Database.
	DatabaseDialect pulumi.StringOutput `pulumi:"databaseDialect"`
	// The read-write region which contains the database's leader replicas. This is the same as the value of default_leader database option set using DatabaseAdmin.CreateDatabase or DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
	DefaultLeader pulumi.StringOutput `pulumi:"defaultLeader"`
	// Earliest timestamp at which older versions of the data can be read. This value is continuously updated by Cloud Spanner and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.
	EarliestVersionTime pulumi.StringOutput `pulumi:"earliestVersionTime"`
	// Whether drop protection is enabled for this database. Defaults to false, if not set. For more details, please see how to [prevent accidental database deletion](https://cloud.google.com/spanner/docs/prevent-database-deletion).
	EnableDropProtection pulumi.BoolOutput `pulumi:"enableDropProtection"`
	// For databases that are using customer managed encryption, this field contains the encryption configuration for the database. For databases that are using Google default or other types of encryption, this field is empty.
	EncryptionConfig EncryptionConfigResponseOutput `pulumi:"encryptionConfig"`
	// For databases that are using customer managed encryption, this field contains the encryption information for the database, such as all Cloud KMS key versions that are in use. The ` encryption_status' field inside of each  `EncryptionInfo` is not populated. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field.
	EncryptionInfo EncryptionInfoResponseArrayOutput `pulumi:"encryptionInfo"`
	InstanceId     pulumi.StringOutput               `pulumi:"instanceId"`
	// The name of the database. Values are of the form `projects//instances//databases/`, where “ is as specified in the `CREATE DATABASE` statement. This name can be passed to other API methods to identify the database.
	Name    pulumi.StringOutput `pulumi:"name"`
	Project pulumi.StringOutput `pulumi:"project"`
	// If true, the database is being updated. If false, there are no ongoing update operations for the database.
	Reconciling pulumi.BoolOutput `pulumi:"reconciling"`
	// Applicable only for restored databases. Contains information about the restore source.
	RestoreInfo RestoreInfoResponseOutput `pulumi:"restoreInfo"`
	// The current database state.
	State pulumi.StringOutput `pulumi:"state"`
	// The period in which Cloud Spanner retains all versions of data for the database. This is the same as the value of version_retention_period database option set using UpdateDatabaseDdl. Defaults to 1 hour, if not set.
	VersionRetentionPeriod pulumi.StringOutput `pulumi:"versionRetentionPeriod"`
}

Creates a new Cloud Spanner database and starts to prepare it for serving. The returned long-running operation will have a name of the format `/operations/` and can be used to track preparation of the database. The metadata field type is CreateDatabaseMetadata. The response field type is Database, if successful. Auto-naming is currently not supported for this resource.

func GetDatabase added in v0.3.0

func GetDatabase(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DatabaseState, opts ...pulumi.ResourceOption) (*Database, error)

GetDatabase gets an existing Database 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 NewDatabase added in v0.3.0

func NewDatabase(ctx *pulumi.Context,
	name string, args *DatabaseArgs, opts ...pulumi.ResourceOption) (*Database, error)

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

func (*Database) ElementType added in v0.3.0

func (*Database) ElementType() reflect.Type

func (*Database) ToDatabaseOutput added in v0.3.0

func (i *Database) ToDatabaseOutput() DatabaseOutput

func (*Database) ToDatabaseOutputWithContext added in v0.3.0

func (i *Database) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput

type DatabaseArgs added in v0.3.0

type DatabaseArgs struct {
	// A `CREATE DATABASE` statement, which specifies the ID of the new database. The database ID must conform to the regular expression `a-z*[a-z0-9]` and be between 2 and 30 characters in length. If the database ID is a reserved word or if it contains a hyphen, the database ID must be enclosed in backticks (“ ` “).
	CreateStatement pulumi.StringInput
	// Optional. The dialect of the Cloud Spanner Database.
	DatabaseDialect DatabaseDatabaseDialectPtrInput
	// Optional. The encryption configuration for the database. If this field is not specified, Cloud Spanner will encrypt/decrypt all data at rest using Google default encryption.
	EncryptionConfig EncryptionConfigPtrInput
	// Optional. A list of DDL statements to run inside the newly created database. Statements can create tables, indexes, etc. These statements execute atomically with the creation of the database: if there is an error in any statement, the database is not created.
	ExtraStatements pulumi.StringArrayInput
	InstanceId      pulumi.StringInput
	Project         pulumi.StringPtrInput
	// Optional. Proto descriptors used by CREATE/ALTER PROTO BUNDLE statements in 'extra_statements' above. Contains a protobuf-serialized [google.protobuf.FileDescriptorSet](https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/descriptor.proto). To generate it, [install](https://grpc.io/docs/protoc-installation/) and run `protoc` with --include_imports and --descriptor_set_out. For example, to generate for moon/shot/app.proto, run """ $protoc --proto_path=/app_path --proto_path=/lib_path \ --include_imports \ --descriptor_set_out=descriptors.data \ moon/shot/app.proto """ For more details, see protobuffer [self description](https://developers.google.com/protocol-buffers/docs/techniques#self-description).
	ProtoDescriptors pulumi.StringPtrInput
}

The set of arguments for constructing a Database resource.

func (DatabaseArgs) ElementType added in v0.3.0

func (DatabaseArgs) ElementType() reflect.Type

type DatabaseDatabaseDialect added in v0.14.0

type DatabaseDatabaseDialect string

Optional. The dialect of the Cloud Spanner Database.

func (DatabaseDatabaseDialect) ElementType added in v0.14.0

func (DatabaseDatabaseDialect) ElementType() reflect.Type

func (DatabaseDatabaseDialect) ToDatabaseDatabaseDialectOutput added in v0.14.0

func (e DatabaseDatabaseDialect) ToDatabaseDatabaseDialectOutput() DatabaseDatabaseDialectOutput

func (DatabaseDatabaseDialect) ToDatabaseDatabaseDialectOutputWithContext added in v0.14.0

func (e DatabaseDatabaseDialect) ToDatabaseDatabaseDialectOutputWithContext(ctx context.Context) DatabaseDatabaseDialectOutput

func (DatabaseDatabaseDialect) ToDatabaseDatabaseDialectPtrOutput added in v0.14.0

func (e DatabaseDatabaseDialect) ToDatabaseDatabaseDialectPtrOutput() DatabaseDatabaseDialectPtrOutput

func (DatabaseDatabaseDialect) ToDatabaseDatabaseDialectPtrOutputWithContext added in v0.14.0

func (e DatabaseDatabaseDialect) ToDatabaseDatabaseDialectPtrOutputWithContext(ctx context.Context) DatabaseDatabaseDialectPtrOutput

func (DatabaseDatabaseDialect) ToStringOutput added in v0.14.0

func (e DatabaseDatabaseDialect) ToStringOutput() pulumi.StringOutput

func (DatabaseDatabaseDialect) ToStringOutputWithContext added in v0.14.0

func (e DatabaseDatabaseDialect) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (DatabaseDatabaseDialect) ToStringPtrOutput added in v0.14.0

func (e DatabaseDatabaseDialect) ToStringPtrOutput() pulumi.StringPtrOutput

func (DatabaseDatabaseDialect) ToStringPtrOutputWithContext added in v0.14.0

func (e DatabaseDatabaseDialect) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type DatabaseDatabaseDialectInput added in v0.14.0

type DatabaseDatabaseDialectInput interface {
	pulumi.Input

	ToDatabaseDatabaseDialectOutput() DatabaseDatabaseDialectOutput
	ToDatabaseDatabaseDialectOutputWithContext(context.Context) DatabaseDatabaseDialectOutput
}

DatabaseDatabaseDialectInput is an input type that accepts DatabaseDatabaseDialectArgs and DatabaseDatabaseDialectOutput values. You can construct a concrete instance of `DatabaseDatabaseDialectInput` via:

DatabaseDatabaseDialectArgs{...}

type DatabaseDatabaseDialectOutput added in v0.14.0

type DatabaseDatabaseDialectOutput struct{ *pulumi.OutputState }

func (DatabaseDatabaseDialectOutput) ElementType added in v0.14.0

func (DatabaseDatabaseDialectOutput) ToDatabaseDatabaseDialectOutput added in v0.14.0

func (o DatabaseDatabaseDialectOutput) ToDatabaseDatabaseDialectOutput() DatabaseDatabaseDialectOutput

func (DatabaseDatabaseDialectOutput) ToDatabaseDatabaseDialectOutputWithContext added in v0.14.0

func (o DatabaseDatabaseDialectOutput) ToDatabaseDatabaseDialectOutputWithContext(ctx context.Context) DatabaseDatabaseDialectOutput

func (DatabaseDatabaseDialectOutput) ToDatabaseDatabaseDialectPtrOutput added in v0.14.0

func (o DatabaseDatabaseDialectOutput) ToDatabaseDatabaseDialectPtrOutput() DatabaseDatabaseDialectPtrOutput

func (DatabaseDatabaseDialectOutput) ToDatabaseDatabaseDialectPtrOutputWithContext added in v0.14.0

func (o DatabaseDatabaseDialectOutput) ToDatabaseDatabaseDialectPtrOutputWithContext(ctx context.Context) DatabaseDatabaseDialectPtrOutput

func (DatabaseDatabaseDialectOutput) ToStringOutput added in v0.14.0

func (DatabaseDatabaseDialectOutput) ToStringOutputWithContext added in v0.14.0

func (o DatabaseDatabaseDialectOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (DatabaseDatabaseDialectOutput) ToStringPtrOutput added in v0.14.0

func (DatabaseDatabaseDialectOutput) ToStringPtrOutputWithContext added in v0.14.0

func (o DatabaseDatabaseDialectOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type DatabaseDatabaseDialectPtrInput added in v0.14.0

type DatabaseDatabaseDialectPtrInput interface {
	pulumi.Input

	ToDatabaseDatabaseDialectPtrOutput() DatabaseDatabaseDialectPtrOutput
	ToDatabaseDatabaseDialectPtrOutputWithContext(context.Context) DatabaseDatabaseDialectPtrOutput
}

func DatabaseDatabaseDialectPtr added in v0.14.0

func DatabaseDatabaseDialectPtr(v string) DatabaseDatabaseDialectPtrInput

type DatabaseDatabaseDialectPtrOutput added in v0.14.0

type DatabaseDatabaseDialectPtrOutput struct{ *pulumi.OutputState }

func (DatabaseDatabaseDialectPtrOutput) Elem added in v0.14.0

func (DatabaseDatabaseDialectPtrOutput) ElementType added in v0.14.0

func (DatabaseDatabaseDialectPtrOutput) ToDatabaseDatabaseDialectPtrOutput added in v0.14.0

func (o DatabaseDatabaseDialectPtrOutput) ToDatabaseDatabaseDialectPtrOutput() DatabaseDatabaseDialectPtrOutput

func (DatabaseDatabaseDialectPtrOutput) ToDatabaseDatabaseDialectPtrOutputWithContext added in v0.14.0

func (o DatabaseDatabaseDialectPtrOutput) ToDatabaseDatabaseDialectPtrOutputWithContext(ctx context.Context) DatabaseDatabaseDialectPtrOutput

func (DatabaseDatabaseDialectPtrOutput) ToStringPtrOutput added in v0.14.0

func (DatabaseDatabaseDialectPtrOutput) ToStringPtrOutputWithContext added in v0.14.0

func (o DatabaseDatabaseDialectPtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type DatabaseInput added in v0.3.0

type DatabaseInput interface {
	pulumi.Input

	ToDatabaseOutput() DatabaseOutput
	ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput
}

type DatabaseOutput added in v0.3.0

type DatabaseOutput struct{ *pulumi.OutputState }

func (DatabaseOutput) CreateTime added in v0.19.0

func (o DatabaseOutput) CreateTime() pulumi.StringOutput

If exists, the time at which the database creation started.

func (DatabaseOutput) DatabaseDialect added in v0.19.0

func (o DatabaseOutput) DatabaseDialect() pulumi.StringOutput

The dialect of the Cloud Spanner Database.

func (DatabaseOutput) DefaultLeader added in v0.19.0

func (o DatabaseOutput) DefaultLeader() pulumi.StringOutput

The read-write region which contains the database's leader replicas. This is the same as the value of default_leader database option set using DatabaseAdmin.CreateDatabase or DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.

func (DatabaseOutput) EarliestVersionTime added in v0.19.0

func (o DatabaseOutput) EarliestVersionTime() pulumi.StringOutput

Earliest timestamp at which older versions of the data can be read. This value is continuously updated by Cloud Spanner and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.

func (DatabaseOutput) ElementType added in v0.3.0

func (DatabaseOutput) ElementType() reflect.Type

func (DatabaseOutput) EnableDropProtection added in v0.30.0

func (o DatabaseOutput) EnableDropProtection() pulumi.BoolOutput

Whether drop protection is enabled for this database. Defaults to false, if not set. For more details, please see how to [prevent accidental database deletion](https://cloud.google.com/spanner/docs/prevent-database-deletion).

func (DatabaseOutput) EncryptionConfig added in v0.19.0

func (o DatabaseOutput) EncryptionConfig() EncryptionConfigResponseOutput

For databases that are using customer managed encryption, this field contains the encryption configuration for the database. For databases that are using Google default or other types of encryption, this field is empty.

func (DatabaseOutput) EncryptionInfo added in v0.19.0

For databases that are using customer managed encryption, this field contains the encryption information for the database, such as all Cloud KMS key versions that are in use. The ` encryption_status' field inside of each `EncryptionInfo` is not populated. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field.

func (DatabaseOutput) InstanceId added in v0.21.0

func (o DatabaseOutput) InstanceId() pulumi.StringOutput

func (DatabaseOutput) Name added in v0.19.0

The name of the database. Values are of the form `projects//instances//databases/`, where “ is as specified in the `CREATE DATABASE` statement. This name can be passed to other API methods to identify the database.

func (DatabaseOutput) Project added in v0.21.0

func (o DatabaseOutput) Project() pulumi.StringOutput

func (DatabaseOutput) Reconciling added in v0.30.0

func (o DatabaseOutput) Reconciling() pulumi.BoolOutput

If true, the database is being updated. If false, there are no ongoing update operations for the database.

func (DatabaseOutput) RestoreInfo added in v0.19.0

func (o DatabaseOutput) RestoreInfo() RestoreInfoResponseOutput

Applicable only for restored databases. Contains information about the restore source.

func (DatabaseOutput) State added in v0.19.0

The current database state.

func (DatabaseOutput) ToDatabaseOutput added in v0.3.0

func (o DatabaseOutput) ToDatabaseOutput() DatabaseOutput

func (DatabaseOutput) ToDatabaseOutputWithContext added in v0.3.0

func (o DatabaseOutput) ToDatabaseOutputWithContext(ctx context.Context) DatabaseOutput

func (DatabaseOutput) VersionRetentionPeriod added in v0.19.0

func (o DatabaseOutput) VersionRetentionPeriod() pulumi.StringOutput

The period in which Cloud Spanner retains all versions of data for the database. This is the same as the value of version_retention_period database option set using UpdateDatabaseDdl. Defaults to 1 hour, if not set.

type DatabaseState added in v0.3.0

type DatabaseState struct {
}

func (DatabaseState) ElementType added in v0.3.0

func (DatabaseState) ElementType() reflect.Type

type EncryptionConfig

type EncryptionConfig struct {
	// The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`.
	KmsKeyName *string `pulumi:"kmsKeyName"`
}

Encryption configuration for a Cloud Spanner database.

type EncryptionConfigArgs

type EncryptionConfigArgs struct {
	// The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`.
	KmsKeyName pulumi.StringPtrInput `pulumi:"kmsKeyName"`
}

Encryption configuration for a Cloud Spanner database.

func (EncryptionConfigArgs) ElementType

func (EncryptionConfigArgs) ElementType() reflect.Type

func (EncryptionConfigArgs) ToEncryptionConfigOutput

func (i EncryptionConfigArgs) ToEncryptionConfigOutput() EncryptionConfigOutput

func (EncryptionConfigArgs) ToEncryptionConfigOutputWithContext

func (i EncryptionConfigArgs) ToEncryptionConfigOutputWithContext(ctx context.Context) EncryptionConfigOutput

func (EncryptionConfigArgs) ToEncryptionConfigPtrOutput

func (i EncryptionConfigArgs) ToEncryptionConfigPtrOutput() EncryptionConfigPtrOutput

func (EncryptionConfigArgs) ToEncryptionConfigPtrOutputWithContext

func (i EncryptionConfigArgs) ToEncryptionConfigPtrOutputWithContext(ctx context.Context) EncryptionConfigPtrOutput

type EncryptionConfigInput

type EncryptionConfigInput interface {
	pulumi.Input

	ToEncryptionConfigOutput() EncryptionConfigOutput
	ToEncryptionConfigOutputWithContext(context.Context) EncryptionConfigOutput
}

EncryptionConfigInput is an input type that accepts EncryptionConfigArgs and EncryptionConfigOutput values. You can construct a concrete instance of `EncryptionConfigInput` via:

EncryptionConfigArgs{...}

type EncryptionConfigOutput

type EncryptionConfigOutput struct{ *pulumi.OutputState }

Encryption configuration for a Cloud Spanner database.

func (EncryptionConfigOutput) ElementType

func (EncryptionConfigOutput) ElementType() reflect.Type

func (EncryptionConfigOutput) KmsKeyName

The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`.

func (EncryptionConfigOutput) ToEncryptionConfigOutput

func (o EncryptionConfigOutput) ToEncryptionConfigOutput() EncryptionConfigOutput

func (EncryptionConfigOutput) ToEncryptionConfigOutputWithContext

func (o EncryptionConfigOutput) ToEncryptionConfigOutputWithContext(ctx context.Context) EncryptionConfigOutput

func (EncryptionConfigOutput) ToEncryptionConfigPtrOutput

func (o EncryptionConfigOutput) ToEncryptionConfigPtrOutput() EncryptionConfigPtrOutput

func (EncryptionConfigOutput) ToEncryptionConfigPtrOutputWithContext

func (o EncryptionConfigOutput) ToEncryptionConfigPtrOutputWithContext(ctx context.Context) EncryptionConfigPtrOutput

type EncryptionConfigPtrInput

type EncryptionConfigPtrInput interface {
	pulumi.Input

	ToEncryptionConfigPtrOutput() EncryptionConfigPtrOutput
	ToEncryptionConfigPtrOutputWithContext(context.Context) EncryptionConfigPtrOutput
}

EncryptionConfigPtrInput is an input type that accepts EncryptionConfigArgs, EncryptionConfigPtr and EncryptionConfigPtrOutput values. You can construct a concrete instance of `EncryptionConfigPtrInput` via:

        EncryptionConfigArgs{...}

or:

        nil

type EncryptionConfigPtrOutput

type EncryptionConfigPtrOutput struct{ *pulumi.OutputState }

func (EncryptionConfigPtrOutput) Elem

func (EncryptionConfigPtrOutput) ElementType

func (EncryptionConfigPtrOutput) ElementType() reflect.Type

func (EncryptionConfigPtrOutput) KmsKeyName

The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`.

func (EncryptionConfigPtrOutput) ToEncryptionConfigPtrOutput

func (o EncryptionConfigPtrOutput) ToEncryptionConfigPtrOutput() EncryptionConfigPtrOutput

func (EncryptionConfigPtrOutput) ToEncryptionConfigPtrOutputWithContext

func (o EncryptionConfigPtrOutput) ToEncryptionConfigPtrOutputWithContext(ctx context.Context) EncryptionConfigPtrOutput

type EncryptionConfigResponse

type EncryptionConfigResponse struct {
	// The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`.
	KmsKeyName string `pulumi:"kmsKeyName"`
}

Encryption configuration for a Cloud Spanner database.

type EncryptionConfigResponseOutput

type EncryptionConfigResponseOutput struct{ *pulumi.OutputState }

Encryption configuration for a Cloud Spanner database.

func (EncryptionConfigResponseOutput) ElementType

func (EncryptionConfigResponseOutput) KmsKeyName

The Cloud KMS key to be used for encrypting and decrypting the database. Values are of the form `projects//locations//keyRings//cryptoKeys/`.

func (EncryptionConfigResponseOutput) ToEncryptionConfigResponseOutput

func (o EncryptionConfigResponseOutput) ToEncryptionConfigResponseOutput() EncryptionConfigResponseOutput

func (EncryptionConfigResponseOutput) ToEncryptionConfigResponseOutputWithContext

func (o EncryptionConfigResponseOutput) ToEncryptionConfigResponseOutputWithContext(ctx context.Context) EncryptionConfigResponseOutput

type EncryptionInfoResponse

type EncryptionInfoResponse struct {
	// If present, the status of a recent encrypt/decrypt call on underlying data for this database or backup. Regardless of status, data is always encrypted at rest.
	EncryptionStatus StatusResponse `pulumi:"encryptionStatus"`
	// The type of encryption.
	EncryptionType string `pulumi:"encryptionType"`
	// A Cloud KMS key version that is being used to protect the database or backup.
	KmsKeyVersion string `pulumi:"kmsKeyVersion"`
}

Encryption information for a Cloud Spanner database or backup.

type EncryptionInfoResponseArrayOutput

type EncryptionInfoResponseArrayOutput struct{ *pulumi.OutputState }

func (EncryptionInfoResponseArrayOutput) ElementType

func (EncryptionInfoResponseArrayOutput) Index

func (EncryptionInfoResponseArrayOutput) ToEncryptionInfoResponseArrayOutput

func (o EncryptionInfoResponseArrayOutput) ToEncryptionInfoResponseArrayOutput() EncryptionInfoResponseArrayOutput

func (EncryptionInfoResponseArrayOutput) ToEncryptionInfoResponseArrayOutputWithContext

func (o EncryptionInfoResponseArrayOutput) ToEncryptionInfoResponseArrayOutputWithContext(ctx context.Context) EncryptionInfoResponseArrayOutput

type EncryptionInfoResponseOutput

type EncryptionInfoResponseOutput struct{ *pulumi.OutputState }

Encryption information for a Cloud Spanner database or backup.

func (EncryptionInfoResponseOutput) ElementType

func (EncryptionInfoResponseOutput) EncryptionStatus

If present, the status of a recent encrypt/decrypt call on underlying data for this database or backup. Regardless of status, data is always encrypted at rest.

func (EncryptionInfoResponseOutput) EncryptionType

The type of encryption.

func (EncryptionInfoResponseOutput) KmsKeyVersion

A Cloud KMS key version that is being used to protect the database or backup.

func (EncryptionInfoResponseOutput) ToEncryptionInfoResponseOutput

func (o EncryptionInfoResponseOutput) ToEncryptionInfoResponseOutput() EncryptionInfoResponseOutput

func (EncryptionInfoResponseOutput) ToEncryptionInfoResponseOutputWithContext

func (o EncryptionInfoResponseOutput) ToEncryptionInfoResponseOutputWithContext(ctx context.Context) EncryptionInfoResponseOutput

type Expr

type Expr struct {
	// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description *string `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression *string `pulumi:"expression"`
	// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
	Location *string `pulumi:"location"`
	// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
	Title *string `pulumi:"title"`
}

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

type ExprArgs

type ExprArgs struct {
	// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description pulumi.StringPtrInput `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression pulumi.StringPtrInput `pulumi:"expression"`
	// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
	Location pulumi.StringPtrInput `pulumi:"location"`
	// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
	Title pulumi.StringPtrInput `pulumi:"title"`
}

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

func (ExprArgs) ElementType

func (ExprArgs) ElementType() reflect.Type

func (ExprArgs) ToExprOutput

func (i ExprArgs) ToExprOutput() ExprOutput

func (ExprArgs) ToExprOutputWithContext

func (i ExprArgs) ToExprOutputWithContext(ctx context.Context) ExprOutput

func (ExprArgs) ToExprPtrOutput

func (i ExprArgs) ToExprPtrOutput() ExprPtrOutput

func (ExprArgs) ToExprPtrOutputWithContext

func (i ExprArgs) ToExprPtrOutputWithContext(ctx context.Context) ExprPtrOutput

type ExprInput

type ExprInput interface {
	pulumi.Input

	ToExprOutput() ExprOutput
	ToExprOutputWithContext(context.Context) ExprOutput
}

ExprInput is an input type that accepts ExprArgs and ExprOutput values. You can construct a concrete instance of `ExprInput` via:

ExprArgs{...}

type ExprOutput

type ExprOutput struct{ *pulumi.OutputState }

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

func (ExprOutput) Description

func (o ExprOutput) Description() pulumi.StringPtrOutput

Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (ExprOutput) ElementType

func (ExprOutput) ElementType() reflect.Type

func (ExprOutput) Expression

func (o ExprOutput) Expression() pulumi.StringPtrOutput

Textual representation of an expression in Common Expression Language syntax.

func (ExprOutput) Location

func (o ExprOutput) Location() pulumi.StringPtrOutput

Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

func (ExprOutput) Title

func (o ExprOutput) Title() pulumi.StringPtrOutput

Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

func (ExprOutput) ToExprOutput

func (o ExprOutput) ToExprOutput() ExprOutput

func (ExprOutput) ToExprOutputWithContext

func (o ExprOutput) ToExprOutputWithContext(ctx context.Context) ExprOutput

func (ExprOutput) ToExprPtrOutput

func (o ExprOutput) ToExprPtrOutput() ExprPtrOutput

func (ExprOutput) ToExprPtrOutputWithContext

func (o ExprOutput) ToExprPtrOutputWithContext(ctx context.Context) ExprPtrOutput

type ExprPtrInput

type ExprPtrInput interface {
	pulumi.Input

	ToExprPtrOutput() ExprPtrOutput
	ToExprPtrOutputWithContext(context.Context) ExprPtrOutput
}

ExprPtrInput is an input type that accepts ExprArgs, ExprPtr and ExprPtrOutput values. You can construct a concrete instance of `ExprPtrInput` via:

        ExprArgs{...}

or:

        nil

func ExprPtr

func ExprPtr(v *ExprArgs) ExprPtrInput

type ExprPtrOutput

type ExprPtrOutput struct{ *pulumi.OutputState }

func (ExprPtrOutput) Description

func (o ExprPtrOutput) Description() pulumi.StringPtrOutput

Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (ExprPtrOutput) Elem

func (o ExprPtrOutput) Elem() ExprOutput

func (ExprPtrOutput) ElementType

func (ExprPtrOutput) ElementType() reflect.Type

func (ExprPtrOutput) Expression

func (o ExprPtrOutput) Expression() pulumi.StringPtrOutput

Textual representation of an expression in Common Expression Language syntax.

func (ExprPtrOutput) Location

func (o ExprPtrOutput) Location() pulumi.StringPtrOutput

Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

func (ExprPtrOutput) Title

Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

func (ExprPtrOutput) ToExprPtrOutput

func (o ExprPtrOutput) ToExprPtrOutput() ExprPtrOutput

func (ExprPtrOutput) ToExprPtrOutputWithContext

func (o ExprPtrOutput) ToExprPtrOutputWithContext(ctx context.Context) ExprPtrOutput

type ExprResponse

type ExprResponse struct {
	// Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.
	Description string `pulumi:"description"`
	// Textual representation of an expression in Common Expression Language syntax.
	Expression string `pulumi:"expression"`
	// Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.
	Location string `pulumi:"location"`
	// Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.
	Title string `pulumi:"title"`
}

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

type ExprResponseOutput

type ExprResponseOutput struct{ *pulumi.OutputState }

Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: "Summary size limit" description: "Determines if a summary is less than 100 chars" expression: "document.summary.size() < 100" Example (Equality): title: "Requestor is owner" description: "Determines if requestor is the document owner" expression: "document.owner == request.auth.claims.email" Example (Logic): title: "Public documents" description: "Determine whether the document should be publicly visible" expression: "document.type != 'private' && document.type != 'internal'" Example (Data Manipulation): title: "Notification string" description: "Create a notification string with a timestamp." expression: "'New message received at ' + string(document.create_time)" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.

func (ExprResponseOutput) Description

func (o ExprResponseOutput) Description() pulumi.StringOutput

Optional. Description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.

func (ExprResponseOutput) ElementType

func (ExprResponseOutput) ElementType() reflect.Type

func (ExprResponseOutput) Expression

func (o ExprResponseOutput) Expression() pulumi.StringOutput

Textual representation of an expression in Common Expression Language syntax.

func (ExprResponseOutput) Location

func (o ExprResponseOutput) Location() pulumi.StringOutput

Optional. String indicating the location of the expression for error reporting, e.g. a file name and a position in the file.

func (ExprResponseOutput) Title

Optional. Title for the expression, i.e. a short string describing its purpose. This can be used e.g. in UIs which allow to enter the expression.

func (ExprResponseOutput) ToExprResponseOutput

func (o ExprResponseOutput) ToExprResponseOutput() ExprResponseOutput

func (ExprResponseOutput) ToExprResponseOutputWithContext

func (o ExprResponseOutput) ToExprResponseOutputWithContext(ctx context.Context) ExprResponseOutput

type FreeInstanceMetadata added in v0.22.0

type FreeInstanceMetadata struct {
	// Specifies the expiration behavior of a free instance. The default of ExpireBehavior is `REMOVE_AFTER_GRACE_PERIOD`. This can be modified during or after creation, and before expiration.
	ExpireBehavior *FreeInstanceMetadataExpireBehavior `pulumi:"expireBehavior"`
}

Free instance specific metadata that is kept even after an instance has been upgraded for tracking purposes.

type FreeInstanceMetadataArgs added in v0.22.0

type FreeInstanceMetadataArgs struct {
	// Specifies the expiration behavior of a free instance. The default of ExpireBehavior is `REMOVE_AFTER_GRACE_PERIOD`. This can be modified during or after creation, and before expiration.
	ExpireBehavior FreeInstanceMetadataExpireBehaviorPtrInput `pulumi:"expireBehavior"`
}

Free instance specific metadata that is kept even after an instance has been upgraded for tracking purposes.

func (FreeInstanceMetadataArgs) ElementType added in v0.22.0

func (FreeInstanceMetadataArgs) ElementType() reflect.Type

func (FreeInstanceMetadataArgs) ToFreeInstanceMetadataOutput added in v0.22.0

func (i FreeInstanceMetadataArgs) ToFreeInstanceMetadataOutput() FreeInstanceMetadataOutput

func (FreeInstanceMetadataArgs) ToFreeInstanceMetadataOutputWithContext added in v0.22.0

func (i FreeInstanceMetadataArgs) ToFreeInstanceMetadataOutputWithContext(ctx context.Context) FreeInstanceMetadataOutput

func (FreeInstanceMetadataArgs) ToFreeInstanceMetadataPtrOutput added in v0.22.0

func (i FreeInstanceMetadataArgs) ToFreeInstanceMetadataPtrOutput() FreeInstanceMetadataPtrOutput

func (FreeInstanceMetadataArgs) ToFreeInstanceMetadataPtrOutputWithContext added in v0.22.0

func (i FreeInstanceMetadataArgs) ToFreeInstanceMetadataPtrOutputWithContext(ctx context.Context) FreeInstanceMetadataPtrOutput

type FreeInstanceMetadataExpireBehavior added in v0.22.0

type FreeInstanceMetadataExpireBehavior string

Specifies the expiration behavior of a free instance. The default of ExpireBehavior is `REMOVE_AFTER_GRACE_PERIOD`. This can be modified during or after creation, and before expiration.

func (FreeInstanceMetadataExpireBehavior) ElementType added in v0.22.0

func (FreeInstanceMetadataExpireBehavior) ToFreeInstanceMetadataExpireBehaviorOutput added in v0.22.0

func (e FreeInstanceMetadataExpireBehavior) ToFreeInstanceMetadataExpireBehaviorOutput() FreeInstanceMetadataExpireBehaviorOutput

func (FreeInstanceMetadataExpireBehavior) ToFreeInstanceMetadataExpireBehaviorOutputWithContext added in v0.22.0

func (e FreeInstanceMetadataExpireBehavior) ToFreeInstanceMetadataExpireBehaviorOutputWithContext(ctx context.Context) FreeInstanceMetadataExpireBehaviorOutput

func (FreeInstanceMetadataExpireBehavior) ToFreeInstanceMetadataExpireBehaviorPtrOutput added in v0.22.0

func (e FreeInstanceMetadataExpireBehavior) ToFreeInstanceMetadataExpireBehaviorPtrOutput() FreeInstanceMetadataExpireBehaviorPtrOutput

func (FreeInstanceMetadataExpireBehavior) ToFreeInstanceMetadataExpireBehaviorPtrOutputWithContext added in v0.22.0

func (e FreeInstanceMetadataExpireBehavior) ToFreeInstanceMetadataExpireBehaviorPtrOutputWithContext(ctx context.Context) FreeInstanceMetadataExpireBehaviorPtrOutput

func (FreeInstanceMetadataExpireBehavior) ToStringOutput added in v0.22.0

func (FreeInstanceMetadataExpireBehavior) ToStringOutputWithContext added in v0.22.0

func (e FreeInstanceMetadataExpireBehavior) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (FreeInstanceMetadataExpireBehavior) ToStringPtrOutput added in v0.22.0

func (FreeInstanceMetadataExpireBehavior) ToStringPtrOutputWithContext added in v0.22.0

func (e FreeInstanceMetadataExpireBehavior) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type FreeInstanceMetadataExpireBehaviorInput added in v0.22.0

type FreeInstanceMetadataExpireBehaviorInput interface {
	pulumi.Input

	ToFreeInstanceMetadataExpireBehaviorOutput() FreeInstanceMetadataExpireBehaviorOutput
	ToFreeInstanceMetadataExpireBehaviorOutputWithContext(context.Context) FreeInstanceMetadataExpireBehaviorOutput
}

FreeInstanceMetadataExpireBehaviorInput is an input type that accepts FreeInstanceMetadataExpireBehaviorArgs and FreeInstanceMetadataExpireBehaviorOutput values. You can construct a concrete instance of `FreeInstanceMetadataExpireBehaviorInput` via:

FreeInstanceMetadataExpireBehaviorArgs{...}

type FreeInstanceMetadataExpireBehaviorOutput added in v0.22.0

type FreeInstanceMetadataExpireBehaviorOutput struct{ *pulumi.OutputState }

func (FreeInstanceMetadataExpireBehaviorOutput) ElementType added in v0.22.0

func (FreeInstanceMetadataExpireBehaviorOutput) ToFreeInstanceMetadataExpireBehaviorOutput added in v0.22.0

func (o FreeInstanceMetadataExpireBehaviorOutput) ToFreeInstanceMetadataExpireBehaviorOutput() FreeInstanceMetadataExpireBehaviorOutput

func (FreeInstanceMetadataExpireBehaviorOutput) ToFreeInstanceMetadataExpireBehaviorOutputWithContext added in v0.22.0

func (o FreeInstanceMetadataExpireBehaviorOutput) ToFreeInstanceMetadataExpireBehaviorOutputWithContext(ctx context.Context) FreeInstanceMetadataExpireBehaviorOutput

func (FreeInstanceMetadataExpireBehaviorOutput) ToFreeInstanceMetadataExpireBehaviorPtrOutput added in v0.22.0

func (o FreeInstanceMetadataExpireBehaviorOutput) ToFreeInstanceMetadataExpireBehaviorPtrOutput() FreeInstanceMetadataExpireBehaviorPtrOutput

func (FreeInstanceMetadataExpireBehaviorOutput) ToFreeInstanceMetadataExpireBehaviorPtrOutputWithContext added in v0.22.0

func (o FreeInstanceMetadataExpireBehaviorOutput) ToFreeInstanceMetadataExpireBehaviorPtrOutputWithContext(ctx context.Context) FreeInstanceMetadataExpireBehaviorPtrOutput

func (FreeInstanceMetadataExpireBehaviorOutput) ToStringOutput added in v0.22.0

func (FreeInstanceMetadataExpireBehaviorOutput) ToStringOutputWithContext added in v0.22.0

func (FreeInstanceMetadataExpireBehaviorOutput) ToStringPtrOutput added in v0.22.0

func (FreeInstanceMetadataExpireBehaviorOutput) ToStringPtrOutputWithContext added in v0.22.0

type FreeInstanceMetadataExpireBehaviorPtrInput added in v0.22.0

type FreeInstanceMetadataExpireBehaviorPtrInput interface {
	pulumi.Input

	ToFreeInstanceMetadataExpireBehaviorPtrOutput() FreeInstanceMetadataExpireBehaviorPtrOutput
	ToFreeInstanceMetadataExpireBehaviorPtrOutputWithContext(context.Context) FreeInstanceMetadataExpireBehaviorPtrOutput
}

func FreeInstanceMetadataExpireBehaviorPtr added in v0.22.0

func FreeInstanceMetadataExpireBehaviorPtr(v string) FreeInstanceMetadataExpireBehaviorPtrInput

type FreeInstanceMetadataExpireBehaviorPtrOutput added in v0.22.0

type FreeInstanceMetadataExpireBehaviorPtrOutput struct{ *pulumi.OutputState }

func (FreeInstanceMetadataExpireBehaviorPtrOutput) Elem added in v0.22.0

func (FreeInstanceMetadataExpireBehaviorPtrOutput) ElementType added in v0.22.0

func (FreeInstanceMetadataExpireBehaviorPtrOutput) ToFreeInstanceMetadataExpireBehaviorPtrOutput added in v0.22.0

func (o FreeInstanceMetadataExpireBehaviorPtrOutput) ToFreeInstanceMetadataExpireBehaviorPtrOutput() FreeInstanceMetadataExpireBehaviorPtrOutput

func (FreeInstanceMetadataExpireBehaviorPtrOutput) ToFreeInstanceMetadataExpireBehaviorPtrOutputWithContext added in v0.22.0

func (o FreeInstanceMetadataExpireBehaviorPtrOutput) ToFreeInstanceMetadataExpireBehaviorPtrOutputWithContext(ctx context.Context) FreeInstanceMetadataExpireBehaviorPtrOutput

func (FreeInstanceMetadataExpireBehaviorPtrOutput) ToStringPtrOutput added in v0.22.0

func (FreeInstanceMetadataExpireBehaviorPtrOutput) ToStringPtrOutputWithContext added in v0.22.0

type FreeInstanceMetadataInput added in v0.22.0

type FreeInstanceMetadataInput interface {
	pulumi.Input

	ToFreeInstanceMetadataOutput() FreeInstanceMetadataOutput
	ToFreeInstanceMetadataOutputWithContext(context.Context) FreeInstanceMetadataOutput
}

FreeInstanceMetadataInput is an input type that accepts FreeInstanceMetadataArgs and FreeInstanceMetadataOutput values. You can construct a concrete instance of `FreeInstanceMetadataInput` via:

FreeInstanceMetadataArgs{...}

type FreeInstanceMetadataOutput added in v0.22.0

type FreeInstanceMetadataOutput struct{ *pulumi.OutputState }

Free instance specific metadata that is kept even after an instance has been upgraded for tracking purposes.

func (FreeInstanceMetadataOutput) ElementType added in v0.22.0

func (FreeInstanceMetadataOutput) ElementType() reflect.Type

func (FreeInstanceMetadataOutput) ExpireBehavior added in v0.22.0

Specifies the expiration behavior of a free instance. The default of ExpireBehavior is `REMOVE_AFTER_GRACE_PERIOD`. This can be modified during or after creation, and before expiration.

func (FreeInstanceMetadataOutput) ToFreeInstanceMetadataOutput added in v0.22.0

func (o FreeInstanceMetadataOutput) ToFreeInstanceMetadataOutput() FreeInstanceMetadataOutput

func (FreeInstanceMetadataOutput) ToFreeInstanceMetadataOutputWithContext added in v0.22.0

func (o FreeInstanceMetadataOutput) ToFreeInstanceMetadataOutputWithContext(ctx context.Context) FreeInstanceMetadataOutput

func (FreeInstanceMetadataOutput) ToFreeInstanceMetadataPtrOutput added in v0.22.0

func (o FreeInstanceMetadataOutput) ToFreeInstanceMetadataPtrOutput() FreeInstanceMetadataPtrOutput

func (FreeInstanceMetadataOutput) ToFreeInstanceMetadataPtrOutputWithContext added in v0.22.0

func (o FreeInstanceMetadataOutput) ToFreeInstanceMetadataPtrOutputWithContext(ctx context.Context) FreeInstanceMetadataPtrOutput

type FreeInstanceMetadataPtrInput added in v0.22.0

type FreeInstanceMetadataPtrInput interface {
	pulumi.Input

	ToFreeInstanceMetadataPtrOutput() FreeInstanceMetadataPtrOutput
	ToFreeInstanceMetadataPtrOutputWithContext(context.Context) FreeInstanceMetadataPtrOutput
}

FreeInstanceMetadataPtrInput is an input type that accepts FreeInstanceMetadataArgs, FreeInstanceMetadataPtr and FreeInstanceMetadataPtrOutput values. You can construct a concrete instance of `FreeInstanceMetadataPtrInput` via:

        FreeInstanceMetadataArgs{...}

or:

        nil

func FreeInstanceMetadataPtr added in v0.22.0

func FreeInstanceMetadataPtr(v *FreeInstanceMetadataArgs) FreeInstanceMetadataPtrInput

type FreeInstanceMetadataPtrOutput added in v0.22.0

type FreeInstanceMetadataPtrOutput struct{ *pulumi.OutputState }

func (FreeInstanceMetadataPtrOutput) Elem added in v0.22.0

func (FreeInstanceMetadataPtrOutput) ElementType added in v0.22.0

func (FreeInstanceMetadataPtrOutput) ExpireBehavior added in v0.22.0

Specifies the expiration behavior of a free instance. The default of ExpireBehavior is `REMOVE_AFTER_GRACE_PERIOD`. This can be modified during or after creation, and before expiration.

func (FreeInstanceMetadataPtrOutput) ToFreeInstanceMetadataPtrOutput added in v0.22.0

func (o FreeInstanceMetadataPtrOutput) ToFreeInstanceMetadataPtrOutput() FreeInstanceMetadataPtrOutput

func (FreeInstanceMetadataPtrOutput) ToFreeInstanceMetadataPtrOutputWithContext added in v0.22.0

func (o FreeInstanceMetadataPtrOutput) ToFreeInstanceMetadataPtrOutputWithContext(ctx context.Context) FreeInstanceMetadataPtrOutput

type FreeInstanceMetadataResponse added in v0.22.0

type FreeInstanceMetadataResponse struct {
	// Specifies the expiration behavior of a free instance. The default of ExpireBehavior is `REMOVE_AFTER_GRACE_PERIOD`. This can be modified during or after creation, and before expiration.
	ExpireBehavior string `pulumi:"expireBehavior"`
	// Timestamp after which the instance will either be upgraded or scheduled for deletion after a grace period. ExpireBehavior is used to choose between upgrading or scheduling the free instance for deletion. This timestamp is set during the creation of a free instance.
	ExpireTime string `pulumi:"expireTime"`
	// If present, the timestamp at which the free instance was upgraded to a provisioned instance.
	UpgradeTime string `pulumi:"upgradeTime"`
}

Free instance specific metadata that is kept even after an instance has been upgraded for tracking purposes.

type FreeInstanceMetadataResponseOutput added in v0.22.0

type FreeInstanceMetadataResponseOutput struct{ *pulumi.OutputState }

Free instance specific metadata that is kept even after an instance has been upgraded for tracking purposes.

func (FreeInstanceMetadataResponseOutput) ElementType added in v0.22.0

func (FreeInstanceMetadataResponseOutput) ExpireBehavior added in v0.22.0

Specifies the expiration behavior of a free instance. The default of ExpireBehavior is `REMOVE_AFTER_GRACE_PERIOD`. This can be modified during or after creation, and before expiration.

func (FreeInstanceMetadataResponseOutput) ExpireTime added in v0.22.0

Timestamp after which the instance will either be upgraded or scheduled for deletion after a grace period. ExpireBehavior is used to choose between upgrading or scheduling the free instance for deletion. This timestamp is set during the creation of a free instance.

func (FreeInstanceMetadataResponseOutput) ToFreeInstanceMetadataResponseOutput added in v0.22.0

func (o FreeInstanceMetadataResponseOutput) ToFreeInstanceMetadataResponseOutput() FreeInstanceMetadataResponseOutput

func (FreeInstanceMetadataResponseOutput) ToFreeInstanceMetadataResponseOutputWithContext added in v0.22.0

func (o FreeInstanceMetadataResponseOutput) ToFreeInstanceMetadataResponseOutputWithContext(ctx context.Context) FreeInstanceMetadataResponseOutput

func (FreeInstanceMetadataResponseOutput) UpgradeTime added in v0.22.0

If present, the timestamp at which the free instance was upgraded to a provisioned instance.

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// Optional. The autoscaling configuration. Autoscaling is enabled if this field is set. When autoscaling is enabled, node_count and processing_units are treated as OUTPUT_ONLY fields and reflect the current compute capacity allocated to the instance.
	AutoscalingConfig AutoscalingConfigResponseOutput `pulumi:"autoscalingConfig"`
	// The name of the instance's configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs.
	Config pulumi.StringOutput `pulumi:"config"`
	// The time at which the instance was created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// Deprecated. This field is not populated.
	//
	// Deprecated: Deprecated. This field is not populated.
	EndpointUris pulumi.StringArrayOutput `pulumi:"endpointUris"`
	// Free instance metadata. Only populated for free instances.
	FreeInstanceMetadata FreeInstanceMetadataResponseOutput `pulumi:"freeInstanceMetadata"`
	// The `InstanceType` of the current instance.
	InstanceType pulumi.StringOutput `pulumi:"instanceType"`
	// Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.
	Name pulumi.StringOutput `pulumi:"name"`
	// The number of nodes allocated to this instance. At most one of either node_count or processing_units should be present in the message. Users can set the node_count field to specify the target number of nodes allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.
	NodeCount pulumi.IntOutput `pulumi:"nodeCount"`
	// The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. Users can set the processing_units field to specify the target number of processing units allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.
	ProcessingUnits pulumi.IntOutput    `pulumi:"processingUnits"`
	Project         pulumi.StringOutput `pulumi:"project"`
	// The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.
	State pulumi.StringOutput `pulumi:"state"`
	// The time at which the instance was most recently updated.
	UpdateTime pulumi.StringOutput `pulumi:"updateTime"`
}

Creates an instance and begins preparing it to begin serving. The returned long-running operation can be used to track the progress of preparing the new instance. The instance name is assigned by the caller. If the named instance already exists, `CreateInstance` returns `ALREADY_EXISTS`. Immediately upon completion of this request: * The instance is readable via the API, with all requested attributes but no allocated resources. Its state is `CREATING`. Until completion of the returned operation: * Cancelling the operation renders the instance immediately unreadable via the API. * The instance can be deleted. * All other attempts to modify the instance are rejected. Upon completion of the returned operation: * Billing for all successfully-allocated resources begins (some types may have lower than the requested levels). * Databases can be created in the instance. * The instance's allocated resource levels are readable via the API. * The instance's state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance. The metadata field type is CreateInstanceMetadata. The response field type is Instance, if successful.

func GetInstance

func GetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceState, opts ...pulumi.ResourceOption) (*Instance, error)

GetInstance gets an existing Instance 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 NewInstance

func NewInstance(ctx *pulumi.Context,
	name string, args *InstanceArgs, opts ...pulumi.ResourceOption) (*Instance, error)

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

func (*Instance) ElementType

func (*Instance) ElementType() reflect.Type

func (*Instance) ToInstanceOutput

func (i *Instance) ToInstanceOutput() InstanceOutput

func (*Instance) ToInstanceOutputWithContext

func (i *Instance) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

type InstanceArgs

type InstanceArgs struct {
	// Optional. The autoscaling configuration. Autoscaling is enabled if this field is set. When autoscaling is enabled, node_count and processing_units are treated as OUTPUT_ONLY fields and reflect the current compute capacity allocated to the instance.
	AutoscalingConfig AutoscalingConfigPtrInput
	// The name of the instance's configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs.
	Config pulumi.StringInput
	// The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.
	DisplayName pulumi.StringInput
	// Deprecated. This field is not populated.
	//
	// Deprecated: Deprecated. This field is not populated.
	EndpointUris pulumi.StringArrayInput
	// Free instance metadata. Only populated for free instances.
	FreeInstanceMetadata FreeInstanceMetadataPtrInput
	// The ID of the instance to create. Valid identifiers are of the form `a-z*[a-z0-9]` and must be between 2 and 64 characters in length.
	InstanceId pulumi.StringInput
	// The `InstanceType` of the current instance.
	InstanceType InstanceInstanceTypePtrInput
	// Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release.
	Labels pulumi.StringMapInput
	// A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.
	Name pulumi.StringPtrInput
	// The number of nodes allocated to this instance. At most one of either node_count or processing_units should be present in the message. Users can set the node_count field to specify the target number of nodes allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.
	NodeCount pulumi.IntPtrInput
	// The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. Users can set the processing_units field to specify the target number of processing units allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.
	ProcessingUnits pulumi.IntPtrInput
	Project         pulumi.StringPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceBackupIamBinding added in v0.26.0

type InstanceBackupIamBinding struct {
	pulumi.CustomResourceState

	// An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.
	Condition iam.ConditionPtrOutput `pulumi:"condition"`
	// The etag of the resource's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it is not provided, a default will be supplied.
	Project pulumi.StringOutput `pulumi:"project"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.

func GetInstanceBackupIamBinding added in v0.26.0

func GetInstanceBackupIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceBackupIamBindingState, opts ...pulumi.ResourceOption) (*InstanceBackupIamBinding, error)

GetInstanceBackupIamBinding gets an existing InstanceBackupIamBinding 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 NewInstanceBackupIamBinding added in v0.26.0

func NewInstanceBackupIamBinding(ctx *pulumi.Context,
	name string, args *InstanceBackupIamBindingArgs, opts ...pulumi.ResourceOption) (*InstanceBackupIamBinding, error)

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

func (*InstanceBackupIamBinding) ElementType added in v0.26.0

func (*InstanceBackupIamBinding) ElementType() reflect.Type

func (*InstanceBackupIamBinding) ToInstanceBackupIamBindingOutput added in v0.26.0

func (i *InstanceBackupIamBinding) ToInstanceBackupIamBindingOutput() InstanceBackupIamBindingOutput

func (*InstanceBackupIamBinding) ToInstanceBackupIamBindingOutputWithContext added in v0.26.0

func (i *InstanceBackupIamBinding) ToInstanceBackupIamBindingOutputWithContext(ctx context.Context) InstanceBackupIamBindingOutput

type InstanceBackupIamBindingArgs added in v0.26.0

type InstanceBackupIamBindingArgs struct {
	// An IAM Condition for a given binding.
	Condition iam.ConditionPtrInput
	// Identities that will be granted the privilege in role. Each entry can have one of the following values:
	//
	//  * user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	//  * serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	//  * group:{emailid}: An email address that represents a Google group. For example, admins@example.com.
	//  * domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringInput
	// The role that should be applied. Only one `IamBinding` can be used per role.
	Role pulumi.StringInput
}

The set of arguments for constructing a InstanceBackupIamBinding resource.

func (InstanceBackupIamBindingArgs) ElementType added in v0.26.0

type InstanceBackupIamBindingInput added in v0.26.0

type InstanceBackupIamBindingInput interface {
	pulumi.Input

	ToInstanceBackupIamBindingOutput() InstanceBackupIamBindingOutput
	ToInstanceBackupIamBindingOutputWithContext(ctx context.Context) InstanceBackupIamBindingOutput
}

type InstanceBackupIamBindingOutput added in v0.26.0

type InstanceBackupIamBindingOutput struct{ *pulumi.OutputState }

func (InstanceBackupIamBindingOutput) Condition added in v0.26.0

An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.

func (InstanceBackupIamBindingOutput) ElementType added in v0.26.0

func (InstanceBackupIamBindingOutput) Etag added in v0.26.0

The etag of the resource's IAM policy.

func (InstanceBackupIamBindingOutput) Members added in v0.26.0

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (InstanceBackupIamBindingOutput) Name added in v0.26.0

The name of the resource to manage IAM policies for.

func (InstanceBackupIamBindingOutput) Project added in v0.26.0

The project in which the resource belongs. If it is not provided, a default will be supplied.

func (InstanceBackupIamBindingOutput) Role added in v0.26.0

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (InstanceBackupIamBindingOutput) ToInstanceBackupIamBindingOutput added in v0.26.0

func (o InstanceBackupIamBindingOutput) ToInstanceBackupIamBindingOutput() InstanceBackupIamBindingOutput

func (InstanceBackupIamBindingOutput) ToInstanceBackupIamBindingOutputWithContext added in v0.26.0

func (o InstanceBackupIamBindingOutput) ToInstanceBackupIamBindingOutputWithContext(ctx context.Context) InstanceBackupIamBindingOutput

type InstanceBackupIamBindingState added in v0.26.0

type InstanceBackupIamBindingState struct {
}

func (InstanceBackupIamBindingState) ElementType added in v0.26.0

type InstanceBackupIamMember added in v0.26.0

type InstanceBackupIamMember struct {
	pulumi.CustomResourceState

	// An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.
	Condition iam.ConditionPtrOutput `pulumi:"condition"`
	// The etag of the resource's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Member pulumi.StringOutput `pulumi:"member"`
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it is not provided, a default will be supplied.
	Project pulumi.StringOutput `pulumi:"project"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.

func GetInstanceBackupIamMember added in v0.26.0

func GetInstanceBackupIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceBackupIamMemberState, opts ...pulumi.ResourceOption) (*InstanceBackupIamMember, error)

GetInstanceBackupIamMember gets an existing InstanceBackupIamMember 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 NewInstanceBackupIamMember added in v0.26.0

func NewInstanceBackupIamMember(ctx *pulumi.Context,
	name string, args *InstanceBackupIamMemberArgs, opts ...pulumi.ResourceOption) (*InstanceBackupIamMember, error)

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

func (*InstanceBackupIamMember) ElementType added in v0.26.0

func (*InstanceBackupIamMember) ElementType() reflect.Type

func (*InstanceBackupIamMember) ToInstanceBackupIamMemberOutput added in v0.26.0

func (i *InstanceBackupIamMember) ToInstanceBackupIamMemberOutput() InstanceBackupIamMemberOutput

func (*InstanceBackupIamMember) ToInstanceBackupIamMemberOutputWithContext added in v0.26.0

func (i *InstanceBackupIamMember) ToInstanceBackupIamMemberOutputWithContext(ctx context.Context) InstanceBackupIamMemberOutput

type InstanceBackupIamMemberArgs added in v0.26.0

type InstanceBackupIamMemberArgs struct {
	// An IAM Condition for a given binding.
	Condition iam.ConditionPtrInput
	// Identity that will be granted the privilege in role. The entry can have one of the following values:
	//
	//  * user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	//  * serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	//  * group:{emailid}: An email address that represents a Google group. For example, admins@example.com.
	//  * domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringInput
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringInput
	// The role that should be applied.
	Role pulumi.StringInput
}

The set of arguments for constructing a InstanceBackupIamMember resource.

func (InstanceBackupIamMemberArgs) ElementType added in v0.26.0

type InstanceBackupIamMemberInput added in v0.26.0

type InstanceBackupIamMemberInput interface {
	pulumi.Input

	ToInstanceBackupIamMemberOutput() InstanceBackupIamMemberOutput
	ToInstanceBackupIamMemberOutputWithContext(ctx context.Context) InstanceBackupIamMemberOutput
}

type InstanceBackupIamMemberOutput added in v0.26.0

type InstanceBackupIamMemberOutput struct{ *pulumi.OutputState }

func (InstanceBackupIamMemberOutput) Condition added in v0.26.0

An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.

func (InstanceBackupIamMemberOutput) ElementType added in v0.26.0

func (InstanceBackupIamMemberOutput) Etag added in v0.26.0

The etag of the resource's IAM policy.

func (InstanceBackupIamMemberOutput) Member added in v0.26.0

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (InstanceBackupIamMemberOutput) Name added in v0.26.0

The name of the resource to manage IAM policies for.

func (InstanceBackupIamMemberOutput) Project added in v0.26.0

The project in which the resource belongs. If it is not provided, a default will be supplied.

func (InstanceBackupIamMemberOutput) Role added in v0.26.0

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (InstanceBackupIamMemberOutput) ToInstanceBackupIamMemberOutput added in v0.26.0

func (o InstanceBackupIamMemberOutput) ToInstanceBackupIamMemberOutput() InstanceBackupIamMemberOutput

func (InstanceBackupIamMemberOutput) ToInstanceBackupIamMemberOutputWithContext added in v0.26.0

func (o InstanceBackupIamMemberOutput) ToInstanceBackupIamMemberOutputWithContext(ctx context.Context) InstanceBackupIamMemberOutput

type InstanceBackupIamMemberState added in v0.26.0

type InstanceBackupIamMemberState struct {
}

func (InstanceBackupIamMemberState) ElementType added in v0.26.0

type InstanceBackupIamPolicy

type InstanceBackupIamPolicy struct {
	pulumi.CustomResourceState

	BackupId pulumi.StringOutput `pulumi:"backupId"`
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings BindingResponseArrayOutput `pulumi:"bindings"`
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag       pulumi.StringOutput `pulumi:"etag"`
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	Project    pulumi.StringOutput `pulumi:"project"`
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version pulumi.IntOutput `pulumi:"version"`
}

Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. Note - this resource's API doesn't support deletion. When deleted, the resource will persist on Google Cloud even though it will be deleted from Pulumi state.

func GetInstanceBackupIamPolicy

func GetInstanceBackupIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceBackupIamPolicyState, opts ...pulumi.ResourceOption) (*InstanceBackupIamPolicy, error)

GetInstanceBackupIamPolicy gets an existing InstanceBackupIamPolicy 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 NewInstanceBackupIamPolicy

func NewInstanceBackupIamPolicy(ctx *pulumi.Context,
	name string, args *InstanceBackupIamPolicyArgs, opts ...pulumi.ResourceOption) (*InstanceBackupIamPolicy, error)

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

func (*InstanceBackupIamPolicy) ElementType

func (*InstanceBackupIamPolicy) ElementType() reflect.Type

func (*InstanceBackupIamPolicy) ToInstanceBackupIamPolicyOutput

func (i *InstanceBackupIamPolicy) ToInstanceBackupIamPolicyOutput() InstanceBackupIamPolicyOutput

func (*InstanceBackupIamPolicy) ToInstanceBackupIamPolicyOutputWithContext

func (i *InstanceBackupIamPolicy) ToInstanceBackupIamPolicyOutputWithContext(ctx context.Context) InstanceBackupIamPolicyOutput

type InstanceBackupIamPolicyArgs

type InstanceBackupIamPolicyArgs struct {
	BackupId pulumi.StringInput
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings BindingArrayInput
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag       pulumi.StringPtrInput
	InstanceId pulumi.StringInput
	Project    pulumi.StringPtrInput
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version pulumi.IntPtrInput
}

The set of arguments for constructing a InstanceBackupIamPolicy resource.

func (InstanceBackupIamPolicyArgs) ElementType

type InstanceBackupIamPolicyInput

type InstanceBackupIamPolicyInput interface {
	pulumi.Input

	ToInstanceBackupIamPolicyOutput() InstanceBackupIamPolicyOutput
	ToInstanceBackupIamPolicyOutputWithContext(ctx context.Context) InstanceBackupIamPolicyOutput
}

type InstanceBackupIamPolicyOutput

type InstanceBackupIamPolicyOutput struct{ *pulumi.OutputState }

func (InstanceBackupIamPolicyOutput) BackupId added in v0.21.0

func (InstanceBackupIamPolicyOutput) Bindings added in v0.19.0

Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.

func (InstanceBackupIamPolicyOutput) ElementType

func (InstanceBackupIamPolicyOutput) Etag added in v0.19.0

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.

func (InstanceBackupIamPolicyOutput) InstanceId added in v0.21.0

func (InstanceBackupIamPolicyOutput) Project added in v0.21.0

func (InstanceBackupIamPolicyOutput) ToInstanceBackupIamPolicyOutput

func (o InstanceBackupIamPolicyOutput) ToInstanceBackupIamPolicyOutput() InstanceBackupIamPolicyOutput

func (InstanceBackupIamPolicyOutput) ToInstanceBackupIamPolicyOutputWithContext

func (o InstanceBackupIamPolicyOutput) ToInstanceBackupIamPolicyOutputWithContext(ctx context.Context) InstanceBackupIamPolicyOutput

func (InstanceBackupIamPolicyOutput) Version added in v0.19.0

Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

type InstanceBackupIamPolicyState

type InstanceBackupIamPolicyState struct {
}

func (InstanceBackupIamPolicyState) ElementType

type InstanceConfig added in v0.26.0

type InstanceConfig struct {
	pulumi.CustomResourceState

	// Base configuration name, e.g. projects//instanceConfigs/nam3, based on which this configuration is created. Only set for user managed configurations. `base_config` must refer to a configuration of type GOOGLE_MANAGED in the same project as this configuration.
	BaseConfig pulumi.StringOutput `pulumi:"baseConfig"`
	// Whether this instance config is a Google or User Managed Configuration.
	ConfigType pulumi.StringOutput `pulumi:"configType"`
	// The name of this instance configuration as it appears in UIs.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Describes whether free instances are available to be created in this instance config.
	FreeInstanceAvailability pulumi.StringOutput `pulumi:"freeInstanceAvailability"`
	// Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// Allowed values of the "default_leader" schema option for databases in instances that use this instance configuration.
	LeaderOptions pulumi.StringArrayOutput `pulumi:"leaderOptions"`
	// A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`.
	Name pulumi.StringOutput `pulumi:"name"`
	// The available optional replicas to choose from for user managed configurations. Populated for Google managed configurations.
	OptionalReplicas ReplicaInfoResponseArrayOutput `pulumi:"optionalReplicas"`
	Project          pulumi.StringOutput            `pulumi:"project"`
	// If true, the instance config is being created or updated. If false, there are no ongoing operations for the instance config.
	Reconciling pulumi.BoolOutput `pulumi:"reconciling"`
	// The geographic placement of nodes in this instance configuration and their replication properties.
	Replicas ReplicaInfoResponseArrayOutput `pulumi:"replicas"`
	// The current instance config state. Applicable only for USER_MANAGED configs.
	State pulumi.StringOutput `pulumi:"state"`
}

Creates an instance config and begins preparing it to be used. The returned long-running operation can be used to track the progress of preparing the new instance config. The instance config name is assigned by the caller. If the named instance config already exists, `CreateInstanceConfig` returns `ALREADY_EXISTS`. Immediately after the request returns: * The instance config is readable via the API, with all requested attributes. The instance config's reconciling field is set to true. Its state is `CREATING`. While the operation is pending: * Cancelling the operation renders the instance config immediately unreadable via the API. * Except for deleting the creating resource, all other attempts to modify the instance config are rejected. Upon completion of the returned operation: * Instances can be created using the instance configuration. * The instance config's reconciling field becomes false. Its state becomes `READY`. The returned long-running operation will have a name of the format `/operations/` and can be used to track creation of the instance config. The metadata field type is CreateInstanceConfigMetadata. The response field type is InstanceConfig, if successful. Authorization requires `spanner.instanceConfigs.create` permission on the resource parent.

func GetInstanceConfig added in v0.26.0

func GetInstanceConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceConfigState, opts ...pulumi.ResourceOption) (*InstanceConfig, error)

GetInstanceConfig gets an existing InstanceConfig 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 NewInstanceConfig added in v0.26.0

func NewInstanceConfig(ctx *pulumi.Context,
	name string, args *InstanceConfigArgs, opts ...pulumi.ResourceOption) (*InstanceConfig, error)

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

func (*InstanceConfig) ElementType added in v0.26.0

func (*InstanceConfig) ElementType() reflect.Type

func (*InstanceConfig) ToInstanceConfigOutput added in v0.26.0

func (i *InstanceConfig) ToInstanceConfigOutput() InstanceConfigOutput

func (*InstanceConfig) ToInstanceConfigOutputWithContext added in v0.26.0

func (i *InstanceConfig) ToInstanceConfigOutputWithContext(ctx context.Context) InstanceConfigOutput

type InstanceConfigArgs added in v0.26.0

type InstanceConfigArgs struct {
	// Base configuration name, e.g. projects//instanceConfigs/nam3, based on which this configuration is created. Only set for user managed configurations. `base_config` must refer to a configuration of type GOOGLE_MANAGED in the same project as this configuration.
	BaseConfig pulumi.StringPtrInput
	// The name of this instance configuration as it appears in UIs.
	DisplayName pulumi.StringPtrInput
	// etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly.
	Etag pulumi.StringPtrInput
	// The ID of the instance config to create. Valid identifiers are of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64 characters in length. The `custom-` prefix is required to avoid name conflicts with Google managed configurations.
	InstanceConfigId pulumi.StringInput
	// Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release.
	Labels pulumi.StringMapInput
	// Allowed values of the "default_leader" schema option for databases in instances that use this instance configuration.
	LeaderOptions pulumi.StringArrayInput
	// A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`.
	Name    pulumi.StringPtrInput
	Project pulumi.StringPtrInput
	// The geographic placement of nodes in this instance configuration and their replication properties.
	Replicas ReplicaInfoArrayInput
	// An option to validate, but not actually execute, a request, and provide the same response.
	ValidateOnly pulumi.BoolPtrInput
}

The set of arguments for constructing a InstanceConfig resource.

func (InstanceConfigArgs) ElementType added in v0.26.0

func (InstanceConfigArgs) ElementType() reflect.Type

type InstanceConfigInput added in v0.26.0

type InstanceConfigInput interface {
	pulumi.Input

	ToInstanceConfigOutput() InstanceConfigOutput
	ToInstanceConfigOutputWithContext(ctx context.Context) InstanceConfigOutput
}

type InstanceConfigOutput added in v0.26.0

type InstanceConfigOutput struct{ *pulumi.OutputState }

func (InstanceConfigOutput) BaseConfig added in v0.26.0

func (o InstanceConfigOutput) BaseConfig() pulumi.StringOutput

Base configuration name, e.g. projects//instanceConfigs/nam3, based on which this configuration is created. Only set for user managed configurations. `base_config` must refer to a configuration of type GOOGLE_MANAGED in the same project as this configuration.

func (InstanceConfigOutput) ConfigType added in v0.26.0

func (o InstanceConfigOutput) ConfigType() pulumi.StringOutput

Whether this instance config is a Google or User Managed Configuration.

func (InstanceConfigOutput) DisplayName added in v0.26.0

func (o InstanceConfigOutput) DisplayName() pulumi.StringOutput

The name of this instance configuration as it appears in UIs.

func (InstanceConfigOutput) ElementType added in v0.26.0

func (InstanceConfigOutput) ElementType() reflect.Type

func (InstanceConfigOutput) Etag added in v0.26.0

etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly.

func (InstanceConfigOutput) FreeInstanceAvailability added in v0.26.0

func (o InstanceConfigOutput) FreeInstanceAvailability() pulumi.StringOutput

Describes whether free instances are available to be created in this instance config.

func (InstanceConfigOutput) Labels added in v0.26.0

Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release.

func (InstanceConfigOutput) LeaderOptions added in v0.26.0

func (o InstanceConfigOutput) LeaderOptions() pulumi.StringArrayOutput

Allowed values of the "default_leader" schema option for databases in instances that use this instance configuration.

func (InstanceConfigOutput) Name added in v0.26.0

A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`.

func (InstanceConfigOutput) OptionalReplicas added in v0.26.0

The available optional replicas to choose from for user managed configurations. Populated for Google managed configurations.

func (InstanceConfigOutput) Project added in v0.26.0

func (InstanceConfigOutput) Reconciling added in v0.26.0

func (o InstanceConfigOutput) Reconciling() pulumi.BoolOutput

If true, the instance config is being created or updated. If false, there are no ongoing operations for the instance config.

func (InstanceConfigOutput) Replicas added in v0.26.0

The geographic placement of nodes in this instance configuration and their replication properties.

func (InstanceConfigOutput) State added in v0.26.0

The current instance config state. Applicable only for USER_MANAGED configs.

func (InstanceConfigOutput) ToInstanceConfigOutput added in v0.26.0

func (o InstanceConfigOutput) ToInstanceConfigOutput() InstanceConfigOutput

func (InstanceConfigOutput) ToInstanceConfigOutputWithContext added in v0.26.0

func (o InstanceConfigOutput) ToInstanceConfigOutputWithContext(ctx context.Context) InstanceConfigOutput

type InstanceConfigState added in v0.26.0

type InstanceConfigState struct {
}

func (InstanceConfigState) ElementType added in v0.26.0

func (InstanceConfigState) ElementType() reflect.Type

type InstanceDatabaseIamBinding added in v0.26.0

type InstanceDatabaseIamBinding struct {
	pulumi.CustomResourceState

	// An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.
	Condition iam.ConditionPtrOutput `pulumi:"condition"`
	// The etag of the resource's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it is not provided, a default will be supplied.
	Project pulumi.StringOutput `pulumi:"project"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.

func GetInstanceDatabaseIamBinding added in v0.26.0

func GetInstanceDatabaseIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceDatabaseIamBindingState, opts ...pulumi.ResourceOption) (*InstanceDatabaseIamBinding, error)

GetInstanceDatabaseIamBinding gets an existing InstanceDatabaseIamBinding 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 NewInstanceDatabaseIamBinding added in v0.26.0

func NewInstanceDatabaseIamBinding(ctx *pulumi.Context,
	name string, args *InstanceDatabaseIamBindingArgs, opts ...pulumi.ResourceOption) (*InstanceDatabaseIamBinding, error)

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

func (*InstanceDatabaseIamBinding) ElementType added in v0.26.0

func (*InstanceDatabaseIamBinding) ElementType() reflect.Type

func (*InstanceDatabaseIamBinding) ToInstanceDatabaseIamBindingOutput added in v0.26.0

func (i *InstanceDatabaseIamBinding) ToInstanceDatabaseIamBindingOutput() InstanceDatabaseIamBindingOutput

func (*InstanceDatabaseIamBinding) ToInstanceDatabaseIamBindingOutputWithContext added in v0.26.0

func (i *InstanceDatabaseIamBinding) ToInstanceDatabaseIamBindingOutputWithContext(ctx context.Context) InstanceDatabaseIamBindingOutput

type InstanceDatabaseIamBindingArgs added in v0.26.0

type InstanceDatabaseIamBindingArgs struct {
	// An IAM Condition for a given binding.
	Condition iam.ConditionPtrInput
	// Identities that will be granted the privilege in role. Each entry can have one of the following values:
	//
	//  * user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	//  * serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	//  * group:{emailid}: An email address that represents a Google group. For example, admins@example.com.
	//  * domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringInput
	// The role that should be applied. Only one `IamBinding` can be used per role.
	Role pulumi.StringInput
}

The set of arguments for constructing a InstanceDatabaseIamBinding resource.

func (InstanceDatabaseIamBindingArgs) ElementType added in v0.26.0

type InstanceDatabaseIamBindingInput added in v0.26.0

type InstanceDatabaseIamBindingInput interface {
	pulumi.Input

	ToInstanceDatabaseIamBindingOutput() InstanceDatabaseIamBindingOutput
	ToInstanceDatabaseIamBindingOutputWithContext(ctx context.Context) InstanceDatabaseIamBindingOutput
}

type InstanceDatabaseIamBindingOutput added in v0.26.0

type InstanceDatabaseIamBindingOutput struct{ *pulumi.OutputState }

func (InstanceDatabaseIamBindingOutput) Condition added in v0.26.0

An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.

func (InstanceDatabaseIamBindingOutput) ElementType added in v0.26.0

func (InstanceDatabaseIamBindingOutput) Etag added in v0.26.0

The etag of the resource's IAM policy.

func (InstanceDatabaseIamBindingOutput) Members added in v0.26.0

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (InstanceDatabaseIamBindingOutput) Name added in v0.26.0

The name of the resource to manage IAM policies for.

func (InstanceDatabaseIamBindingOutput) Project added in v0.26.0

The project in which the resource belongs. If it is not provided, a default will be supplied.

func (InstanceDatabaseIamBindingOutput) Role added in v0.26.0

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (InstanceDatabaseIamBindingOutput) ToInstanceDatabaseIamBindingOutput added in v0.26.0

func (o InstanceDatabaseIamBindingOutput) ToInstanceDatabaseIamBindingOutput() InstanceDatabaseIamBindingOutput

func (InstanceDatabaseIamBindingOutput) ToInstanceDatabaseIamBindingOutputWithContext added in v0.26.0

func (o InstanceDatabaseIamBindingOutput) ToInstanceDatabaseIamBindingOutputWithContext(ctx context.Context) InstanceDatabaseIamBindingOutput

type InstanceDatabaseIamBindingState added in v0.26.0

type InstanceDatabaseIamBindingState struct {
}

func (InstanceDatabaseIamBindingState) ElementType added in v0.26.0

type InstanceDatabaseIamMember added in v0.26.0

type InstanceDatabaseIamMember struct {
	pulumi.CustomResourceState

	// An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.
	Condition iam.ConditionPtrOutput `pulumi:"condition"`
	// The etag of the resource's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Member pulumi.StringOutput `pulumi:"member"`
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it is not provided, a default will be supplied.
	Project pulumi.StringOutput `pulumi:"project"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource.

func GetInstanceDatabaseIamMember added in v0.26.0

func GetInstanceDatabaseIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceDatabaseIamMemberState, opts ...pulumi.ResourceOption) (*InstanceDatabaseIamMember, error)

GetInstanceDatabaseIamMember gets an existing InstanceDatabaseIamMember 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 NewInstanceDatabaseIamMember added in v0.26.0

func NewInstanceDatabaseIamMember(ctx *pulumi.Context,
	name string, args *InstanceDatabaseIamMemberArgs, opts ...pulumi.ResourceOption) (*InstanceDatabaseIamMember, error)

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

func (*InstanceDatabaseIamMember) ElementType added in v0.26.0

func (*InstanceDatabaseIamMember) ElementType() reflect.Type

func (*InstanceDatabaseIamMember) ToInstanceDatabaseIamMemberOutput added in v0.26.0

func (i *InstanceDatabaseIamMember) ToInstanceDatabaseIamMemberOutput() InstanceDatabaseIamMemberOutput

func (*InstanceDatabaseIamMember) ToInstanceDatabaseIamMemberOutputWithContext added in v0.26.0

func (i *InstanceDatabaseIamMember) ToInstanceDatabaseIamMemberOutputWithContext(ctx context.Context) InstanceDatabaseIamMemberOutput

type InstanceDatabaseIamMemberArgs added in v0.26.0

type InstanceDatabaseIamMemberArgs struct {
	// An IAM Condition for a given binding.
	Condition iam.ConditionPtrInput
	// Identity that will be granted the privilege in role. The entry can have one of the following values:
	//
	//  * user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	//  * serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	//  * group:{emailid}: An email address that represents a Google group. For example, admins@example.com.
	//  * domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringInput
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringInput
	// The role that should be applied.
	Role pulumi.StringInput
}

The set of arguments for constructing a InstanceDatabaseIamMember resource.

func (InstanceDatabaseIamMemberArgs) ElementType added in v0.26.0

type InstanceDatabaseIamMemberInput added in v0.26.0

type InstanceDatabaseIamMemberInput interface {
	pulumi.Input

	ToInstanceDatabaseIamMemberOutput() InstanceDatabaseIamMemberOutput
	ToInstanceDatabaseIamMemberOutputWithContext(ctx context.Context) InstanceDatabaseIamMemberOutput
}

type InstanceDatabaseIamMemberOutput added in v0.26.0

type InstanceDatabaseIamMemberOutput struct{ *pulumi.OutputState }

func (InstanceDatabaseIamMemberOutput) Condition added in v0.26.0

An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.

func (InstanceDatabaseIamMemberOutput) ElementType added in v0.26.0

func (InstanceDatabaseIamMemberOutput) Etag added in v0.26.0

The etag of the resource's IAM policy.

func (InstanceDatabaseIamMemberOutput) Member added in v0.26.0

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (InstanceDatabaseIamMemberOutput) Name added in v0.26.0

The name of the resource to manage IAM policies for.

func (InstanceDatabaseIamMemberOutput) Project added in v0.26.0

The project in which the resource belongs. If it is not provided, a default will be supplied.

func (InstanceDatabaseIamMemberOutput) Role added in v0.26.0

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (InstanceDatabaseIamMemberOutput) ToInstanceDatabaseIamMemberOutput added in v0.26.0

func (o InstanceDatabaseIamMemberOutput) ToInstanceDatabaseIamMemberOutput() InstanceDatabaseIamMemberOutput

func (InstanceDatabaseIamMemberOutput) ToInstanceDatabaseIamMemberOutputWithContext added in v0.26.0

func (o InstanceDatabaseIamMemberOutput) ToInstanceDatabaseIamMemberOutputWithContext(ctx context.Context) InstanceDatabaseIamMemberOutput

type InstanceDatabaseIamMemberState added in v0.26.0

type InstanceDatabaseIamMemberState struct {
}

func (InstanceDatabaseIamMemberState) ElementType added in v0.26.0

type InstanceDatabaseIamPolicy

type InstanceDatabaseIamPolicy struct {
	pulumi.CustomResourceState

	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings   BindingResponseArrayOutput `pulumi:"bindings"`
	DatabaseId pulumi.StringOutput        `pulumi:"databaseId"`
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag       pulumi.StringOutput `pulumi:"etag"`
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	Project    pulumi.StringOutput `pulumi:"project"`
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version pulumi.IntOutput `pulumi:"version"`
}

Sets the access control policy on a database or backup resource. Replaces any existing policy. Authorization requires `spanner.databases.setIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.setIamPolicy` permission on resource. Note - this resource's API doesn't support deletion. When deleted, the resource will persist on Google Cloud even though it will be deleted from Pulumi state.

func GetInstanceDatabaseIamPolicy

func GetInstanceDatabaseIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceDatabaseIamPolicyState, opts ...pulumi.ResourceOption) (*InstanceDatabaseIamPolicy, error)

GetInstanceDatabaseIamPolicy gets an existing InstanceDatabaseIamPolicy 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 NewInstanceDatabaseIamPolicy

func NewInstanceDatabaseIamPolicy(ctx *pulumi.Context,
	name string, args *InstanceDatabaseIamPolicyArgs, opts ...pulumi.ResourceOption) (*InstanceDatabaseIamPolicy, error)

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

func (*InstanceDatabaseIamPolicy) ElementType

func (*InstanceDatabaseIamPolicy) ElementType() reflect.Type

func (*InstanceDatabaseIamPolicy) ToInstanceDatabaseIamPolicyOutput

func (i *InstanceDatabaseIamPolicy) ToInstanceDatabaseIamPolicyOutput() InstanceDatabaseIamPolicyOutput

func (*InstanceDatabaseIamPolicy) ToInstanceDatabaseIamPolicyOutputWithContext

func (i *InstanceDatabaseIamPolicy) ToInstanceDatabaseIamPolicyOutputWithContext(ctx context.Context) InstanceDatabaseIamPolicyOutput

type InstanceDatabaseIamPolicyArgs

type InstanceDatabaseIamPolicyArgs struct {
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings   BindingArrayInput
	DatabaseId pulumi.StringInput
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag       pulumi.StringPtrInput
	InstanceId pulumi.StringInput
	Project    pulumi.StringPtrInput
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version pulumi.IntPtrInput
}

The set of arguments for constructing a InstanceDatabaseIamPolicy resource.

func (InstanceDatabaseIamPolicyArgs) ElementType

type InstanceDatabaseIamPolicyInput

type InstanceDatabaseIamPolicyInput interface {
	pulumi.Input

	ToInstanceDatabaseIamPolicyOutput() InstanceDatabaseIamPolicyOutput
	ToInstanceDatabaseIamPolicyOutputWithContext(ctx context.Context) InstanceDatabaseIamPolicyOutput
}

type InstanceDatabaseIamPolicyOutput

type InstanceDatabaseIamPolicyOutput struct{ *pulumi.OutputState }

func (InstanceDatabaseIamPolicyOutput) Bindings added in v0.19.0

Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.

func (InstanceDatabaseIamPolicyOutput) DatabaseId added in v0.21.0

func (InstanceDatabaseIamPolicyOutput) ElementType

func (InstanceDatabaseIamPolicyOutput) Etag added in v0.19.0

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.

func (InstanceDatabaseIamPolicyOutput) InstanceId added in v0.21.0

func (InstanceDatabaseIamPolicyOutput) Project added in v0.21.0

func (InstanceDatabaseIamPolicyOutput) ToInstanceDatabaseIamPolicyOutput

func (o InstanceDatabaseIamPolicyOutput) ToInstanceDatabaseIamPolicyOutput() InstanceDatabaseIamPolicyOutput

func (InstanceDatabaseIamPolicyOutput) ToInstanceDatabaseIamPolicyOutputWithContext

func (o InstanceDatabaseIamPolicyOutput) ToInstanceDatabaseIamPolicyOutputWithContext(ctx context.Context) InstanceDatabaseIamPolicyOutput

func (InstanceDatabaseIamPolicyOutput) Version added in v0.19.0

Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

type InstanceDatabaseIamPolicyState

type InstanceDatabaseIamPolicyState struct {
}

func (InstanceDatabaseIamPolicyState) ElementType

type InstanceIamBinding added in v0.26.0

type InstanceIamBinding struct {
	pulumi.CustomResourceState

	// An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.
	Condition iam.ConditionPtrOutput `pulumi:"condition"`
	// The etag of the resource's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it is not provided, a default will be supplied.
	Project pulumi.StringOutput `pulumi:"project"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Sets the access control policy on an instance resource. Replaces any existing policy. Authorization requires `spanner.instances.setIamPolicy` on resource.

func GetInstanceIamBinding added in v0.26.0

func GetInstanceIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceIamBindingState, opts ...pulumi.ResourceOption) (*InstanceIamBinding, error)

GetInstanceIamBinding gets an existing InstanceIamBinding 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 NewInstanceIamBinding added in v0.26.0

func NewInstanceIamBinding(ctx *pulumi.Context,
	name string, args *InstanceIamBindingArgs, opts ...pulumi.ResourceOption) (*InstanceIamBinding, error)

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

func (*InstanceIamBinding) ElementType added in v0.26.0

func (*InstanceIamBinding) ElementType() reflect.Type

func (*InstanceIamBinding) ToInstanceIamBindingOutput added in v0.26.0

func (i *InstanceIamBinding) ToInstanceIamBindingOutput() InstanceIamBindingOutput

func (*InstanceIamBinding) ToInstanceIamBindingOutputWithContext added in v0.26.0

func (i *InstanceIamBinding) ToInstanceIamBindingOutputWithContext(ctx context.Context) InstanceIamBindingOutput

type InstanceIamBindingArgs added in v0.26.0

type InstanceIamBindingArgs struct {
	// An IAM Condition for a given binding.
	Condition iam.ConditionPtrInput
	// Identities that will be granted the privilege in role. Each entry can have one of the following values:
	//
	//  * user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	//  * serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	//  * group:{emailid}: An email address that represents a Google group. For example, admins@example.com.
	//  * domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Members pulumi.StringArrayInput
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringInput
	// The role that should be applied. Only one `IamBinding` can be used per role.
	Role pulumi.StringInput
}

The set of arguments for constructing a InstanceIamBinding resource.

func (InstanceIamBindingArgs) ElementType added in v0.26.0

func (InstanceIamBindingArgs) ElementType() reflect.Type

type InstanceIamBindingInput added in v0.26.0

type InstanceIamBindingInput interface {
	pulumi.Input

	ToInstanceIamBindingOutput() InstanceIamBindingOutput
	ToInstanceIamBindingOutputWithContext(ctx context.Context) InstanceIamBindingOutput
}

type InstanceIamBindingOutput added in v0.26.0

type InstanceIamBindingOutput struct{ *pulumi.OutputState }

func (InstanceIamBindingOutput) Condition added in v0.26.0

An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.

func (InstanceIamBindingOutput) ElementType added in v0.26.0

func (InstanceIamBindingOutput) ElementType() reflect.Type

func (InstanceIamBindingOutput) Etag added in v0.26.0

The etag of the resource's IAM policy.

func (InstanceIamBindingOutput) Members added in v0.26.0

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (InstanceIamBindingOutput) Name added in v0.26.0

The name of the resource to manage IAM policies for.

func (InstanceIamBindingOutput) Project added in v0.26.0

The project in which the resource belongs. If it is not provided, a default will be supplied.

func (InstanceIamBindingOutput) Role added in v0.26.0

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (InstanceIamBindingOutput) ToInstanceIamBindingOutput added in v0.26.0

func (o InstanceIamBindingOutput) ToInstanceIamBindingOutput() InstanceIamBindingOutput

func (InstanceIamBindingOutput) ToInstanceIamBindingOutputWithContext added in v0.26.0

func (o InstanceIamBindingOutput) ToInstanceIamBindingOutputWithContext(ctx context.Context) InstanceIamBindingOutput

type InstanceIamBindingState added in v0.26.0

type InstanceIamBindingState struct {
}

func (InstanceIamBindingState) ElementType added in v0.26.0

func (InstanceIamBindingState) ElementType() reflect.Type

type InstanceIamMember added in v0.26.0

type InstanceIamMember struct {
	pulumi.CustomResourceState

	// An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.
	Condition iam.ConditionPtrOutput `pulumi:"condition"`
	// The etag of the resource's IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.
	Member pulumi.StringOutput `pulumi:"member"`
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project in which the resource belongs. If it is not provided, a default will be supplied.
	Project pulumi.StringOutput `pulumi:"project"`
	// Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Sets the access control policy on an instance resource. Replaces any existing policy. Authorization requires `spanner.instances.setIamPolicy` on resource.

func GetInstanceIamMember added in v0.26.0

func GetInstanceIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceIamMemberState, opts ...pulumi.ResourceOption) (*InstanceIamMember, error)

GetInstanceIamMember gets an existing InstanceIamMember 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 NewInstanceIamMember added in v0.26.0

func NewInstanceIamMember(ctx *pulumi.Context,
	name string, args *InstanceIamMemberArgs, opts ...pulumi.ResourceOption) (*InstanceIamMember, error)

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

func (*InstanceIamMember) ElementType added in v0.26.0

func (*InstanceIamMember) ElementType() reflect.Type

func (*InstanceIamMember) ToInstanceIamMemberOutput added in v0.26.0

func (i *InstanceIamMember) ToInstanceIamMemberOutput() InstanceIamMemberOutput

func (*InstanceIamMember) ToInstanceIamMemberOutputWithContext added in v0.26.0

func (i *InstanceIamMember) ToInstanceIamMemberOutputWithContext(ctx context.Context) InstanceIamMemberOutput

type InstanceIamMemberArgs added in v0.26.0

type InstanceIamMemberArgs struct {
	// An IAM Condition for a given binding.
	Condition iam.ConditionPtrInput
	// Identity that will be granted the privilege in role. The entry can have one of the following values:
	//
	//  * user:{emailid}: An email address that represents a specific Google account. For example, alice@gmail.com or joe@example.com.
	//  * serviceAccount:{emailid}: An email address that represents a service account. For example, my-other-app@appspot.gserviceaccount.com.
	//  * group:{emailid}: An email address that represents a Google group. For example, admins@example.com.
	//  * domain:{domain}: A G Suite domain (primary, instead of alias) name that represents all the users of that domain. For example, google.com or example.com.
	Member pulumi.StringInput
	// The name of the resource to manage IAM policies for.
	Name pulumi.StringInput
	// The role that should be applied.
	Role pulumi.StringInput
}

The set of arguments for constructing a InstanceIamMember resource.

func (InstanceIamMemberArgs) ElementType added in v0.26.0

func (InstanceIamMemberArgs) ElementType() reflect.Type

type InstanceIamMemberInput added in v0.26.0

type InstanceIamMemberInput interface {
	pulumi.Input

	ToInstanceIamMemberOutput() InstanceIamMemberOutput
	ToInstanceIamMemberOutputWithContext(ctx context.Context) InstanceIamMemberOutput
}

type InstanceIamMemberOutput added in v0.26.0

type InstanceIamMemberOutput struct{ *pulumi.OutputState }

func (InstanceIamMemberOutput) Condition added in v0.26.0

An IAM Condition for a given binding. See https://cloud.google.com/iam/docs/conditions-overview for additional details.

func (InstanceIamMemberOutput) ElementType added in v0.26.0

func (InstanceIamMemberOutput) ElementType() reflect.Type

func (InstanceIamMemberOutput) Etag added in v0.26.0

The etag of the resource's IAM policy.

func (InstanceIamMemberOutput) Member added in v0.26.0

Specifies the principals requesting access for a Google Cloud resource. `members` can have 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a user that has been recently deleted. For example, `alice@example.com?uid=123456789012345678901`. If the user is recovered, this value reverts to `user:{emailid}` and the recovered user retains the role in the binding. * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a service account that has been recently deleted. For example, `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. If the service account is undeleted, this value reverts to `serviceAccount:{emailid}` and the undeleted service account retains the role in the binding. * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique identifier) representing a Google group that has been recently deleted. For example, `admins@example.com?uid=123456789012345678901`. If the group is recovered, this value reverts to `group:{emailid}` and the recovered group retains the role in the binding.

func (InstanceIamMemberOutput) Name added in v0.26.0

The name of the resource to manage IAM policies for.

func (InstanceIamMemberOutput) Project added in v0.26.0

The project in which the resource belongs. If it is not provided, a default will be supplied.

func (InstanceIamMemberOutput) Role added in v0.26.0

Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`.

func (InstanceIamMemberOutput) ToInstanceIamMemberOutput added in v0.26.0

func (o InstanceIamMemberOutput) ToInstanceIamMemberOutput() InstanceIamMemberOutput

func (InstanceIamMemberOutput) ToInstanceIamMemberOutputWithContext added in v0.26.0

func (o InstanceIamMemberOutput) ToInstanceIamMemberOutputWithContext(ctx context.Context) InstanceIamMemberOutput

type InstanceIamMemberState added in v0.26.0

type InstanceIamMemberState struct {
}

func (InstanceIamMemberState) ElementType added in v0.26.0

func (InstanceIamMemberState) ElementType() reflect.Type

type InstanceIamPolicy

type InstanceIamPolicy struct {
	pulumi.CustomResourceState

	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings BindingResponseArrayOutput `pulumi:"bindings"`
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag       pulumi.StringOutput `pulumi:"etag"`
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	Project    pulumi.StringOutput `pulumi:"project"`
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version pulumi.IntOutput `pulumi:"version"`
}

Sets the access control policy on an instance resource. Replaces any existing policy. Authorization requires `spanner.instances.setIamPolicy` on resource. Note - this resource's API doesn't support deletion. When deleted, the resource will persist on Google Cloud even though it will be deleted from Pulumi state.

func GetInstanceIamPolicy

func GetInstanceIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceIamPolicyState, opts ...pulumi.ResourceOption) (*InstanceIamPolicy, error)

GetInstanceIamPolicy gets an existing InstanceIamPolicy 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 NewInstanceIamPolicy

func NewInstanceIamPolicy(ctx *pulumi.Context,
	name string, args *InstanceIamPolicyArgs, opts ...pulumi.ResourceOption) (*InstanceIamPolicy, error)

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

func (*InstanceIamPolicy) ElementType

func (*InstanceIamPolicy) ElementType() reflect.Type

func (*InstanceIamPolicy) ToInstanceIamPolicyOutput

func (i *InstanceIamPolicy) ToInstanceIamPolicyOutput() InstanceIamPolicyOutput

func (*InstanceIamPolicy) ToInstanceIamPolicyOutputWithContext

func (i *InstanceIamPolicy) ToInstanceIamPolicyOutputWithContext(ctx context.Context) InstanceIamPolicyOutput

type InstanceIamPolicyArgs

type InstanceIamPolicyArgs struct {
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings BindingArrayInput
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag       pulumi.StringPtrInput
	InstanceId pulumi.StringInput
	Project    pulumi.StringPtrInput
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version pulumi.IntPtrInput
}

The set of arguments for constructing a InstanceIamPolicy resource.

func (InstanceIamPolicyArgs) ElementType

func (InstanceIamPolicyArgs) ElementType() reflect.Type

type InstanceIamPolicyInput

type InstanceIamPolicyInput interface {
	pulumi.Input

	ToInstanceIamPolicyOutput() InstanceIamPolicyOutput
	ToInstanceIamPolicyOutputWithContext(ctx context.Context) InstanceIamPolicyOutput
}

type InstanceIamPolicyOutput

type InstanceIamPolicyOutput struct{ *pulumi.OutputState }

func (InstanceIamPolicyOutput) Bindings added in v0.19.0

Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.

func (InstanceIamPolicyOutput) ElementType

func (InstanceIamPolicyOutput) ElementType() reflect.Type

func (InstanceIamPolicyOutput) Etag added in v0.19.0

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.

func (InstanceIamPolicyOutput) InstanceId added in v0.21.0

func (InstanceIamPolicyOutput) Project added in v0.21.0

func (InstanceIamPolicyOutput) ToInstanceIamPolicyOutput

func (o InstanceIamPolicyOutput) ToInstanceIamPolicyOutput() InstanceIamPolicyOutput

func (InstanceIamPolicyOutput) ToInstanceIamPolicyOutputWithContext

func (o InstanceIamPolicyOutput) ToInstanceIamPolicyOutputWithContext(ctx context.Context) InstanceIamPolicyOutput

func (InstanceIamPolicyOutput) Version added in v0.19.0

Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

type InstanceIamPolicyState

type InstanceIamPolicyState struct {
}

func (InstanceIamPolicyState) ElementType

func (InstanceIamPolicyState) ElementType() reflect.Type

type InstanceInput

type InstanceInput interface {
	pulumi.Input

	ToInstanceOutput() InstanceOutput
	ToInstanceOutputWithContext(ctx context.Context) InstanceOutput
}

type InstanceInstanceType added in v0.22.0

type InstanceInstanceType string

The `InstanceType` of the current instance.

func (InstanceInstanceType) ElementType added in v0.22.0

func (InstanceInstanceType) ElementType() reflect.Type

func (InstanceInstanceType) ToInstanceInstanceTypeOutput added in v0.22.0

func (e InstanceInstanceType) ToInstanceInstanceTypeOutput() InstanceInstanceTypeOutput

func (InstanceInstanceType) ToInstanceInstanceTypeOutputWithContext added in v0.22.0

func (e InstanceInstanceType) ToInstanceInstanceTypeOutputWithContext(ctx context.Context) InstanceInstanceTypeOutput

func (InstanceInstanceType) ToInstanceInstanceTypePtrOutput added in v0.22.0

func (e InstanceInstanceType) ToInstanceInstanceTypePtrOutput() InstanceInstanceTypePtrOutput

func (InstanceInstanceType) ToInstanceInstanceTypePtrOutputWithContext added in v0.22.0

func (e InstanceInstanceType) ToInstanceInstanceTypePtrOutputWithContext(ctx context.Context) InstanceInstanceTypePtrOutput

func (InstanceInstanceType) ToStringOutput added in v0.22.0

func (e InstanceInstanceType) ToStringOutput() pulumi.StringOutput

func (InstanceInstanceType) ToStringOutputWithContext added in v0.22.0

func (e InstanceInstanceType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (InstanceInstanceType) ToStringPtrOutput added in v0.22.0

func (e InstanceInstanceType) ToStringPtrOutput() pulumi.StringPtrOutput

func (InstanceInstanceType) ToStringPtrOutputWithContext added in v0.22.0

func (e InstanceInstanceType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type InstanceInstanceTypeInput added in v0.22.0

type InstanceInstanceTypeInput interface {
	pulumi.Input

	ToInstanceInstanceTypeOutput() InstanceInstanceTypeOutput
	ToInstanceInstanceTypeOutputWithContext(context.Context) InstanceInstanceTypeOutput
}

InstanceInstanceTypeInput is an input type that accepts InstanceInstanceTypeArgs and InstanceInstanceTypeOutput values. You can construct a concrete instance of `InstanceInstanceTypeInput` via:

InstanceInstanceTypeArgs{...}

type InstanceInstanceTypeOutput added in v0.22.0

type InstanceInstanceTypeOutput struct{ *pulumi.OutputState }

func (InstanceInstanceTypeOutput) ElementType added in v0.22.0

func (InstanceInstanceTypeOutput) ElementType() reflect.Type

func (InstanceInstanceTypeOutput) ToInstanceInstanceTypeOutput added in v0.22.0

func (o InstanceInstanceTypeOutput) ToInstanceInstanceTypeOutput() InstanceInstanceTypeOutput

func (InstanceInstanceTypeOutput) ToInstanceInstanceTypeOutputWithContext added in v0.22.0

func (o InstanceInstanceTypeOutput) ToInstanceInstanceTypeOutputWithContext(ctx context.Context) InstanceInstanceTypeOutput

func (InstanceInstanceTypeOutput) ToInstanceInstanceTypePtrOutput added in v0.22.0

func (o InstanceInstanceTypeOutput) ToInstanceInstanceTypePtrOutput() InstanceInstanceTypePtrOutput

func (InstanceInstanceTypeOutput) ToInstanceInstanceTypePtrOutputWithContext added in v0.22.0

func (o InstanceInstanceTypeOutput) ToInstanceInstanceTypePtrOutputWithContext(ctx context.Context) InstanceInstanceTypePtrOutput

func (InstanceInstanceTypeOutput) ToStringOutput added in v0.22.0

func (o InstanceInstanceTypeOutput) ToStringOutput() pulumi.StringOutput

func (InstanceInstanceTypeOutput) ToStringOutputWithContext added in v0.22.0

func (o InstanceInstanceTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (InstanceInstanceTypeOutput) ToStringPtrOutput added in v0.22.0

func (o InstanceInstanceTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (InstanceInstanceTypeOutput) ToStringPtrOutputWithContext added in v0.22.0

func (o InstanceInstanceTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type InstanceInstanceTypePtrInput added in v0.22.0

type InstanceInstanceTypePtrInput interface {
	pulumi.Input

	ToInstanceInstanceTypePtrOutput() InstanceInstanceTypePtrOutput
	ToInstanceInstanceTypePtrOutputWithContext(context.Context) InstanceInstanceTypePtrOutput
}

func InstanceInstanceTypePtr added in v0.22.0

func InstanceInstanceTypePtr(v string) InstanceInstanceTypePtrInput

type InstanceInstanceTypePtrOutput added in v0.22.0

type InstanceInstanceTypePtrOutput struct{ *pulumi.OutputState }

func (InstanceInstanceTypePtrOutput) Elem added in v0.22.0

func (InstanceInstanceTypePtrOutput) ElementType added in v0.22.0

func (InstanceInstanceTypePtrOutput) ToInstanceInstanceTypePtrOutput added in v0.22.0

func (o InstanceInstanceTypePtrOutput) ToInstanceInstanceTypePtrOutput() InstanceInstanceTypePtrOutput

func (InstanceInstanceTypePtrOutput) ToInstanceInstanceTypePtrOutputWithContext added in v0.22.0

func (o InstanceInstanceTypePtrOutput) ToInstanceInstanceTypePtrOutputWithContext(ctx context.Context) InstanceInstanceTypePtrOutput

func (InstanceInstanceTypePtrOutput) ToStringPtrOutput added in v0.22.0

func (InstanceInstanceTypePtrOutput) ToStringPtrOutputWithContext added in v0.22.0

func (o InstanceInstanceTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) AutoscalingConfig added in v0.32.0

func (o InstanceOutput) AutoscalingConfig() AutoscalingConfigResponseOutput

Optional. The autoscaling configuration. Autoscaling is enabled if this field is set. When autoscaling is enabled, node_count and processing_units are treated as OUTPUT_ONLY fields and reflect the current compute capacity allocated to the instance.

func (InstanceOutput) Config added in v0.19.0

func (o InstanceOutput) Config() pulumi.StringOutput

The name of the instance's configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs.

func (InstanceOutput) CreateTime added in v0.19.0

func (o InstanceOutput) CreateTime() pulumi.StringOutput

The time at which the instance was created.

func (InstanceOutput) DisplayName added in v0.19.0

func (o InstanceOutput) DisplayName() pulumi.StringOutput

The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) EndpointUris deprecated added in v0.19.0

func (o InstanceOutput) EndpointUris() pulumi.StringArrayOutput

Deprecated. This field is not populated.

Deprecated: Deprecated. This field is not populated.

func (InstanceOutput) FreeInstanceMetadata added in v0.22.0

func (o InstanceOutput) FreeInstanceMetadata() FreeInstanceMetadataResponseOutput

Free instance metadata. Only populated for free instances.

func (InstanceOutput) InstanceType added in v0.22.0

func (o InstanceOutput) InstanceType() pulumi.StringOutput

The `InstanceType` of the current instance.

func (InstanceOutput) Labels added in v0.19.0

Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release.

func (InstanceOutput) Name added in v0.19.0

A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.

func (InstanceOutput) NodeCount added in v0.19.0

func (o InstanceOutput) NodeCount() pulumi.IntOutput

The number of nodes allocated to this instance. At most one of either node_count or processing_units should be present in the message. Users can set the node_count field to specify the target number of nodes allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.

func (InstanceOutput) ProcessingUnits added in v0.19.0

func (o InstanceOutput) ProcessingUnits() pulumi.IntOutput

The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. Users can set the processing_units field to specify the target number of processing units allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.

func (InstanceOutput) Project added in v0.21.0

func (o InstanceOutput) Project() pulumi.StringOutput

func (InstanceOutput) State added in v0.19.0

The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

func (o InstanceOutput) ToInstanceOutputWithContext(ctx context.Context) InstanceOutput

func (InstanceOutput) UpdateTime added in v0.19.0

func (o InstanceOutput) UpdateTime() pulumi.StringOutput

The time at which the instance was most recently updated.

type InstanceState

type InstanceState struct {
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type LookupBackupArgs added in v0.4.0

type LookupBackupArgs struct {
	BackupId   string  `pulumi:"backupId"`
	InstanceId string  `pulumi:"instanceId"`
	Project    *string `pulumi:"project"`
}

type LookupBackupOutputArgs added in v0.8.0

type LookupBackupOutputArgs struct {
	BackupId   pulumi.StringInput    `pulumi:"backupId"`
	InstanceId pulumi.StringInput    `pulumi:"instanceId"`
	Project    pulumi.StringPtrInput `pulumi:"project"`
}

func (LookupBackupOutputArgs) ElementType added in v0.8.0

func (LookupBackupOutputArgs) ElementType() reflect.Type

type LookupBackupResult added in v0.4.0

type LookupBackupResult struct {
	// The time the CreateBackup request is received. If the request does not specify `version_time`, the `version_time` of the backup will be equivalent to the `create_time`.
	CreateTime string `pulumi:"createTime"`
	// Required for the CreateBackup operation. Name of the database from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects//instances//databases/`.
	Database string `pulumi:"database"`
	// The database dialect information for the backup.
	DatabaseDialect string `pulumi:"databaseDialect"`
	// The encryption information for the backup.
	EncryptionInfo EncryptionInfoResponse `pulumi:"encryptionInfo"`
	// Required for the CreateBackup operation. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup request is processed. Once the `expire_time` has passed, the backup is eligible to be automatically deleted by Cloud Spanner to free the resources used by the backup.
	ExpireTime string `pulumi:"expireTime"`
	// The max allowed expiration time of the backup, with microseconds granularity. A backup's expiration time can be configured in multiple APIs: CreateBackup, UpdateBackup, CopyBackup. When updating or copying an existing backup, the expiration time specified must be less than `Backup.max_expire_time`.
	MaxExpireTime string `pulumi:"maxExpireTime"`
	// Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form `projects//instances/`.
	Name string `pulumi:"name"`
	// The names of the destination backups being created by copying this source backup. The backup names are of the form `projects//instances//backups/`. Referencing backups may exist in different instances. The existence of any referencing backup prevents the backup from being deleted. When the copy operation is done (either successfully completed or cancelled or the destination backup is deleted), the reference to the backup is removed.
	ReferencingBackups []string `pulumi:"referencingBackups"`
	// The names of the restored databases that reference the backup. The database names are of the form `projects//instances//databases/`. Referencing databases may exist in different instances. The existence of any referencing database prevents the backup from being deleted. When a restored database from the backup enters the `READY` state, the reference to the backup is removed.
	ReferencingDatabases []string `pulumi:"referencingDatabases"`
	// Size of the backup in bytes.
	SizeBytes string `pulumi:"sizeBytes"`
	// The current state of the backup.
	State string `pulumi:"state"`
	// The backup will contain an externally consistent copy of the database at the timestamp specified by `version_time`. If `version_time` is not specified, the system will set `version_time` to the `create_time` of the backup.
	VersionTime string `pulumi:"versionTime"`
}

func LookupBackup added in v0.4.0

func LookupBackup(ctx *pulumi.Context, args *LookupBackupArgs, opts ...pulumi.InvokeOption) (*LookupBackupResult, error)

Gets metadata on a pending or completed Backup.

type LookupBackupResultOutput added in v0.8.0

type LookupBackupResultOutput struct{ *pulumi.OutputState }

func LookupBackupOutput added in v0.8.0

func LookupBackupOutput(ctx *pulumi.Context, args LookupBackupOutputArgs, opts ...pulumi.InvokeOption) LookupBackupResultOutput

func (LookupBackupResultOutput) CreateTime added in v0.8.0

The time the CreateBackup request is received. If the request does not specify `version_time`, the `version_time` of the backup will be equivalent to the `create_time`.

func (LookupBackupResultOutput) Database added in v0.8.0

Required for the CreateBackup operation. Name of the database from which this backup was created. This needs to be in the same instance as the backup. Values are of the form `projects//instances//databases/`.

func (LookupBackupResultOutput) DatabaseDialect added in v0.14.0

func (o LookupBackupResultOutput) DatabaseDialect() pulumi.StringOutput

The database dialect information for the backup.

func (LookupBackupResultOutput) ElementType added in v0.8.0

func (LookupBackupResultOutput) ElementType() reflect.Type

func (LookupBackupResultOutput) EncryptionInfo added in v0.8.0

The encryption information for the backup.

func (LookupBackupResultOutput) ExpireTime added in v0.8.0

Required for the CreateBackup operation. The expiration time of the backup, with microseconds granularity that must be at least 6 hours and at most 366 days from the time the CreateBackup request is processed. Once the `expire_time` has passed, the backup is eligible to be automatically deleted by Cloud Spanner to free the resources used by the backup.

func (LookupBackupResultOutput) MaxExpireTime added in v0.18.0

func (o LookupBackupResultOutput) MaxExpireTime() pulumi.StringOutput

The max allowed expiration time of the backup, with microseconds granularity. A backup's expiration time can be configured in multiple APIs: CreateBackup, UpdateBackup, CopyBackup. When updating or copying an existing backup, the expiration time specified must be less than `Backup.max_expire_time`.

func (LookupBackupResultOutput) Name added in v0.8.0

Output only for the CreateBackup operation. Required for the UpdateBackup operation. A globally unique identifier for the backup which cannot be changed. Values are of the form `projects//instances//backups/a-z*[a-z0-9]` The final segment of the name must be between 2 and 60 characters in length. The backup is stored in the location(s) specified in the instance configuration of the instance containing the backup, identified by the prefix of the backup name of the form `projects//instances/`.

func (LookupBackupResultOutput) ReferencingBackups added in v0.18.0

func (o LookupBackupResultOutput) ReferencingBackups() pulumi.StringArrayOutput

The names of the destination backups being created by copying this source backup. The backup names are of the form `projects//instances//backups/`. Referencing backups may exist in different instances. The existence of any referencing backup prevents the backup from being deleted. When the copy operation is done (either successfully completed or cancelled or the destination backup is deleted), the reference to the backup is removed.

func (LookupBackupResultOutput) ReferencingDatabases added in v0.8.0

func (o LookupBackupResultOutput) ReferencingDatabases() pulumi.StringArrayOutput

The names of the restored databases that reference the backup. The database names are of the form `projects//instances//databases/`. Referencing databases may exist in different instances. The existence of any referencing database prevents the backup from being deleted. When a restored database from the backup enters the `READY` state, the reference to the backup is removed.

func (LookupBackupResultOutput) SizeBytes added in v0.8.0

Size of the backup in bytes.

func (LookupBackupResultOutput) State added in v0.8.0

The current state of the backup.

func (LookupBackupResultOutput) ToLookupBackupResultOutput added in v0.8.0

func (o LookupBackupResultOutput) ToLookupBackupResultOutput() LookupBackupResultOutput

func (LookupBackupResultOutput) ToLookupBackupResultOutputWithContext added in v0.8.0

func (o LookupBackupResultOutput) ToLookupBackupResultOutputWithContext(ctx context.Context) LookupBackupResultOutput

func (LookupBackupResultOutput) VersionTime added in v0.8.0

The backup will contain an externally consistent copy of the database at the timestamp specified by `version_time`. If `version_time` is not specified, the system will set `version_time` to the `create_time` of the backup.

type LookupDatabaseArgs added in v0.4.0

type LookupDatabaseArgs struct {
	DatabaseId string  `pulumi:"databaseId"`
	InstanceId string  `pulumi:"instanceId"`
	Project    *string `pulumi:"project"`
}

type LookupDatabaseOutputArgs added in v0.8.0

type LookupDatabaseOutputArgs struct {
	DatabaseId pulumi.StringInput    `pulumi:"databaseId"`
	InstanceId pulumi.StringInput    `pulumi:"instanceId"`
	Project    pulumi.StringPtrInput `pulumi:"project"`
}

func (LookupDatabaseOutputArgs) ElementType added in v0.8.0

func (LookupDatabaseOutputArgs) ElementType() reflect.Type

type LookupDatabaseResult added in v0.4.0

type LookupDatabaseResult struct {
	// If exists, the time at which the database creation started.
	CreateTime string `pulumi:"createTime"`
	// The dialect of the Cloud Spanner Database.
	DatabaseDialect string `pulumi:"databaseDialect"`
	// The read-write region which contains the database's leader replicas. This is the same as the value of default_leader database option set using DatabaseAdmin.CreateDatabase or DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.
	DefaultLeader string `pulumi:"defaultLeader"`
	// Earliest timestamp at which older versions of the data can be read. This value is continuously updated by Cloud Spanner and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.
	EarliestVersionTime string `pulumi:"earliestVersionTime"`
	// Whether drop protection is enabled for this database. Defaults to false, if not set. For more details, please see how to [prevent accidental database deletion](https://cloud.google.com/spanner/docs/prevent-database-deletion).
	EnableDropProtection bool `pulumi:"enableDropProtection"`
	// For databases that are using customer managed encryption, this field contains the encryption configuration for the database. For databases that are using Google default or other types of encryption, this field is empty.
	EncryptionConfig EncryptionConfigResponse `pulumi:"encryptionConfig"`
	// For databases that are using customer managed encryption, this field contains the encryption information for the database, such as all Cloud KMS key versions that are in use. The ` encryption_status' field inside of each  `EncryptionInfo` is not populated. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field.
	EncryptionInfo []EncryptionInfoResponse `pulumi:"encryptionInfo"`
	// The name of the database. Values are of the form `projects//instances//databases/`, where “ is as specified in the `CREATE DATABASE` statement. This name can be passed to other API methods to identify the database.
	Name string `pulumi:"name"`
	// If true, the database is being updated. If false, there are no ongoing update operations for the database.
	Reconciling bool `pulumi:"reconciling"`
	// Applicable only for restored databases. Contains information about the restore source.
	RestoreInfo RestoreInfoResponse `pulumi:"restoreInfo"`
	// The current database state.
	State string `pulumi:"state"`
	// The period in which Cloud Spanner retains all versions of data for the database. This is the same as the value of version_retention_period database option set using UpdateDatabaseDdl. Defaults to 1 hour, if not set.
	VersionRetentionPeriod string `pulumi:"versionRetentionPeriod"`
}

func LookupDatabase added in v0.4.0

func LookupDatabase(ctx *pulumi.Context, args *LookupDatabaseArgs, opts ...pulumi.InvokeOption) (*LookupDatabaseResult, error)

Gets the state of a Cloud Spanner database.

type LookupDatabaseResultOutput added in v0.8.0

type LookupDatabaseResultOutput struct{ *pulumi.OutputState }

func LookupDatabaseOutput added in v0.8.0

func LookupDatabaseOutput(ctx *pulumi.Context, args LookupDatabaseOutputArgs, opts ...pulumi.InvokeOption) LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) CreateTime added in v0.8.0

If exists, the time at which the database creation started.

func (LookupDatabaseResultOutput) DatabaseDialect added in v0.14.0

func (o LookupDatabaseResultOutput) DatabaseDialect() pulumi.StringOutput

The dialect of the Cloud Spanner Database.

func (LookupDatabaseResultOutput) DefaultLeader added in v0.8.0

The read-write region which contains the database's leader replicas. This is the same as the value of default_leader database option set using DatabaseAdmin.CreateDatabase or DatabaseAdmin.UpdateDatabaseDdl. If not explicitly set, this is empty.

func (LookupDatabaseResultOutput) EarliestVersionTime added in v0.8.0

func (o LookupDatabaseResultOutput) EarliestVersionTime() pulumi.StringOutput

Earliest timestamp at which older versions of the data can be read. This value is continuously updated by Cloud Spanner and becomes stale the moment it is queried. If you are using this value to recover data, make sure to account for the time from the moment when the value is queried to the moment when you initiate the recovery.

func (LookupDatabaseResultOutput) ElementType added in v0.8.0

func (LookupDatabaseResultOutput) ElementType() reflect.Type

func (LookupDatabaseResultOutput) EnableDropProtection added in v0.30.0

func (o LookupDatabaseResultOutput) EnableDropProtection() pulumi.BoolOutput

Whether drop protection is enabled for this database. Defaults to false, if not set. For more details, please see how to [prevent accidental database deletion](https://cloud.google.com/spanner/docs/prevent-database-deletion).

func (LookupDatabaseResultOutput) EncryptionConfig added in v0.8.0

For databases that are using customer managed encryption, this field contains the encryption configuration for the database. For databases that are using Google default or other types of encryption, this field is empty.

func (LookupDatabaseResultOutput) EncryptionInfo added in v0.8.0

For databases that are using customer managed encryption, this field contains the encryption information for the database, such as all Cloud KMS key versions that are in use. The ` encryption_status' field inside of each `EncryptionInfo` is not populated. For databases that are using Google default or other types of encryption, this field is empty. This field is propagated lazily from the backend. There might be a delay from when a key version is being used and when it appears in this field.

func (LookupDatabaseResultOutput) Name added in v0.8.0

The name of the database. Values are of the form `projects//instances//databases/`, where “ is as specified in the `CREATE DATABASE` statement. This name can be passed to other API methods to identify the database.

func (LookupDatabaseResultOutput) Reconciling added in v0.30.0

If true, the database is being updated. If false, there are no ongoing update operations for the database.

func (LookupDatabaseResultOutput) RestoreInfo added in v0.8.0

Applicable only for restored databases. Contains information about the restore source.

func (LookupDatabaseResultOutput) State added in v0.8.0

The current database state.

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutput added in v0.8.0

func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutput() LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext added in v0.8.0

func (o LookupDatabaseResultOutput) ToLookupDatabaseResultOutputWithContext(ctx context.Context) LookupDatabaseResultOutput

func (LookupDatabaseResultOutput) VersionRetentionPeriod added in v0.8.0

func (o LookupDatabaseResultOutput) VersionRetentionPeriod() pulumi.StringOutput

The period in which Cloud Spanner retains all versions of data for the database. This is the same as the value of version_retention_period database option set using UpdateDatabaseDdl. Defaults to 1 hour, if not set.

type LookupInstanceArgs added in v0.4.0

type LookupInstanceArgs struct {
	FieldMask  *string `pulumi:"fieldMask"`
	InstanceId string  `pulumi:"instanceId"`
	Project    *string `pulumi:"project"`
}

type LookupInstanceBackupIamPolicyArgs added in v0.4.0

type LookupInstanceBackupIamPolicyArgs struct {
	BackupId   string  `pulumi:"backupId"`
	InstanceId string  `pulumi:"instanceId"`
	Project    *string `pulumi:"project"`
}

type LookupInstanceBackupIamPolicyOutputArgs added in v0.8.0

type LookupInstanceBackupIamPolicyOutputArgs struct {
	BackupId   pulumi.StringInput    `pulumi:"backupId"`
	InstanceId pulumi.StringInput    `pulumi:"instanceId"`
	Project    pulumi.StringPtrInput `pulumi:"project"`
}

func (LookupInstanceBackupIamPolicyOutputArgs) ElementType added in v0.8.0

type LookupInstanceBackupIamPolicyResult added in v0.4.0

type LookupInstanceBackupIamPolicyResult struct {
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings []BindingResponse `pulumi:"bindings"`
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag string `pulumi:"etag"`
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version int `pulumi:"version"`
}

func LookupInstanceBackupIamPolicy added in v0.4.0

Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.

type LookupInstanceBackupIamPolicyResultOutput added in v0.8.0

type LookupInstanceBackupIamPolicyResultOutput struct{ *pulumi.OutputState }

func (LookupInstanceBackupIamPolicyResultOutput) Bindings added in v0.8.0

Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.

func (LookupInstanceBackupIamPolicyResultOutput) ElementType added in v0.8.0

func (LookupInstanceBackupIamPolicyResultOutput) Etag added in v0.8.0

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.

func (LookupInstanceBackupIamPolicyResultOutput) ToLookupInstanceBackupIamPolicyResultOutput added in v0.8.0

func (o LookupInstanceBackupIamPolicyResultOutput) ToLookupInstanceBackupIamPolicyResultOutput() LookupInstanceBackupIamPolicyResultOutput

func (LookupInstanceBackupIamPolicyResultOutput) ToLookupInstanceBackupIamPolicyResultOutputWithContext added in v0.8.0

func (o LookupInstanceBackupIamPolicyResultOutput) ToLookupInstanceBackupIamPolicyResultOutputWithContext(ctx context.Context) LookupInstanceBackupIamPolicyResultOutput

func (LookupInstanceBackupIamPolicyResultOutput) Version added in v0.8.0

Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

type LookupInstanceConfigArgs added in v0.26.0

type LookupInstanceConfigArgs struct {
	InstanceConfigId string  `pulumi:"instanceConfigId"`
	Project          *string `pulumi:"project"`
}

type LookupInstanceConfigOutputArgs added in v0.26.0

type LookupInstanceConfigOutputArgs struct {
	InstanceConfigId pulumi.StringInput    `pulumi:"instanceConfigId"`
	Project          pulumi.StringPtrInput `pulumi:"project"`
}

func (LookupInstanceConfigOutputArgs) ElementType added in v0.26.0

type LookupInstanceConfigResult added in v0.26.0

type LookupInstanceConfigResult struct {
	// Base configuration name, e.g. projects//instanceConfigs/nam3, based on which this configuration is created. Only set for user managed configurations. `base_config` must refer to a configuration of type GOOGLE_MANAGED in the same project as this configuration.
	BaseConfig string `pulumi:"baseConfig"`
	// Whether this instance config is a Google or User Managed Configuration.
	ConfigType string `pulumi:"configType"`
	// The name of this instance configuration as it appears in UIs.
	DisplayName string `pulumi:"displayName"`
	// etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly.
	Etag string `pulumi:"etag"`
	// Describes whether free instances are available to be created in this instance config.
	FreeInstanceAvailability string `pulumi:"freeInstanceAvailability"`
	// Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release.
	Labels map[string]string `pulumi:"labels"`
	// Allowed values of the "default_leader" schema option for databases in instances that use this instance configuration.
	LeaderOptions []string `pulumi:"leaderOptions"`
	// A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`.
	Name string `pulumi:"name"`
	// The available optional replicas to choose from for user managed configurations. Populated for Google managed configurations.
	OptionalReplicas []ReplicaInfoResponse `pulumi:"optionalReplicas"`
	// If true, the instance config is being created or updated. If false, there are no ongoing operations for the instance config.
	Reconciling bool `pulumi:"reconciling"`
	// The geographic placement of nodes in this instance configuration and their replication properties.
	Replicas []ReplicaInfoResponse `pulumi:"replicas"`
	// The current instance config state. Applicable only for USER_MANAGED configs.
	State string `pulumi:"state"`
}

func LookupInstanceConfig added in v0.26.0

func LookupInstanceConfig(ctx *pulumi.Context, args *LookupInstanceConfigArgs, opts ...pulumi.InvokeOption) (*LookupInstanceConfigResult, error)

Gets information about a particular instance configuration.

type LookupInstanceConfigResultOutput added in v0.26.0

type LookupInstanceConfigResultOutput struct{ *pulumi.OutputState }

func LookupInstanceConfigOutput added in v0.26.0

func (LookupInstanceConfigResultOutput) BaseConfig added in v0.26.0

Base configuration name, e.g. projects//instanceConfigs/nam3, based on which this configuration is created. Only set for user managed configurations. `base_config` must refer to a configuration of type GOOGLE_MANAGED in the same project as this configuration.

func (LookupInstanceConfigResultOutput) ConfigType added in v0.26.0

Whether this instance config is a Google or User Managed Configuration.

func (LookupInstanceConfigResultOutput) DisplayName added in v0.26.0

The name of this instance configuration as it appears in UIs.

func (LookupInstanceConfigResultOutput) ElementType added in v0.26.0

func (LookupInstanceConfigResultOutput) Etag added in v0.26.0

etag is used for optimistic concurrency control as a way to help prevent simultaneous updates of a instance config from overwriting each other. It is strongly suggested that systems make use of the etag in the read-modify-write cycle to perform instance config updates in order to avoid race conditions: An etag is returned in the response which contains instance configs, and systems are expected to put that etag in the request to update instance config to ensure that their change will be applied to the same version of the instance config. If no etag is provided in the call to update instance config, then the existing instance config is overwritten blindly.

func (LookupInstanceConfigResultOutput) FreeInstanceAvailability added in v0.26.0

func (o LookupInstanceConfigResultOutput) FreeInstanceAvailability() pulumi.StringOutput

Describes whether free instances are available to be created in this instance config.

func (LookupInstanceConfigResultOutput) Labels added in v0.26.0

Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. Therefore, you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release.

func (LookupInstanceConfigResultOutput) LeaderOptions added in v0.26.0

Allowed values of the "default_leader" schema option for databases in instances that use this instance configuration.

func (LookupInstanceConfigResultOutput) Name added in v0.26.0

A unique identifier for the instance configuration. Values are of the form `projects//instanceConfigs/a-z*`.

func (LookupInstanceConfigResultOutput) OptionalReplicas added in v0.26.0

The available optional replicas to choose from for user managed configurations. Populated for Google managed configurations.

func (LookupInstanceConfigResultOutput) Reconciling added in v0.26.0

If true, the instance config is being created or updated. If false, there are no ongoing operations for the instance config.

func (LookupInstanceConfigResultOutput) Replicas added in v0.26.0

The geographic placement of nodes in this instance configuration and their replication properties.

func (LookupInstanceConfigResultOutput) State added in v0.26.0

The current instance config state. Applicable only for USER_MANAGED configs.

func (LookupInstanceConfigResultOutput) ToLookupInstanceConfigResultOutput added in v0.26.0

func (o LookupInstanceConfigResultOutput) ToLookupInstanceConfigResultOutput() LookupInstanceConfigResultOutput

func (LookupInstanceConfigResultOutput) ToLookupInstanceConfigResultOutputWithContext added in v0.26.0

func (o LookupInstanceConfigResultOutput) ToLookupInstanceConfigResultOutputWithContext(ctx context.Context) LookupInstanceConfigResultOutput

type LookupInstanceDatabaseIamPolicyArgs added in v0.4.0

type LookupInstanceDatabaseIamPolicyArgs struct {
	DatabaseId string  `pulumi:"databaseId"`
	InstanceId string  `pulumi:"instanceId"`
	Project    *string `pulumi:"project"`
}

type LookupInstanceDatabaseIamPolicyOutputArgs added in v0.8.0

type LookupInstanceDatabaseIamPolicyOutputArgs struct {
	DatabaseId pulumi.StringInput    `pulumi:"databaseId"`
	InstanceId pulumi.StringInput    `pulumi:"instanceId"`
	Project    pulumi.StringPtrInput `pulumi:"project"`
}

func (LookupInstanceDatabaseIamPolicyOutputArgs) ElementType added in v0.8.0

type LookupInstanceDatabaseIamPolicyResult added in v0.4.0

type LookupInstanceDatabaseIamPolicyResult struct {
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings []BindingResponse `pulumi:"bindings"`
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag string `pulumi:"etag"`
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version int `pulumi:"version"`
}

func LookupInstanceDatabaseIamPolicy added in v0.4.0

Gets the access control policy for a database or backup resource. Returns an empty policy if a database or backup exists but does not have a policy set. Authorization requires `spanner.databases.getIamPolicy` permission on resource. For backups, authorization requires `spanner.backups.getIamPolicy` permission on resource.

type LookupInstanceDatabaseIamPolicyResultOutput added in v0.8.0

type LookupInstanceDatabaseIamPolicyResultOutput struct{ *pulumi.OutputState }

func (LookupInstanceDatabaseIamPolicyResultOutput) Bindings added in v0.8.0

Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.

func (LookupInstanceDatabaseIamPolicyResultOutput) ElementType added in v0.8.0

func (LookupInstanceDatabaseIamPolicyResultOutput) Etag added in v0.8.0

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.

func (LookupInstanceDatabaseIamPolicyResultOutput) ToLookupInstanceDatabaseIamPolicyResultOutput added in v0.8.0

func (o LookupInstanceDatabaseIamPolicyResultOutput) ToLookupInstanceDatabaseIamPolicyResultOutput() LookupInstanceDatabaseIamPolicyResultOutput

func (LookupInstanceDatabaseIamPolicyResultOutput) ToLookupInstanceDatabaseIamPolicyResultOutputWithContext added in v0.8.0

func (o LookupInstanceDatabaseIamPolicyResultOutput) ToLookupInstanceDatabaseIamPolicyResultOutputWithContext(ctx context.Context) LookupInstanceDatabaseIamPolicyResultOutput

func (LookupInstanceDatabaseIamPolicyResultOutput) Version added in v0.8.0

Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

type LookupInstanceIamPolicyArgs added in v0.4.0

type LookupInstanceIamPolicyArgs struct {
	InstanceId string  `pulumi:"instanceId"`
	Project    *string `pulumi:"project"`
}

type LookupInstanceIamPolicyOutputArgs added in v0.8.0

type LookupInstanceIamPolicyOutputArgs struct {
	InstanceId pulumi.StringInput    `pulumi:"instanceId"`
	Project    pulumi.StringPtrInput `pulumi:"project"`
}

func (LookupInstanceIamPolicyOutputArgs) ElementType added in v0.8.0

type LookupInstanceIamPolicyResult added in v0.4.0

type LookupInstanceIamPolicyResult struct {
	// Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
	Bindings []BindingResponse `pulumi:"bindings"`
	// `etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.
	Etag string `pulumi:"etag"`
	// Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
	Version int `pulumi:"version"`
}

func LookupInstanceIamPolicy added in v0.4.0

func LookupInstanceIamPolicy(ctx *pulumi.Context, args *LookupInstanceIamPolicyArgs, opts ...pulumi.InvokeOption) (*LookupInstanceIamPolicyResult, error)

Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set. Authorization requires `spanner.instances.getIamPolicy` on resource.

type LookupInstanceIamPolicyResultOutput added in v0.8.0

type LookupInstanceIamPolicyResultOutput struct{ *pulumi.OutputState }

func (LookupInstanceIamPolicyResultOutput) Bindings added in v0.8.0

Associates a list of `members`, or principals, with a `role`. Optionally, may specify a `condition` that determines how and when the `bindings` are applied. Each of the `bindings` must contain at least one principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.

func (LookupInstanceIamPolicyResultOutput) ElementType added in v0.8.0

func (LookupInstanceIamPolicyResultOutput) Etag added in v0.8.0

`etag` is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the `etag` in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An `etag` is returned in the response to `getIamPolicy`, and systems are expected to put that etag in the request to `setIamPolicy` to ensure that their change will be applied to the same version of the policy. **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost.

func (LookupInstanceIamPolicyResultOutput) ToLookupInstanceIamPolicyResultOutput added in v0.8.0

func (o LookupInstanceIamPolicyResultOutput) ToLookupInstanceIamPolicyResultOutput() LookupInstanceIamPolicyResultOutput

func (LookupInstanceIamPolicyResultOutput) ToLookupInstanceIamPolicyResultOutputWithContext added in v0.8.0

func (o LookupInstanceIamPolicyResultOutput) ToLookupInstanceIamPolicyResultOutputWithContext(ctx context.Context) LookupInstanceIamPolicyResultOutput

func (LookupInstanceIamPolicyResultOutput) Version added in v0.8.0

Specifies the format of the policy. Valid values are `0`, `1`, and `3`. Requests that specify an invalid value are rejected. Any operation that affects conditional role bindings must specify version `3`. This requirement applies to the following operations: * Getting a policy that includes a conditional role binding * Adding a conditional role binding to a policy * Changing a conditional role binding in a policy * Removing any role binding, with or without a condition, from a policy that includes conditions **Important:** If you use IAM Conditions, you must include the `etag` field whenever you call `setIamPolicy`. If you omit this field, then IAM allows you to overwrite a version `3` policy with a version `1` policy, and all of the conditions in the version `3` policy are lost. If a policy does not include any conditions, operations on that policy may specify any valid version or leave the field unset. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).

type LookupInstanceOutputArgs added in v0.8.0

type LookupInstanceOutputArgs struct {
	FieldMask  pulumi.StringPtrInput `pulumi:"fieldMask"`
	InstanceId pulumi.StringInput    `pulumi:"instanceId"`
	Project    pulumi.StringPtrInput `pulumi:"project"`
}

func (LookupInstanceOutputArgs) ElementType added in v0.8.0

func (LookupInstanceOutputArgs) ElementType() reflect.Type

type LookupInstanceResult added in v0.4.0

type LookupInstanceResult struct {
	// Optional. The autoscaling configuration. Autoscaling is enabled if this field is set. When autoscaling is enabled, node_count and processing_units are treated as OUTPUT_ONLY fields and reflect the current compute capacity allocated to the instance.
	AutoscalingConfig AutoscalingConfigResponse `pulumi:"autoscalingConfig"`
	// The name of the instance's configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs.
	Config string `pulumi:"config"`
	// The time at which the instance was created.
	CreateTime string `pulumi:"createTime"`
	// The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.
	DisplayName string `pulumi:"displayName"`
	// Deprecated. This field is not populated.
	//
	// Deprecated: Deprecated. This field is not populated.
	EndpointUris []string `pulumi:"endpointUris"`
	// Free instance metadata. Only populated for free instances.
	FreeInstanceMetadata FreeInstanceMetadataResponse `pulumi:"freeInstanceMetadata"`
	// The `InstanceType` of the current instance.
	InstanceType string `pulumi:"instanceType"`
	// Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release.
	Labels map[string]string `pulumi:"labels"`
	// A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.
	Name string `pulumi:"name"`
	// The number of nodes allocated to this instance. At most one of either node_count or processing_units should be present in the message. Users can set the node_count field to specify the target number of nodes allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.
	NodeCount int `pulumi:"nodeCount"`
	// The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. Users can set the processing_units field to specify the target number of processing units allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.
	ProcessingUnits int `pulumi:"processingUnits"`
	// The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.
	State string `pulumi:"state"`
	// The time at which the instance was most recently updated.
	UpdateTime string `pulumi:"updateTime"`
}

func LookupInstance added in v0.4.0

func LookupInstance(ctx *pulumi.Context, args *LookupInstanceArgs, opts ...pulumi.InvokeOption) (*LookupInstanceResult, error)

Gets information about a particular instance.

type LookupInstanceResultOutput added in v0.8.0

type LookupInstanceResultOutput struct{ *pulumi.OutputState }

func LookupInstanceOutput added in v0.8.0

func LookupInstanceOutput(ctx *pulumi.Context, args LookupInstanceOutputArgs, opts ...pulumi.InvokeOption) LookupInstanceResultOutput

func (LookupInstanceResultOutput) AutoscalingConfig added in v0.32.0

Optional. The autoscaling configuration. Autoscaling is enabled if this field is set. When autoscaling is enabled, node_count and processing_units are treated as OUTPUT_ONLY fields and reflect the current compute capacity allocated to the instance.

func (LookupInstanceResultOutput) Config added in v0.8.0

The name of the instance's configuration. Values are of the form `projects//instanceConfigs/`. See also InstanceConfig and ListInstanceConfigs.

func (LookupInstanceResultOutput) CreateTime added in v0.18.0

The time at which the instance was created.

func (LookupInstanceResultOutput) DisplayName added in v0.8.0

The descriptive name for this instance as it appears in UIs. Must be unique per project and between 4 and 30 characters in length.

func (LookupInstanceResultOutput) ElementType added in v0.8.0

func (LookupInstanceResultOutput) ElementType() reflect.Type

func (LookupInstanceResultOutput) EndpointUris deprecated added in v0.17.0

Deprecated. This field is not populated.

Deprecated: Deprecated. This field is not populated.

func (LookupInstanceResultOutput) FreeInstanceMetadata added in v0.22.0

Free instance metadata. Only populated for free instances.

func (LookupInstanceResultOutput) InstanceType added in v0.22.0

The `InstanceType` of the current instance.

func (LookupInstanceResultOutput) Labels added in v0.8.0

Cloud Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. Cloud Labels can be used to filter collections of resources. They can be used to control how resource metrics are aggregated. And they can be used as arguments to policy management rules (e.g. route, firewall, load balancing, etc.). * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `a-z{0,62}`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `[a-z0-9_-]{0,63}`. * No more than 64 labels can be associated with a given resource. See https://goo.gl/xmQnxf for more information on and examples of labels. If you plan to use labels in your own code, please note that additional characters may be allowed in the future. And so you are advised to use an internal label representation, such as JSON, which doesn't rely upon specific characters being disallowed. For example, representing labels as the string: name + "_" + value would prove problematic if we were to allow "_" in a future release.

func (LookupInstanceResultOutput) Name added in v0.8.0

A unique identifier for the instance, which cannot be changed after the instance is created. Values are of the form `projects//instances/a-z*[a-z0-9]`. The final segment of the name must be between 2 and 64 characters in length.

func (LookupInstanceResultOutput) NodeCount added in v0.8.0

The number of nodes allocated to this instance. At most one of either node_count or processing_units should be present in the message. Users can set the node_count field to specify the target number of nodes allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.

func (LookupInstanceResultOutput) ProcessingUnits added in v0.8.0

func (o LookupInstanceResultOutput) ProcessingUnits() pulumi.IntOutput

The number of processing units allocated to this instance. At most one of processing_units or node_count should be present in the message. Users can set the processing_units field to specify the target number of processing units allocated to the instance. This may be zero in API responses for instances that are not yet in state `READY`. See [the documentation](https://cloud.google.com/spanner/docs/compute-capacity) for more information about nodes and processing units.

func (LookupInstanceResultOutput) State added in v0.8.0

The current instance state. For CreateInstance, the state must be either omitted or set to `CREATING`. For UpdateInstance, the state must be either omitted or set to `READY`.

func (LookupInstanceResultOutput) ToLookupInstanceResultOutput added in v0.8.0

func (o LookupInstanceResultOutput) ToLookupInstanceResultOutput() LookupInstanceResultOutput

func (LookupInstanceResultOutput) ToLookupInstanceResultOutputWithContext added in v0.8.0

func (o LookupInstanceResultOutput) ToLookupInstanceResultOutputWithContext(ctx context.Context) LookupInstanceResultOutput

func (LookupInstanceResultOutput) UpdateTime added in v0.18.0

The time at which the instance was most recently updated.

type LookupSessionArgs added in v0.4.0

type LookupSessionArgs struct {
	DatabaseId string  `pulumi:"databaseId"`
	InstanceId string  `pulumi:"instanceId"`
	Project    *string `pulumi:"project"`
	SessionId  string  `pulumi:"sessionId"`
}

type LookupSessionOutputArgs added in v0.8.0

type LookupSessionOutputArgs struct {
	DatabaseId pulumi.StringInput    `pulumi:"databaseId"`
	InstanceId pulumi.StringInput    `pulumi:"instanceId"`
	Project    pulumi.StringPtrInput `pulumi:"project"`
	SessionId  pulumi.StringInput    `pulumi:"sessionId"`
}

func (LookupSessionOutputArgs) ElementType added in v0.8.0

func (LookupSessionOutputArgs) ElementType() reflect.Type

type LookupSessionResult added in v0.4.0

type LookupSessionResult struct {
	// The approximate timestamp when the session is last used. It is typically earlier than the actual last use time.
	ApproximateLastUseTime string `pulumi:"approximateLastUseTime"`
	// The timestamp when the session is created.
	CreateTime string `pulumi:"createTime"`
	// The database role which created this session.
	CreatorRole string `pulumi:"creatorRole"`
	// The labels for the session. * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given session. See https://goo.gl/xmQnxf for more information on and examples of labels.
	Labels map[string]string `pulumi:"labels"`
	// The name of the session. This is always system-assigned.
	Name string `pulumi:"name"`
}

func LookupSession added in v0.4.0

func LookupSession(ctx *pulumi.Context, args *LookupSessionArgs, opts ...pulumi.InvokeOption) (*LookupSessionResult, error)

Gets a session. Returns `NOT_FOUND` if the session does not exist. This is mainly useful for determining whether a session is still alive.

type LookupSessionResultOutput added in v0.8.0

type LookupSessionResultOutput struct{ *pulumi.OutputState }

func LookupSessionOutput added in v0.8.0

func LookupSessionOutput(ctx *pulumi.Context, args LookupSessionOutputArgs, opts ...pulumi.InvokeOption) LookupSessionResultOutput

func (LookupSessionResultOutput) ApproximateLastUseTime added in v0.8.0

func (o LookupSessionResultOutput) ApproximateLastUseTime() pulumi.StringOutput

The approximate timestamp when the session is last used. It is typically earlier than the actual last use time.

func (LookupSessionResultOutput) CreateTime added in v0.8.0

The timestamp when the session is created.

func (LookupSessionResultOutput) CreatorRole added in v0.21.0

The database role which created this session.

func (LookupSessionResultOutput) ElementType added in v0.8.0

func (LookupSessionResultOutput) ElementType() reflect.Type

func (LookupSessionResultOutput) Labels added in v0.8.0

The labels for the session. * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given session. See https://goo.gl/xmQnxf for more information on and examples of labels.

func (LookupSessionResultOutput) Name added in v0.8.0

The name of the session. This is always system-assigned.

func (LookupSessionResultOutput) ToLookupSessionResultOutput added in v0.8.0

func (o LookupSessionResultOutput) ToLookupSessionResultOutput() LookupSessionResultOutput

func (LookupSessionResultOutput) ToLookupSessionResultOutputWithContext added in v0.8.0

func (o LookupSessionResultOutput) ToLookupSessionResultOutputWithContext(ctx context.Context) LookupSessionResultOutput

type ReplicaInfo added in v0.26.0

type ReplicaInfo struct {
	// If true, this location is designated as the default leader location where leader replicas are placed. See the [region types documentation](https://cloud.google.com/spanner/docs/instances#region_types) for more details.
	DefaultLeaderLocation *bool `pulumi:"defaultLeaderLocation"`
	// The location of the serving resources, e.g. "us-central1".
	Location *string `pulumi:"location"`
	// The type of replica.
	Type *ReplicaInfoType `pulumi:"type"`
}

type ReplicaInfoArgs added in v0.26.0

type ReplicaInfoArgs struct {
	// If true, this location is designated as the default leader location where leader replicas are placed. See the [region types documentation](https://cloud.google.com/spanner/docs/instances#region_types) for more details.
	DefaultLeaderLocation pulumi.BoolPtrInput `pulumi:"defaultLeaderLocation"`
	// The location of the serving resources, e.g. "us-central1".
	Location pulumi.StringPtrInput `pulumi:"location"`
	// The type of replica.
	Type ReplicaInfoTypePtrInput `pulumi:"type"`
}

func (ReplicaInfoArgs) ElementType added in v0.26.0

func (ReplicaInfoArgs) ElementType() reflect.Type

func (ReplicaInfoArgs) ToReplicaInfoOutput added in v0.26.0

func (i ReplicaInfoArgs) ToReplicaInfoOutput() ReplicaInfoOutput

func (ReplicaInfoArgs) ToReplicaInfoOutputWithContext added in v0.26.0

func (i ReplicaInfoArgs) ToReplicaInfoOutputWithContext(ctx context.Context) ReplicaInfoOutput

type ReplicaInfoArray added in v0.26.0

type ReplicaInfoArray []ReplicaInfoInput

func (ReplicaInfoArray) ElementType added in v0.26.0

func (ReplicaInfoArray) ElementType() reflect.Type

func (ReplicaInfoArray) ToReplicaInfoArrayOutput added in v0.26.0

func (i ReplicaInfoArray) ToReplicaInfoArrayOutput() ReplicaInfoArrayOutput

func (ReplicaInfoArray) ToReplicaInfoArrayOutputWithContext added in v0.26.0

func (i ReplicaInfoArray) ToReplicaInfoArrayOutputWithContext(ctx context.Context) ReplicaInfoArrayOutput

type ReplicaInfoArrayInput added in v0.26.0

type ReplicaInfoArrayInput interface {
	pulumi.Input

	ToReplicaInfoArrayOutput() ReplicaInfoArrayOutput
	ToReplicaInfoArrayOutputWithContext(context.Context) ReplicaInfoArrayOutput
}

ReplicaInfoArrayInput is an input type that accepts ReplicaInfoArray and ReplicaInfoArrayOutput values. You can construct a concrete instance of `ReplicaInfoArrayInput` via:

ReplicaInfoArray{ ReplicaInfoArgs{...} }

type ReplicaInfoArrayOutput added in v0.26.0

type ReplicaInfoArrayOutput struct{ *pulumi.OutputState }

func (ReplicaInfoArrayOutput) ElementType added in v0.26.0

func (ReplicaInfoArrayOutput) ElementType() reflect.Type

func (ReplicaInfoArrayOutput) Index added in v0.26.0

func (ReplicaInfoArrayOutput) ToReplicaInfoArrayOutput added in v0.26.0

func (o ReplicaInfoArrayOutput) ToReplicaInfoArrayOutput() ReplicaInfoArrayOutput

func (ReplicaInfoArrayOutput) ToReplicaInfoArrayOutputWithContext added in v0.26.0

func (o ReplicaInfoArrayOutput) ToReplicaInfoArrayOutputWithContext(ctx context.Context) ReplicaInfoArrayOutput

type ReplicaInfoInput added in v0.26.0

type ReplicaInfoInput interface {
	pulumi.Input

	ToReplicaInfoOutput() ReplicaInfoOutput
	ToReplicaInfoOutputWithContext(context.Context) ReplicaInfoOutput
}

ReplicaInfoInput is an input type that accepts ReplicaInfoArgs and ReplicaInfoOutput values. You can construct a concrete instance of `ReplicaInfoInput` via:

ReplicaInfoArgs{...}

type ReplicaInfoOutput added in v0.26.0

type ReplicaInfoOutput struct{ *pulumi.OutputState }

func (ReplicaInfoOutput) DefaultLeaderLocation added in v0.26.0

func (o ReplicaInfoOutput) DefaultLeaderLocation() pulumi.BoolPtrOutput

If true, this location is designated as the default leader location where leader replicas are placed. See the [region types documentation](https://cloud.google.com/spanner/docs/instances#region_types) for more details.

func (ReplicaInfoOutput) ElementType added in v0.26.0

func (ReplicaInfoOutput) ElementType() reflect.Type

func (ReplicaInfoOutput) Location added in v0.26.0

The location of the serving resources, e.g. "us-central1".

func (ReplicaInfoOutput) ToReplicaInfoOutput added in v0.26.0

func (o ReplicaInfoOutput) ToReplicaInfoOutput() ReplicaInfoOutput

func (ReplicaInfoOutput) ToReplicaInfoOutputWithContext added in v0.26.0

func (o ReplicaInfoOutput) ToReplicaInfoOutputWithContext(ctx context.Context) ReplicaInfoOutput

func (ReplicaInfoOutput) Type added in v0.26.0

The type of replica.

type ReplicaInfoResponse added in v0.26.0

type ReplicaInfoResponse struct {
	// If true, this location is designated as the default leader location where leader replicas are placed. See the [region types documentation](https://cloud.google.com/spanner/docs/instances#region_types) for more details.
	DefaultLeaderLocation bool `pulumi:"defaultLeaderLocation"`
	// The location of the serving resources, e.g. "us-central1".
	Location string `pulumi:"location"`
	// The type of replica.
	Type string `pulumi:"type"`
}

type ReplicaInfoResponseArrayOutput added in v0.26.0

type ReplicaInfoResponseArrayOutput struct{ *pulumi.OutputState }

func (ReplicaInfoResponseArrayOutput) ElementType added in v0.26.0

func (ReplicaInfoResponseArrayOutput) Index added in v0.26.0

func (ReplicaInfoResponseArrayOutput) ToReplicaInfoResponseArrayOutput added in v0.26.0

func (o ReplicaInfoResponseArrayOutput) ToReplicaInfoResponseArrayOutput() ReplicaInfoResponseArrayOutput

func (ReplicaInfoResponseArrayOutput) ToReplicaInfoResponseArrayOutputWithContext added in v0.26.0

func (o ReplicaInfoResponseArrayOutput) ToReplicaInfoResponseArrayOutputWithContext(ctx context.Context) ReplicaInfoResponseArrayOutput

type ReplicaInfoResponseOutput added in v0.26.0

type ReplicaInfoResponseOutput struct{ *pulumi.OutputState }

func (ReplicaInfoResponseOutput) DefaultLeaderLocation added in v0.26.0

func (o ReplicaInfoResponseOutput) DefaultLeaderLocation() pulumi.BoolOutput

If true, this location is designated as the default leader location where leader replicas are placed. See the [region types documentation](https://cloud.google.com/spanner/docs/instances#region_types) for more details.

func (ReplicaInfoResponseOutput) ElementType added in v0.26.0

func (ReplicaInfoResponseOutput) ElementType() reflect.Type

func (ReplicaInfoResponseOutput) Location added in v0.26.0

The location of the serving resources, e.g. "us-central1".

func (ReplicaInfoResponseOutput) ToReplicaInfoResponseOutput added in v0.26.0

func (o ReplicaInfoResponseOutput) ToReplicaInfoResponseOutput() ReplicaInfoResponseOutput

func (ReplicaInfoResponseOutput) ToReplicaInfoResponseOutputWithContext added in v0.26.0

func (o ReplicaInfoResponseOutput) ToReplicaInfoResponseOutputWithContext(ctx context.Context) ReplicaInfoResponseOutput

func (ReplicaInfoResponseOutput) Type added in v0.26.0

The type of replica.

type ReplicaInfoType added in v0.26.0

type ReplicaInfoType string

The type of replica.

func (ReplicaInfoType) ElementType added in v0.26.0

func (ReplicaInfoType) ElementType() reflect.Type

func (ReplicaInfoType) ToReplicaInfoTypeOutput added in v0.26.0

func (e ReplicaInfoType) ToReplicaInfoTypeOutput() ReplicaInfoTypeOutput

func (ReplicaInfoType) ToReplicaInfoTypeOutputWithContext added in v0.26.0

func (e ReplicaInfoType) ToReplicaInfoTypeOutputWithContext(ctx context.Context) ReplicaInfoTypeOutput

func (ReplicaInfoType) ToReplicaInfoTypePtrOutput added in v0.26.0

func (e ReplicaInfoType) ToReplicaInfoTypePtrOutput() ReplicaInfoTypePtrOutput

func (ReplicaInfoType) ToReplicaInfoTypePtrOutputWithContext added in v0.26.0

func (e ReplicaInfoType) ToReplicaInfoTypePtrOutputWithContext(ctx context.Context) ReplicaInfoTypePtrOutput

func (ReplicaInfoType) ToStringOutput added in v0.26.0

func (e ReplicaInfoType) ToStringOutput() pulumi.StringOutput

func (ReplicaInfoType) ToStringOutputWithContext added in v0.26.0

func (e ReplicaInfoType) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (ReplicaInfoType) ToStringPtrOutput added in v0.26.0

func (e ReplicaInfoType) ToStringPtrOutput() pulumi.StringPtrOutput

func (ReplicaInfoType) ToStringPtrOutputWithContext added in v0.26.0

func (e ReplicaInfoType) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type ReplicaInfoTypeInput added in v0.26.0

type ReplicaInfoTypeInput interface {
	pulumi.Input

	ToReplicaInfoTypeOutput() ReplicaInfoTypeOutput
	ToReplicaInfoTypeOutputWithContext(context.Context) ReplicaInfoTypeOutput
}

ReplicaInfoTypeInput is an input type that accepts ReplicaInfoTypeArgs and ReplicaInfoTypeOutput values. You can construct a concrete instance of `ReplicaInfoTypeInput` via:

ReplicaInfoTypeArgs{...}

type ReplicaInfoTypeOutput added in v0.26.0

type ReplicaInfoTypeOutput struct{ *pulumi.OutputState }

func (ReplicaInfoTypeOutput) ElementType added in v0.26.0

func (ReplicaInfoTypeOutput) ElementType() reflect.Type

func (ReplicaInfoTypeOutput) ToReplicaInfoTypeOutput added in v0.26.0

func (o ReplicaInfoTypeOutput) ToReplicaInfoTypeOutput() ReplicaInfoTypeOutput

func (ReplicaInfoTypeOutput) ToReplicaInfoTypeOutputWithContext added in v0.26.0

func (o ReplicaInfoTypeOutput) ToReplicaInfoTypeOutputWithContext(ctx context.Context) ReplicaInfoTypeOutput

func (ReplicaInfoTypeOutput) ToReplicaInfoTypePtrOutput added in v0.26.0

func (o ReplicaInfoTypeOutput) ToReplicaInfoTypePtrOutput() ReplicaInfoTypePtrOutput

func (ReplicaInfoTypeOutput) ToReplicaInfoTypePtrOutputWithContext added in v0.26.0

func (o ReplicaInfoTypeOutput) ToReplicaInfoTypePtrOutputWithContext(ctx context.Context) ReplicaInfoTypePtrOutput

func (ReplicaInfoTypeOutput) ToStringOutput added in v0.26.0

func (o ReplicaInfoTypeOutput) ToStringOutput() pulumi.StringOutput

func (ReplicaInfoTypeOutput) ToStringOutputWithContext added in v0.26.0

func (o ReplicaInfoTypeOutput) ToStringOutputWithContext(ctx context.Context) pulumi.StringOutput

func (ReplicaInfoTypeOutput) ToStringPtrOutput added in v0.26.0

func (o ReplicaInfoTypeOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (ReplicaInfoTypeOutput) ToStringPtrOutputWithContext added in v0.26.0

func (o ReplicaInfoTypeOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type ReplicaInfoTypePtrInput added in v0.26.0

type ReplicaInfoTypePtrInput interface {
	pulumi.Input

	ToReplicaInfoTypePtrOutput() ReplicaInfoTypePtrOutput
	ToReplicaInfoTypePtrOutputWithContext(context.Context) ReplicaInfoTypePtrOutput
}

func ReplicaInfoTypePtr added in v0.26.0

func ReplicaInfoTypePtr(v string) ReplicaInfoTypePtrInput

type ReplicaInfoTypePtrOutput added in v0.26.0

type ReplicaInfoTypePtrOutput struct{ *pulumi.OutputState }

func (ReplicaInfoTypePtrOutput) Elem added in v0.26.0

func (ReplicaInfoTypePtrOutput) ElementType added in v0.26.0

func (ReplicaInfoTypePtrOutput) ElementType() reflect.Type

func (ReplicaInfoTypePtrOutput) ToReplicaInfoTypePtrOutput added in v0.26.0

func (o ReplicaInfoTypePtrOutput) ToReplicaInfoTypePtrOutput() ReplicaInfoTypePtrOutput

func (ReplicaInfoTypePtrOutput) ToReplicaInfoTypePtrOutputWithContext added in v0.26.0

func (o ReplicaInfoTypePtrOutput) ToReplicaInfoTypePtrOutputWithContext(ctx context.Context) ReplicaInfoTypePtrOutput

func (ReplicaInfoTypePtrOutput) ToStringPtrOutput added in v0.26.0

func (o ReplicaInfoTypePtrOutput) ToStringPtrOutput() pulumi.StringPtrOutput

func (ReplicaInfoTypePtrOutput) ToStringPtrOutputWithContext added in v0.26.0

func (o ReplicaInfoTypePtrOutput) ToStringPtrOutputWithContext(ctx context.Context) pulumi.StringPtrOutput

type RestoreInfoResponse

type RestoreInfoResponse struct {
	// Information about the backup used to restore the database. The backup may no longer exist.
	BackupInfo BackupInfoResponse `pulumi:"backupInfo"`
	// The type of the restore source.
	SourceType string `pulumi:"sourceType"`
}

Information about the database restore.

type RestoreInfoResponseOutput

type RestoreInfoResponseOutput struct{ *pulumi.OutputState }

Information about the database restore.

func (RestoreInfoResponseOutput) BackupInfo

Information about the backup used to restore the database. The backup may no longer exist.

func (RestoreInfoResponseOutput) ElementType

func (RestoreInfoResponseOutput) ElementType() reflect.Type

func (RestoreInfoResponseOutput) SourceType

The type of the restore source.

func (RestoreInfoResponseOutput) ToRestoreInfoResponseOutput

func (o RestoreInfoResponseOutput) ToRestoreInfoResponseOutput() RestoreInfoResponseOutput

func (RestoreInfoResponseOutput) ToRestoreInfoResponseOutputWithContext

func (o RestoreInfoResponseOutput) ToRestoreInfoResponseOutputWithContext(ctx context.Context) RestoreInfoResponseOutput

type Session added in v0.3.0

type Session struct {
	pulumi.CustomResourceState

	// The approximate timestamp when the session is last used. It is typically earlier than the actual last use time.
	ApproximateLastUseTime pulumi.StringOutput `pulumi:"approximateLastUseTime"`
	// The timestamp when the session is created.
	CreateTime pulumi.StringOutput `pulumi:"createTime"`
	// The database role which created this session.
	CreatorRole pulumi.StringOutput `pulumi:"creatorRole"`
	DatabaseId  pulumi.StringOutput `pulumi:"databaseId"`
	InstanceId  pulumi.StringOutput `pulumi:"instanceId"`
	// The labels for the session. * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given session. See https://goo.gl/xmQnxf for more information on and examples of labels.
	Labels pulumi.StringMapOutput `pulumi:"labels"`
	// The name of the session. This is always system-assigned.
	Name    pulumi.StringOutput `pulumi:"name"`
	Project pulumi.StringOutput `pulumi:"project"`
}

Creates a new session. A session can be used to perform transactions that read and/or modify data in a Cloud Spanner database. Sessions are meant to be reused for many consecutive transactions. Sessions can only execute one transaction at a time. To execute multiple concurrent read-write/write-only transactions, create multiple sessions. Note that standalone reads and queries use a transaction internally, and count toward the one transaction limit. Active sessions use additional server resources, so it is a good idea to delete idle and unneeded sessions. Aside from explicit deletes, Cloud Spanner may delete sessions for which no operations are sent for more than an hour. If a session is deleted, requests to it return `NOT_FOUND`. Idle sessions can be kept alive by sending a trivial SQL query periodically, e.g., `"SELECT 1"`. Auto-naming is currently not supported for this resource.

func GetSession added in v0.3.0

func GetSession(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *SessionState, opts ...pulumi.ResourceOption) (*Session, error)

GetSession gets an existing Session 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 NewSession added in v0.3.0

func NewSession(ctx *pulumi.Context,
	name string, args *SessionArgs, opts ...pulumi.ResourceOption) (*Session, error)

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

func (*Session) ElementType added in v0.3.0

func (*Session) ElementType() reflect.Type

func (*Session) ToSessionOutput added in v0.3.0

func (i *Session) ToSessionOutput() SessionOutput

func (*Session) ToSessionOutputWithContext added in v0.3.0

func (i *Session) ToSessionOutputWithContext(ctx context.Context) SessionOutput

type SessionArgs added in v0.3.0

type SessionArgs struct {
	// The database role which created this session.
	CreatorRole pulumi.StringPtrInput
	DatabaseId  pulumi.StringInput
	InstanceId  pulumi.StringInput
	// The labels for the session. * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given session. See https://goo.gl/xmQnxf for more information on and examples of labels.
	Labels  pulumi.StringMapInput
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a Session resource.

func (SessionArgs) ElementType added in v0.3.0

func (SessionArgs) ElementType() reflect.Type

type SessionInput added in v0.3.0

type SessionInput interface {
	pulumi.Input

	ToSessionOutput() SessionOutput
	ToSessionOutputWithContext(ctx context.Context) SessionOutput
}

type SessionOutput added in v0.3.0

type SessionOutput struct{ *pulumi.OutputState }

func (SessionOutput) ApproximateLastUseTime added in v0.19.0

func (o SessionOutput) ApproximateLastUseTime() pulumi.StringOutput

The approximate timestamp when the session is last used. It is typically earlier than the actual last use time.

func (SessionOutput) CreateTime added in v0.19.0

func (o SessionOutput) CreateTime() pulumi.StringOutput

The timestamp when the session is created.

func (SessionOutput) CreatorRole added in v0.21.0

func (o SessionOutput) CreatorRole() pulumi.StringOutput

The database role which created this session.

func (SessionOutput) DatabaseId added in v0.21.0

func (o SessionOutput) DatabaseId() pulumi.StringOutput

func (SessionOutput) ElementType added in v0.3.0

func (SessionOutput) ElementType() reflect.Type

func (SessionOutput) InstanceId added in v0.21.0

func (o SessionOutput) InstanceId() pulumi.StringOutput

func (SessionOutput) Labels added in v0.19.0

The labels for the session. * Label keys must be between 1 and 63 characters long and must conform to the following regular expression: `[a-z]([-a-z0-9]*[a-z0-9])?`. * Label values must be between 0 and 63 characters long and must conform to the regular expression `([a-z]([-a-z0-9]*[a-z0-9])?)?`. * No more than 64 labels can be associated with a given session. See https://goo.gl/xmQnxf for more information on and examples of labels.

func (SessionOutput) Name added in v0.19.0

The name of the session. This is always system-assigned.

func (SessionOutput) Project added in v0.21.0

func (o SessionOutput) Project() pulumi.StringOutput

func (SessionOutput) ToSessionOutput added in v0.3.0

func (o SessionOutput) ToSessionOutput() SessionOutput

func (SessionOutput) ToSessionOutputWithContext added in v0.3.0

func (o SessionOutput) ToSessionOutputWithContext(ctx context.Context) SessionOutput

type SessionState added in v0.3.0

type SessionState struct {
}

func (SessionState) ElementType added in v0.3.0

func (SessionState) ElementType() reflect.Type

type StatusResponse

type StatusResponse struct {
	// The status code, which should be an enum value of google.rpc.Code.
	Code int `pulumi:"code"`
	// A list of messages that carry the error details. There is a common set of message types for APIs to use.
	Details []map[string]string `pulumi:"details"`
	// A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
	Message string `pulumi:"message"`
}

The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).

type StatusResponseOutput

type StatusResponseOutput struct{ *pulumi.OutputState }

The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).

func (StatusResponseOutput) Code

The status code, which should be an enum value of google.rpc.Code.

func (StatusResponseOutput) Details

A list of messages that carry the error details. There is a common set of message types for APIs to use.

func (StatusResponseOutput) ElementType

func (StatusResponseOutput) ElementType() reflect.Type

func (StatusResponseOutput) Message

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.

func (StatusResponseOutput) ToStatusResponseOutput

func (o StatusResponseOutput) ToStatusResponseOutput() StatusResponseOutput

func (StatusResponseOutput) ToStatusResponseOutputWithContext

func (o StatusResponseOutput) ToStatusResponseOutputWithContext(ctx context.Context) StatusResponseOutput

Jump to

Keyboard shortcuts

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