runtimeconfig

package
v5.26.0 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2021 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	pulumi.CustomResourceState

	// The description to associate with the runtime
	// config.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the runtime config.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
}

Manages a RuntimeConfig resource in Google Cloud.

!> This resource has been deprecated in the google (GA) provider, and will only be available in the google-beta provider in a future release.

To get more information about RuntimeConfigs, see:

* [API documentation](https://cloud.google.com/deployment-manager/runtime-configurator/reference/rest/v1beta1/projects.configs) * How-to Guides

## Example Usage

Example creating a RuntimeConfig resource.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.NewConfig(ctx, "my_runtime_config", &runtimeconfig.ConfigArgs{
			Description: pulumi.String("Runtime configuration values for my service"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Runtime Configs can be imported using the `name` or full config name, e.g.

```sh

$ pulumi import gcp:runtimeconfig/config:Config myconfig myconfig

```

```sh

$ pulumi import gcp:runtimeconfig/config:Config myconfig projects/my-gcp-project/configs/myconfig

```

When importing using only the name, the provider project must be set.

func GetConfig

func GetConfig(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConfigState, opts ...pulumi.ResourceOption) (*Config, error)

GetConfig gets an existing Config 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 NewConfig

func NewConfig(ctx *pulumi.Context,
	name string, args *ConfigArgs, opts ...pulumi.ResourceOption) (*Config, error)

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

func (*Config) ElementType

func (*Config) ElementType() reflect.Type

func (*Config) ToConfigOutput

func (i *Config) ToConfigOutput() ConfigOutput

func (*Config) ToConfigOutputWithContext

func (i *Config) ToConfigOutputWithContext(ctx context.Context) ConfigOutput

func (*Config) ToConfigPtrOutput

func (i *Config) ToConfigPtrOutput() ConfigPtrOutput

func (*Config) ToConfigPtrOutputWithContext

func (i *Config) ToConfigPtrOutputWithContext(ctx context.Context) ConfigPtrOutput

type ConfigArgs

type ConfigArgs struct {
	// The description to associate with the runtime
	// config.
	Description pulumi.StringPtrInput
	// The name of the runtime config.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a Config resource.

func (ConfigArgs) ElementType

func (ConfigArgs) ElementType() reflect.Type

type ConfigArray

type ConfigArray []ConfigInput

func (ConfigArray) ElementType

func (ConfigArray) ElementType() reflect.Type

func (ConfigArray) ToConfigArrayOutput

func (i ConfigArray) ToConfigArrayOutput() ConfigArrayOutput

func (ConfigArray) ToConfigArrayOutputWithContext

func (i ConfigArray) ToConfigArrayOutputWithContext(ctx context.Context) ConfigArrayOutput

type ConfigArrayInput

type ConfigArrayInput interface {
	pulumi.Input

	ToConfigArrayOutput() ConfigArrayOutput
	ToConfigArrayOutputWithContext(context.Context) ConfigArrayOutput
}

ConfigArrayInput is an input type that accepts ConfigArray and ConfigArrayOutput values. You can construct a concrete instance of `ConfigArrayInput` via:

ConfigArray{ ConfigArgs{...} }

type ConfigArrayOutput

type ConfigArrayOutput struct{ *pulumi.OutputState }

func (ConfigArrayOutput) ElementType

func (ConfigArrayOutput) ElementType() reflect.Type

func (ConfigArrayOutput) Index

func (ConfigArrayOutput) ToConfigArrayOutput

func (o ConfigArrayOutput) ToConfigArrayOutput() ConfigArrayOutput

func (ConfigArrayOutput) ToConfigArrayOutputWithContext

func (o ConfigArrayOutput) ToConfigArrayOutputWithContext(ctx context.Context) ConfigArrayOutput

type ConfigIamBinding

type ConfigIamBinding struct {
	pulumi.CustomResourceState

	Condition ConfigIamBindingConditionPtrOutput `pulumi:"condition"`
	// Used to find the parent resource to bind the IAM policy to
	Config pulumi.StringOutput `pulumi:"config"`
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	Members pulumi.StringArrayOutput `pulumi:"members"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `runtimeconfig.ConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Runtime Configurator Config. Each of these resources serves a different use case:

* `runtimeconfig.ConfigIamPolicy`: Authoritative. Sets the IAM policy for the config and replaces any existing policy already attached. * `runtimeconfig.ConfigIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the config are preserved. * `runtimeconfig.ConfigIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the config are preserved.

> **Note:** `runtimeconfig.ConfigIamPolicy` **cannot** be used in conjunction with `runtimeconfig.ConfigIamBinding` and `runtimeconfig.ConfigIamMember` or they will fight over what your policy should be.

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

## google\_runtimeconfig\_config\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## google\_runtimeconfig\_config\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.NewConfigIamBinding(ctx, "binding", &runtimeconfig.ConfigIamBindingArgs{
			Project: pulumi.Any(google_runtimeconfig_config.Config.Project),
			Config:  pulumi.Any(google_runtimeconfig_config.Config.Name),
			Role:    pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_runtimeconfig\_config\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.NewConfigIamMember(ctx, "member", &runtimeconfig.ConfigIamMemberArgs{
			Project: pulumi.Any(google_runtimeconfig_config.Config.Project),
			Config:  pulumi.Any(google_runtimeconfig_config.Config.Name),
			Role:    pulumi.String("roles/viewer"),
			Member:  pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/configs/{{config}} * {{project}}/{{config}} * {{config}} Any variables not passed in the import command will be taken from the provider configuration. Runtime Configurator config IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:runtimeconfig/configIamBinding:ConfigIamBinding editor "projects/{{project}}/configs/{{config}} roles/viewer user:jane@example.com"

```

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

```sh

$ pulumi import gcp:runtimeconfig/configIamBinding:ConfigIamBinding editor "projects/{{project}}/configs/{{config}} roles/viewer"

```

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

```sh

$ pulumi import gcp:runtimeconfig/configIamBinding:ConfigIamBinding editor projects/{{project}}/configs/{{config}}

```

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

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

func GetConfigIamBinding

func GetConfigIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConfigIamBindingState, opts ...pulumi.ResourceOption) (*ConfigIamBinding, error)

GetConfigIamBinding gets an existing ConfigIamBinding 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 NewConfigIamBinding

func NewConfigIamBinding(ctx *pulumi.Context,
	name string, args *ConfigIamBindingArgs, opts ...pulumi.ResourceOption) (*ConfigIamBinding, error)

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

func (*ConfigIamBinding) ElementType

func (*ConfigIamBinding) ElementType() reflect.Type

func (*ConfigIamBinding) ToConfigIamBindingOutput

func (i *ConfigIamBinding) ToConfigIamBindingOutput() ConfigIamBindingOutput

func (*ConfigIamBinding) ToConfigIamBindingOutputWithContext

func (i *ConfigIamBinding) ToConfigIamBindingOutputWithContext(ctx context.Context) ConfigIamBindingOutput

func (*ConfigIamBinding) ToConfigIamBindingPtrOutput

func (i *ConfigIamBinding) ToConfigIamBindingPtrOutput() ConfigIamBindingPtrOutput

func (*ConfigIamBinding) ToConfigIamBindingPtrOutputWithContext

func (i *ConfigIamBinding) ToConfigIamBindingPtrOutputWithContext(ctx context.Context) ConfigIamBindingPtrOutput

type ConfigIamBindingArgs

type ConfigIamBindingArgs struct {
	Condition ConfigIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Config  pulumi.StringInput
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `runtimeconfig.ConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a ConfigIamBinding resource.

func (ConfigIamBindingArgs) ElementType

func (ConfigIamBindingArgs) ElementType() reflect.Type

type ConfigIamBindingArray

type ConfigIamBindingArray []ConfigIamBindingInput

func (ConfigIamBindingArray) ElementType

func (ConfigIamBindingArray) ElementType() reflect.Type

func (ConfigIamBindingArray) ToConfigIamBindingArrayOutput

func (i ConfigIamBindingArray) ToConfigIamBindingArrayOutput() ConfigIamBindingArrayOutput

func (ConfigIamBindingArray) ToConfigIamBindingArrayOutputWithContext

func (i ConfigIamBindingArray) ToConfigIamBindingArrayOutputWithContext(ctx context.Context) ConfigIamBindingArrayOutput

type ConfigIamBindingArrayInput

type ConfigIamBindingArrayInput interface {
	pulumi.Input

	ToConfigIamBindingArrayOutput() ConfigIamBindingArrayOutput
	ToConfigIamBindingArrayOutputWithContext(context.Context) ConfigIamBindingArrayOutput
}

ConfigIamBindingArrayInput is an input type that accepts ConfigIamBindingArray and ConfigIamBindingArrayOutput values. You can construct a concrete instance of `ConfigIamBindingArrayInput` via:

ConfigIamBindingArray{ ConfigIamBindingArgs{...} }

type ConfigIamBindingArrayOutput

type ConfigIamBindingArrayOutput struct{ *pulumi.OutputState }

func (ConfigIamBindingArrayOutput) ElementType

func (ConfigIamBindingArrayOutput) Index

func (ConfigIamBindingArrayOutput) ToConfigIamBindingArrayOutput

func (o ConfigIamBindingArrayOutput) ToConfigIamBindingArrayOutput() ConfigIamBindingArrayOutput

func (ConfigIamBindingArrayOutput) ToConfigIamBindingArrayOutputWithContext

func (o ConfigIamBindingArrayOutput) ToConfigIamBindingArrayOutputWithContext(ctx context.Context) ConfigIamBindingArrayOutput

type ConfigIamBindingCondition

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

type ConfigIamBindingConditionArgs

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

func (ConfigIamBindingConditionArgs) ElementType

func (ConfigIamBindingConditionArgs) ToConfigIamBindingConditionOutput

func (i ConfigIamBindingConditionArgs) ToConfigIamBindingConditionOutput() ConfigIamBindingConditionOutput

func (ConfigIamBindingConditionArgs) ToConfigIamBindingConditionOutputWithContext

func (i ConfigIamBindingConditionArgs) ToConfigIamBindingConditionOutputWithContext(ctx context.Context) ConfigIamBindingConditionOutput

func (ConfigIamBindingConditionArgs) ToConfigIamBindingConditionPtrOutput

func (i ConfigIamBindingConditionArgs) ToConfigIamBindingConditionPtrOutput() ConfigIamBindingConditionPtrOutput

func (ConfigIamBindingConditionArgs) ToConfigIamBindingConditionPtrOutputWithContext

func (i ConfigIamBindingConditionArgs) ToConfigIamBindingConditionPtrOutputWithContext(ctx context.Context) ConfigIamBindingConditionPtrOutput

type ConfigIamBindingConditionInput

type ConfigIamBindingConditionInput interface {
	pulumi.Input

	ToConfigIamBindingConditionOutput() ConfigIamBindingConditionOutput
	ToConfigIamBindingConditionOutputWithContext(context.Context) ConfigIamBindingConditionOutput
}

ConfigIamBindingConditionInput is an input type that accepts ConfigIamBindingConditionArgs and ConfigIamBindingConditionOutput values. You can construct a concrete instance of `ConfigIamBindingConditionInput` via:

ConfigIamBindingConditionArgs{...}

type ConfigIamBindingConditionOutput

type ConfigIamBindingConditionOutput struct{ *pulumi.OutputState }

func (ConfigIamBindingConditionOutput) Description

func (ConfigIamBindingConditionOutput) ElementType

func (ConfigIamBindingConditionOutput) Expression

func (ConfigIamBindingConditionOutput) Title

func (ConfigIamBindingConditionOutput) ToConfigIamBindingConditionOutput

func (o ConfigIamBindingConditionOutput) ToConfigIamBindingConditionOutput() ConfigIamBindingConditionOutput

func (ConfigIamBindingConditionOutput) ToConfigIamBindingConditionOutputWithContext

func (o ConfigIamBindingConditionOutput) ToConfigIamBindingConditionOutputWithContext(ctx context.Context) ConfigIamBindingConditionOutput

func (ConfigIamBindingConditionOutput) ToConfigIamBindingConditionPtrOutput

func (o ConfigIamBindingConditionOutput) ToConfigIamBindingConditionPtrOutput() ConfigIamBindingConditionPtrOutput

func (ConfigIamBindingConditionOutput) ToConfigIamBindingConditionPtrOutputWithContext

func (o ConfigIamBindingConditionOutput) ToConfigIamBindingConditionPtrOutputWithContext(ctx context.Context) ConfigIamBindingConditionPtrOutput

type ConfigIamBindingConditionPtrInput

type ConfigIamBindingConditionPtrInput interface {
	pulumi.Input

	ToConfigIamBindingConditionPtrOutput() ConfigIamBindingConditionPtrOutput
	ToConfigIamBindingConditionPtrOutputWithContext(context.Context) ConfigIamBindingConditionPtrOutput
}

ConfigIamBindingConditionPtrInput is an input type that accepts ConfigIamBindingConditionArgs, ConfigIamBindingConditionPtr and ConfigIamBindingConditionPtrOutput values. You can construct a concrete instance of `ConfigIamBindingConditionPtrInput` via:

        ConfigIamBindingConditionArgs{...}

or:

        nil

type ConfigIamBindingConditionPtrOutput

type ConfigIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (ConfigIamBindingConditionPtrOutput) Description

func (ConfigIamBindingConditionPtrOutput) Elem

func (ConfigIamBindingConditionPtrOutput) ElementType

func (ConfigIamBindingConditionPtrOutput) Expression

func (ConfigIamBindingConditionPtrOutput) Title

func (ConfigIamBindingConditionPtrOutput) ToConfigIamBindingConditionPtrOutput

func (o ConfigIamBindingConditionPtrOutput) ToConfigIamBindingConditionPtrOutput() ConfigIamBindingConditionPtrOutput

func (ConfigIamBindingConditionPtrOutput) ToConfigIamBindingConditionPtrOutputWithContext

func (o ConfigIamBindingConditionPtrOutput) ToConfigIamBindingConditionPtrOutputWithContext(ctx context.Context) ConfigIamBindingConditionPtrOutput

type ConfigIamBindingInput

type ConfigIamBindingInput interface {
	pulumi.Input

	ToConfigIamBindingOutput() ConfigIamBindingOutput
	ToConfigIamBindingOutputWithContext(ctx context.Context) ConfigIamBindingOutput
}

type ConfigIamBindingMap

type ConfigIamBindingMap map[string]ConfigIamBindingInput

func (ConfigIamBindingMap) ElementType

func (ConfigIamBindingMap) ElementType() reflect.Type

func (ConfigIamBindingMap) ToConfigIamBindingMapOutput

func (i ConfigIamBindingMap) ToConfigIamBindingMapOutput() ConfigIamBindingMapOutput

func (ConfigIamBindingMap) ToConfigIamBindingMapOutputWithContext

func (i ConfigIamBindingMap) ToConfigIamBindingMapOutputWithContext(ctx context.Context) ConfigIamBindingMapOutput

type ConfigIamBindingMapInput

type ConfigIamBindingMapInput interface {
	pulumi.Input

	ToConfigIamBindingMapOutput() ConfigIamBindingMapOutput
	ToConfigIamBindingMapOutputWithContext(context.Context) ConfigIamBindingMapOutput
}

ConfigIamBindingMapInput is an input type that accepts ConfigIamBindingMap and ConfigIamBindingMapOutput values. You can construct a concrete instance of `ConfigIamBindingMapInput` via:

ConfigIamBindingMap{ "key": ConfigIamBindingArgs{...} }

type ConfigIamBindingMapOutput

type ConfigIamBindingMapOutput struct{ *pulumi.OutputState }

func (ConfigIamBindingMapOutput) ElementType

func (ConfigIamBindingMapOutput) ElementType() reflect.Type

func (ConfigIamBindingMapOutput) MapIndex

func (ConfigIamBindingMapOutput) ToConfigIamBindingMapOutput

func (o ConfigIamBindingMapOutput) ToConfigIamBindingMapOutput() ConfigIamBindingMapOutput

func (ConfigIamBindingMapOutput) ToConfigIamBindingMapOutputWithContext

func (o ConfigIamBindingMapOutput) ToConfigIamBindingMapOutputWithContext(ctx context.Context) ConfigIamBindingMapOutput

type ConfigIamBindingOutput

type ConfigIamBindingOutput struct{ *pulumi.OutputState }

func (ConfigIamBindingOutput) ElementType

func (ConfigIamBindingOutput) ElementType() reflect.Type

func (ConfigIamBindingOutput) ToConfigIamBindingOutput

func (o ConfigIamBindingOutput) ToConfigIamBindingOutput() ConfigIamBindingOutput

func (ConfigIamBindingOutput) ToConfigIamBindingOutputWithContext

func (o ConfigIamBindingOutput) ToConfigIamBindingOutputWithContext(ctx context.Context) ConfigIamBindingOutput

func (ConfigIamBindingOutput) ToConfigIamBindingPtrOutput

func (o ConfigIamBindingOutput) ToConfigIamBindingPtrOutput() ConfigIamBindingPtrOutput

func (ConfigIamBindingOutput) ToConfigIamBindingPtrOutputWithContext

func (o ConfigIamBindingOutput) ToConfigIamBindingPtrOutputWithContext(ctx context.Context) ConfigIamBindingPtrOutput

type ConfigIamBindingPtrInput

type ConfigIamBindingPtrInput interface {
	pulumi.Input

	ToConfigIamBindingPtrOutput() ConfigIamBindingPtrOutput
	ToConfigIamBindingPtrOutputWithContext(ctx context.Context) ConfigIamBindingPtrOutput
}

type ConfigIamBindingPtrOutput

type ConfigIamBindingPtrOutput struct{ *pulumi.OutputState }

func (ConfigIamBindingPtrOutput) Elem added in v5.21.0

func (ConfigIamBindingPtrOutput) ElementType

func (ConfigIamBindingPtrOutput) ElementType() reflect.Type

func (ConfigIamBindingPtrOutput) ToConfigIamBindingPtrOutput

func (o ConfigIamBindingPtrOutput) ToConfigIamBindingPtrOutput() ConfigIamBindingPtrOutput

func (ConfigIamBindingPtrOutput) ToConfigIamBindingPtrOutputWithContext

func (o ConfigIamBindingPtrOutput) ToConfigIamBindingPtrOutputWithContext(ctx context.Context) ConfigIamBindingPtrOutput

type ConfigIamBindingState

type ConfigIamBindingState struct {
	Condition ConfigIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Config pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `runtimeconfig.ConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (ConfigIamBindingState) ElementType

func (ConfigIamBindingState) ElementType() reflect.Type

type ConfigIamMember

type ConfigIamMember struct {
	pulumi.CustomResourceState

	Condition ConfigIamMemberConditionPtrOutput `pulumi:"condition"`
	// Used to find the parent resource to bind the IAM policy to
	Config pulumi.StringOutput `pulumi:"config"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	Member pulumi.StringOutput `pulumi:"member"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// The role that should be applied. Only one
	// `runtimeconfig.ConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringOutput `pulumi:"role"`
}

Three different resources help you manage your IAM policy for Runtime Configurator Config. Each of these resources serves a different use case:

* `runtimeconfig.ConfigIamPolicy`: Authoritative. Sets the IAM policy for the config and replaces any existing policy already attached. * `runtimeconfig.ConfigIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the config are preserved. * `runtimeconfig.ConfigIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the config are preserved.

> **Note:** `runtimeconfig.ConfigIamPolicy` **cannot** be used in conjunction with `runtimeconfig.ConfigIamBinding` and `runtimeconfig.ConfigIamMember` or they will fight over what your policy should be.

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

## google\_runtimeconfig\_config\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## google\_runtimeconfig\_config\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.NewConfigIamBinding(ctx, "binding", &runtimeconfig.ConfigIamBindingArgs{
			Project: pulumi.Any(google_runtimeconfig_config.Config.Project),
			Config:  pulumi.Any(google_runtimeconfig_config.Config.Name),
			Role:    pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_runtimeconfig\_config\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.NewConfigIamMember(ctx, "member", &runtimeconfig.ConfigIamMemberArgs{
			Project: pulumi.Any(google_runtimeconfig_config.Config.Project),
			Config:  pulumi.Any(google_runtimeconfig_config.Config.Name),
			Role:    pulumi.String("roles/viewer"),
			Member:  pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/configs/{{config}} * {{project}}/{{config}} * {{config}} Any variables not passed in the import command will be taken from the provider configuration. Runtime Configurator config IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:runtimeconfig/configIamMember:ConfigIamMember editor "projects/{{project}}/configs/{{config}} roles/viewer user:jane@example.com"

```

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

```sh

$ pulumi import gcp:runtimeconfig/configIamMember:ConfigIamMember editor "projects/{{project}}/configs/{{config}} roles/viewer"

```

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

```sh

$ pulumi import gcp:runtimeconfig/configIamMember:ConfigIamMember editor projects/{{project}}/configs/{{config}}

```

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

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

func GetConfigIamMember

func GetConfigIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConfigIamMemberState, opts ...pulumi.ResourceOption) (*ConfigIamMember, error)

GetConfigIamMember gets an existing ConfigIamMember 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 NewConfigIamMember

func NewConfigIamMember(ctx *pulumi.Context,
	name string, args *ConfigIamMemberArgs, opts ...pulumi.ResourceOption) (*ConfigIamMember, error)

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

func (*ConfigIamMember) ElementType

func (*ConfigIamMember) ElementType() reflect.Type

func (*ConfigIamMember) ToConfigIamMemberOutput

func (i *ConfigIamMember) ToConfigIamMemberOutput() ConfigIamMemberOutput

func (*ConfigIamMember) ToConfigIamMemberOutputWithContext

func (i *ConfigIamMember) ToConfigIamMemberOutputWithContext(ctx context.Context) ConfigIamMemberOutput

func (*ConfigIamMember) ToConfigIamMemberPtrOutput

func (i *ConfigIamMember) ToConfigIamMemberPtrOutput() ConfigIamMemberPtrOutput

func (*ConfigIamMember) ToConfigIamMemberPtrOutputWithContext

func (i *ConfigIamMember) ToConfigIamMemberPtrOutputWithContext(ctx context.Context) ConfigIamMemberPtrOutput

type ConfigIamMemberArgs

type ConfigIamMemberArgs struct {
	Condition ConfigIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Config pulumi.StringInput
	Member pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `runtimeconfig.ConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringInput
}

The set of arguments for constructing a ConfigIamMember resource.

func (ConfigIamMemberArgs) ElementType

func (ConfigIamMemberArgs) ElementType() reflect.Type

type ConfigIamMemberArray

type ConfigIamMemberArray []ConfigIamMemberInput

func (ConfigIamMemberArray) ElementType

func (ConfigIamMemberArray) ElementType() reflect.Type

func (ConfigIamMemberArray) ToConfigIamMemberArrayOutput

func (i ConfigIamMemberArray) ToConfigIamMemberArrayOutput() ConfigIamMemberArrayOutput

func (ConfigIamMemberArray) ToConfigIamMemberArrayOutputWithContext

func (i ConfigIamMemberArray) ToConfigIamMemberArrayOutputWithContext(ctx context.Context) ConfigIamMemberArrayOutput

type ConfigIamMemberArrayInput

type ConfigIamMemberArrayInput interface {
	pulumi.Input

	ToConfigIamMemberArrayOutput() ConfigIamMemberArrayOutput
	ToConfigIamMemberArrayOutputWithContext(context.Context) ConfigIamMemberArrayOutput
}

ConfigIamMemberArrayInput is an input type that accepts ConfigIamMemberArray and ConfigIamMemberArrayOutput values. You can construct a concrete instance of `ConfigIamMemberArrayInput` via:

ConfigIamMemberArray{ ConfigIamMemberArgs{...} }

type ConfigIamMemberArrayOutput

type ConfigIamMemberArrayOutput struct{ *pulumi.OutputState }

func (ConfigIamMemberArrayOutput) ElementType

func (ConfigIamMemberArrayOutput) ElementType() reflect.Type

func (ConfigIamMemberArrayOutput) Index

func (ConfigIamMemberArrayOutput) ToConfigIamMemberArrayOutput

func (o ConfigIamMemberArrayOutput) ToConfigIamMemberArrayOutput() ConfigIamMemberArrayOutput

func (ConfigIamMemberArrayOutput) ToConfigIamMemberArrayOutputWithContext

func (o ConfigIamMemberArrayOutput) ToConfigIamMemberArrayOutputWithContext(ctx context.Context) ConfigIamMemberArrayOutput

type ConfigIamMemberCondition

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

type ConfigIamMemberConditionArgs

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

func (ConfigIamMemberConditionArgs) ElementType

func (ConfigIamMemberConditionArgs) ToConfigIamMemberConditionOutput

func (i ConfigIamMemberConditionArgs) ToConfigIamMemberConditionOutput() ConfigIamMemberConditionOutput

func (ConfigIamMemberConditionArgs) ToConfigIamMemberConditionOutputWithContext

func (i ConfigIamMemberConditionArgs) ToConfigIamMemberConditionOutputWithContext(ctx context.Context) ConfigIamMemberConditionOutput

func (ConfigIamMemberConditionArgs) ToConfigIamMemberConditionPtrOutput

func (i ConfigIamMemberConditionArgs) ToConfigIamMemberConditionPtrOutput() ConfigIamMemberConditionPtrOutput

func (ConfigIamMemberConditionArgs) ToConfigIamMemberConditionPtrOutputWithContext

func (i ConfigIamMemberConditionArgs) ToConfigIamMemberConditionPtrOutputWithContext(ctx context.Context) ConfigIamMemberConditionPtrOutput

type ConfigIamMemberConditionInput

type ConfigIamMemberConditionInput interface {
	pulumi.Input

	ToConfigIamMemberConditionOutput() ConfigIamMemberConditionOutput
	ToConfigIamMemberConditionOutputWithContext(context.Context) ConfigIamMemberConditionOutput
}

ConfigIamMemberConditionInput is an input type that accepts ConfigIamMemberConditionArgs and ConfigIamMemberConditionOutput values. You can construct a concrete instance of `ConfigIamMemberConditionInput` via:

ConfigIamMemberConditionArgs{...}

type ConfigIamMemberConditionOutput

type ConfigIamMemberConditionOutput struct{ *pulumi.OutputState }

func (ConfigIamMemberConditionOutput) Description

func (ConfigIamMemberConditionOutput) ElementType

func (ConfigIamMemberConditionOutput) Expression

func (ConfigIamMemberConditionOutput) Title

func (ConfigIamMemberConditionOutput) ToConfigIamMemberConditionOutput

func (o ConfigIamMemberConditionOutput) ToConfigIamMemberConditionOutput() ConfigIamMemberConditionOutput

func (ConfigIamMemberConditionOutput) ToConfigIamMemberConditionOutputWithContext

func (o ConfigIamMemberConditionOutput) ToConfigIamMemberConditionOutputWithContext(ctx context.Context) ConfigIamMemberConditionOutput

func (ConfigIamMemberConditionOutput) ToConfigIamMemberConditionPtrOutput

func (o ConfigIamMemberConditionOutput) ToConfigIamMemberConditionPtrOutput() ConfigIamMemberConditionPtrOutput

func (ConfigIamMemberConditionOutput) ToConfigIamMemberConditionPtrOutputWithContext

func (o ConfigIamMemberConditionOutput) ToConfigIamMemberConditionPtrOutputWithContext(ctx context.Context) ConfigIamMemberConditionPtrOutput

type ConfigIamMemberConditionPtrInput

type ConfigIamMemberConditionPtrInput interface {
	pulumi.Input

	ToConfigIamMemberConditionPtrOutput() ConfigIamMemberConditionPtrOutput
	ToConfigIamMemberConditionPtrOutputWithContext(context.Context) ConfigIamMemberConditionPtrOutput
}

ConfigIamMemberConditionPtrInput is an input type that accepts ConfigIamMemberConditionArgs, ConfigIamMemberConditionPtr and ConfigIamMemberConditionPtrOutput values. You can construct a concrete instance of `ConfigIamMemberConditionPtrInput` via:

        ConfigIamMemberConditionArgs{...}

or:

        nil

type ConfigIamMemberConditionPtrOutput

type ConfigIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (ConfigIamMemberConditionPtrOutput) Description

func (ConfigIamMemberConditionPtrOutput) Elem

func (ConfigIamMemberConditionPtrOutput) ElementType

func (ConfigIamMemberConditionPtrOutput) Expression

func (ConfigIamMemberConditionPtrOutput) Title

func (ConfigIamMemberConditionPtrOutput) ToConfigIamMemberConditionPtrOutput

func (o ConfigIamMemberConditionPtrOutput) ToConfigIamMemberConditionPtrOutput() ConfigIamMemberConditionPtrOutput

func (ConfigIamMemberConditionPtrOutput) ToConfigIamMemberConditionPtrOutputWithContext

func (o ConfigIamMemberConditionPtrOutput) ToConfigIamMemberConditionPtrOutputWithContext(ctx context.Context) ConfigIamMemberConditionPtrOutput

type ConfigIamMemberInput

type ConfigIamMemberInput interface {
	pulumi.Input

	ToConfigIamMemberOutput() ConfigIamMemberOutput
	ToConfigIamMemberOutputWithContext(ctx context.Context) ConfigIamMemberOutput
}

type ConfigIamMemberMap

type ConfigIamMemberMap map[string]ConfigIamMemberInput

func (ConfigIamMemberMap) ElementType

func (ConfigIamMemberMap) ElementType() reflect.Type

func (ConfigIamMemberMap) ToConfigIamMemberMapOutput

func (i ConfigIamMemberMap) ToConfigIamMemberMapOutput() ConfigIamMemberMapOutput

func (ConfigIamMemberMap) ToConfigIamMemberMapOutputWithContext

func (i ConfigIamMemberMap) ToConfigIamMemberMapOutputWithContext(ctx context.Context) ConfigIamMemberMapOutput

type ConfigIamMemberMapInput

type ConfigIamMemberMapInput interface {
	pulumi.Input

	ToConfigIamMemberMapOutput() ConfigIamMemberMapOutput
	ToConfigIamMemberMapOutputWithContext(context.Context) ConfigIamMemberMapOutput
}

ConfigIamMemberMapInput is an input type that accepts ConfigIamMemberMap and ConfigIamMemberMapOutput values. You can construct a concrete instance of `ConfigIamMemberMapInput` via:

ConfigIamMemberMap{ "key": ConfigIamMemberArgs{...} }

type ConfigIamMemberMapOutput

type ConfigIamMemberMapOutput struct{ *pulumi.OutputState }

func (ConfigIamMemberMapOutput) ElementType

func (ConfigIamMemberMapOutput) ElementType() reflect.Type

func (ConfigIamMemberMapOutput) MapIndex

func (ConfigIamMemberMapOutput) ToConfigIamMemberMapOutput

func (o ConfigIamMemberMapOutput) ToConfigIamMemberMapOutput() ConfigIamMemberMapOutput

func (ConfigIamMemberMapOutput) ToConfigIamMemberMapOutputWithContext

func (o ConfigIamMemberMapOutput) ToConfigIamMemberMapOutputWithContext(ctx context.Context) ConfigIamMemberMapOutput

type ConfigIamMemberOutput

type ConfigIamMemberOutput struct{ *pulumi.OutputState }

func (ConfigIamMemberOutput) ElementType

func (ConfigIamMemberOutput) ElementType() reflect.Type

func (ConfigIamMemberOutput) ToConfigIamMemberOutput

func (o ConfigIamMemberOutput) ToConfigIamMemberOutput() ConfigIamMemberOutput

func (ConfigIamMemberOutput) ToConfigIamMemberOutputWithContext

func (o ConfigIamMemberOutput) ToConfigIamMemberOutputWithContext(ctx context.Context) ConfigIamMemberOutput

func (ConfigIamMemberOutput) ToConfigIamMemberPtrOutput

func (o ConfigIamMemberOutput) ToConfigIamMemberPtrOutput() ConfigIamMemberPtrOutput

func (ConfigIamMemberOutput) ToConfigIamMemberPtrOutputWithContext

func (o ConfigIamMemberOutput) ToConfigIamMemberPtrOutputWithContext(ctx context.Context) ConfigIamMemberPtrOutput

type ConfigIamMemberPtrInput

type ConfigIamMemberPtrInput interface {
	pulumi.Input

	ToConfigIamMemberPtrOutput() ConfigIamMemberPtrOutput
	ToConfigIamMemberPtrOutputWithContext(ctx context.Context) ConfigIamMemberPtrOutput
}

type ConfigIamMemberPtrOutput

type ConfigIamMemberPtrOutput struct{ *pulumi.OutputState }

func (ConfigIamMemberPtrOutput) Elem added in v5.21.0

func (ConfigIamMemberPtrOutput) ElementType

func (ConfigIamMemberPtrOutput) ElementType() reflect.Type

func (ConfigIamMemberPtrOutput) ToConfigIamMemberPtrOutput

func (o ConfigIamMemberPtrOutput) ToConfigIamMemberPtrOutput() ConfigIamMemberPtrOutput

func (ConfigIamMemberPtrOutput) ToConfigIamMemberPtrOutputWithContext

func (o ConfigIamMemberPtrOutput) ToConfigIamMemberPtrOutputWithContext(ctx context.Context) ConfigIamMemberPtrOutput

type ConfigIamMemberState

type ConfigIamMemberState struct {
	Condition ConfigIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	Config pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `runtimeconfig.ConfigIamBinding` can be used per role. Note that custom roles must be of the format
	// `[projects|organizations]/{parent-name}/roles/{role-name}`.
	Role pulumi.StringPtrInput
}

func (ConfigIamMemberState) ElementType

func (ConfigIamMemberState) ElementType() reflect.Type

type ConfigIamPolicy

type ConfigIamPolicy struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	Config pulumi.StringOutput `pulumi:"config"`
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringOutput `pulumi:"etag"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
}

Three different resources help you manage your IAM policy for Runtime Configurator Config. Each of these resources serves a different use case:

* `runtimeconfig.ConfigIamPolicy`: Authoritative. Sets the IAM policy for the config and replaces any existing policy already attached. * `runtimeconfig.ConfigIamBinding`: Authoritative for a given role. Updates the IAM policy to grant a role to a list of members. Other roles within the IAM policy for the config are preserved. * `runtimeconfig.ConfigIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the config are preserved.

> **Note:** `runtimeconfig.ConfigIamPolicy` **cannot** be used in conjunction with `runtimeconfig.ConfigIamBinding` and `runtimeconfig.ConfigIamMember` or they will fight over what your policy should be.

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

## google\_runtimeconfig\_config\_iam\_policy

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

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

```

## google\_runtimeconfig\_config\_iam\_binding

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.NewConfigIamBinding(ctx, "binding", &runtimeconfig.ConfigIamBindingArgs{
			Project: pulumi.Any(google_runtimeconfig_config.Config.Project),
			Config:  pulumi.Any(google_runtimeconfig_config.Config.Name),
			Role:    pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_runtimeconfig\_config\_iam\_member

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.NewConfigIamMember(ctx, "member", &runtimeconfig.ConfigIamMemberArgs{
			Project: pulumi.Any(google_runtimeconfig_config.Config.Project),
			Config:  pulumi.Any(google_runtimeconfig_config.Config.Name),
			Role:    pulumi.String("roles/viewer"),
			Member:  pulumi.String("user:jane@example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/configs/{{config}} * {{project}}/{{config}} * {{config}} Any variables not passed in the import command will be taken from the provider configuration. Runtime Configurator config IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.

```sh

$ pulumi import gcp:runtimeconfig/configIamPolicy:ConfigIamPolicy editor "projects/{{project}}/configs/{{config}} roles/viewer user:jane@example.com"

```

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

```sh

$ pulumi import gcp:runtimeconfig/configIamPolicy:ConfigIamPolicy editor "projects/{{project}}/configs/{{config}} roles/viewer"

```

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

```sh

$ pulumi import gcp:runtimeconfig/configIamPolicy:ConfigIamPolicy editor projects/{{project}}/configs/{{config}}

```

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

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

func GetConfigIamPolicy

func GetConfigIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ConfigIamPolicyState, opts ...pulumi.ResourceOption) (*ConfigIamPolicy, error)

GetConfigIamPolicy gets an existing ConfigIamPolicy 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 NewConfigIamPolicy

func NewConfigIamPolicy(ctx *pulumi.Context,
	name string, args *ConfigIamPolicyArgs, opts ...pulumi.ResourceOption) (*ConfigIamPolicy, error)

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

func (*ConfigIamPolicy) ElementType

func (*ConfigIamPolicy) ElementType() reflect.Type

func (*ConfigIamPolicy) ToConfigIamPolicyOutput

func (i *ConfigIamPolicy) ToConfigIamPolicyOutput() ConfigIamPolicyOutput

func (*ConfigIamPolicy) ToConfigIamPolicyOutputWithContext

func (i *ConfigIamPolicy) ToConfigIamPolicyOutputWithContext(ctx context.Context) ConfigIamPolicyOutput

func (*ConfigIamPolicy) ToConfigIamPolicyPtrOutput

func (i *ConfigIamPolicy) ToConfigIamPolicyPtrOutput() ConfigIamPolicyPtrOutput

func (*ConfigIamPolicy) ToConfigIamPolicyPtrOutputWithContext

func (i *ConfigIamPolicy) ToConfigIamPolicyPtrOutputWithContext(ctx context.Context) ConfigIamPolicyPtrOutput

type ConfigIamPolicyArgs

type ConfigIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	Config pulumi.StringInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
}

The set of arguments for constructing a ConfigIamPolicy resource.

func (ConfigIamPolicyArgs) ElementType

func (ConfigIamPolicyArgs) ElementType() reflect.Type

type ConfigIamPolicyArray

type ConfigIamPolicyArray []ConfigIamPolicyInput

func (ConfigIamPolicyArray) ElementType

func (ConfigIamPolicyArray) ElementType() reflect.Type

func (ConfigIamPolicyArray) ToConfigIamPolicyArrayOutput

func (i ConfigIamPolicyArray) ToConfigIamPolicyArrayOutput() ConfigIamPolicyArrayOutput

func (ConfigIamPolicyArray) ToConfigIamPolicyArrayOutputWithContext

func (i ConfigIamPolicyArray) ToConfigIamPolicyArrayOutputWithContext(ctx context.Context) ConfigIamPolicyArrayOutput

type ConfigIamPolicyArrayInput

type ConfigIamPolicyArrayInput interface {
	pulumi.Input

	ToConfigIamPolicyArrayOutput() ConfigIamPolicyArrayOutput
	ToConfigIamPolicyArrayOutputWithContext(context.Context) ConfigIamPolicyArrayOutput
}

ConfigIamPolicyArrayInput is an input type that accepts ConfigIamPolicyArray and ConfigIamPolicyArrayOutput values. You can construct a concrete instance of `ConfigIamPolicyArrayInput` via:

ConfigIamPolicyArray{ ConfigIamPolicyArgs{...} }

type ConfigIamPolicyArrayOutput

type ConfigIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (ConfigIamPolicyArrayOutput) ElementType

func (ConfigIamPolicyArrayOutput) ElementType() reflect.Type

func (ConfigIamPolicyArrayOutput) Index

func (ConfigIamPolicyArrayOutput) ToConfigIamPolicyArrayOutput

func (o ConfigIamPolicyArrayOutput) ToConfigIamPolicyArrayOutput() ConfigIamPolicyArrayOutput

func (ConfigIamPolicyArrayOutput) ToConfigIamPolicyArrayOutputWithContext

func (o ConfigIamPolicyArrayOutput) ToConfigIamPolicyArrayOutputWithContext(ctx context.Context) ConfigIamPolicyArrayOutput

type ConfigIamPolicyInput

type ConfigIamPolicyInput interface {
	pulumi.Input

	ToConfigIamPolicyOutput() ConfigIamPolicyOutput
	ToConfigIamPolicyOutputWithContext(ctx context.Context) ConfigIamPolicyOutput
}

type ConfigIamPolicyMap

type ConfigIamPolicyMap map[string]ConfigIamPolicyInput

func (ConfigIamPolicyMap) ElementType

func (ConfigIamPolicyMap) ElementType() reflect.Type

func (ConfigIamPolicyMap) ToConfigIamPolicyMapOutput

func (i ConfigIamPolicyMap) ToConfigIamPolicyMapOutput() ConfigIamPolicyMapOutput

func (ConfigIamPolicyMap) ToConfigIamPolicyMapOutputWithContext

func (i ConfigIamPolicyMap) ToConfigIamPolicyMapOutputWithContext(ctx context.Context) ConfigIamPolicyMapOutput

type ConfigIamPolicyMapInput

type ConfigIamPolicyMapInput interface {
	pulumi.Input

	ToConfigIamPolicyMapOutput() ConfigIamPolicyMapOutput
	ToConfigIamPolicyMapOutputWithContext(context.Context) ConfigIamPolicyMapOutput
}

ConfigIamPolicyMapInput is an input type that accepts ConfigIamPolicyMap and ConfigIamPolicyMapOutput values. You can construct a concrete instance of `ConfigIamPolicyMapInput` via:

ConfigIamPolicyMap{ "key": ConfigIamPolicyArgs{...} }

type ConfigIamPolicyMapOutput

type ConfigIamPolicyMapOutput struct{ *pulumi.OutputState }

func (ConfigIamPolicyMapOutput) ElementType

func (ConfigIamPolicyMapOutput) ElementType() reflect.Type

func (ConfigIamPolicyMapOutput) MapIndex

func (ConfigIamPolicyMapOutput) ToConfigIamPolicyMapOutput

func (o ConfigIamPolicyMapOutput) ToConfigIamPolicyMapOutput() ConfigIamPolicyMapOutput

func (ConfigIamPolicyMapOutput) ToConfigIamPolicyMapOutputWithContext

func (o ConfigIamPolicyMapOutput) ToConfigIamPolicyMapOutputWithContext(ctx context.Context) ConfigIamPolicyMapOutput

type ConfigIamPolicyOutput

type ConfigIamPolicyOutput struct{ *pulumi.OutputState }

func (ConfigIamPolicyOutput) ElementType

func (ConfigIamPolicyOutput) ElementType() reflect.Type

func (ConfigIamPolicyOutput) ToConfigIamPolicyOutput

func (o ConfigIamPolicyOutput) ToConfigIamPolicyOutput() ConfigIamPolicyOutput

func (ConfigIamPolicyOutput) ToConfigIamPolicyOutputWithContext

func (o ConfigIamPolicyOutput) ToConfigIamPolicyOutputWithContext(ctx context.Context) ConfigIamPolicyOutput

func (ConfigIamPolicyOutput) ToConfigIamPolicyPtrOutput

func (o ConfigIamPolicyOutput) ToConfigIamPolicyPtrOutput() ConfigIamPolicyPtrOutput

func (ConfigIamPolicyOutput) ToConfigIamPolicyPtrOutputWithContext

func (o ConfigIamPolicyOutput) ToConfigIamPolicyPtrOutputWithContext(ctx context.Context) ConfigIamPolicyPtrOutput

type ConfigIamPolicyPtrInput

type ConfigIamPolicyPtrInput interface {
	pulumi.Input

	ToConfigIamPolicyPtrOutput() ConfigIamPolicyPtrOutput
	ToConfigIamPolicyPtrOutputWithContext(ctx context.Context) ConfigIamPolicyPtrOutput
}

type ConfigIamPolicyPtrOutput

type ConfigIamPolicyPtrOutput struct{ *pulumi.OutputState }

func (ConfigIamPolicyPtrOutput) Elem added in v5.21.0

func (ConfigIamPolicyPtrOutput) ElementType

func (ConfigIamPolicyPtrOutput) ElementType() reflect.Type

func (ConfigIamPolicyPtrOutput) ToConfigIamPolicyPtrOutput

func (o ConfigIamPolicyPtrOutput) ToConfigIamPolicyPtrOutput() ConfigIamPolicyPtrOutput

func (ConfigIamPolicyPtrOutput) ToConfigIamPolicyPtrOutputWithContext

func (o ConfigIamPolicyPtrOutput) ToConfigIamPolicyPtrOutputWithContext(ctx context.Context) ConfigIamPolicyPtrOutput

type ConfigIamPolicyState

type ConfigIamPolicyState struct {
	// Used to find the parent resource to bind the IAM policy to
	Config pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
	// The ID of the project in which the resource belongs.
	// If it is not provided, the project will be parsed from the identifier of the parent resource. If no project is provided in the parent identifier and no project is specified, the provider project is used.
	Project pulumi.StringPtrInput
}

func (ConfigIamPolicyState) ElementType

func (ConfigIamPolicyState) ElementType() reflect.Type

type ConfigInput

type ConfigInput interface {
	pulumi.Input

	ToConfigOutput() ConfigOutput
	ToConfigOutputWithContext(ctx context.Context) ConfigOutput
}

type ConfigMap

type ConfigMap map[string]ConfigInput

func (ConfigMap) ElementType

func (ConfigMap) ElementType() reflect.Type

func (ConfigMap) ToConfigMapOutput

func (i ConfigMap) ToConfigMapOutput() ConfigMapOutput

func (ConfigMap) ToConfigMapOutputWithContext

func (i ConfigMap) ToConfigMapOutputWithContext(ctx context.Context) ConfigMapOutput

type ConfigMapInput

type ConfigMapInput interface {
	pulumi.Input

	ToConfigMapOutput() ConfigMapOutput
	ToConfigMapOutputWithContext(context.Context) ConfigMapOutput
}

ConfigMapInput is an input type that accepts ConfigMap and ConfigMapOutput values. You can construct a concrete instance of `ConfigMapInput` via:

ConfigMap{ "key": ConfigArgs{...} }

type ConfigMapOutput

type ConfigMapOutput struct{ *pulumi.OutputState }

func (ConfigMapOutput) ElementType

func (ConfigMapOutput) ElementType() reflect.Type

func (ConfigMapOutput) MapIndex

func (ConfigMapOutput) ToConfigMapOutput

func (o ConfigMapOutput) ToConfigMapOutput() ConfigMapOutput

func (ConfigMapOutput) ToConfigMapOutputWithContext

func (o ConfigMapOutput) ToConfigMapOutputWithContext(ctx context.Context) ConfigMapOutput

type ConfigOutput

type ConfigOutput struct{ *pulumi.OutputState }

func (ConfigOutput) ElementType

func (ConfigOutput) ElementType() reflect.Type

func (ConfigOutput) ToConfigOutput

func (o ConfigOutput) ToConfigOutput() ConfigOutput

func (ConfigOutput) ToConfigOutputWithContext

func (o ConfigOutput) ToConfigOutputWithContext(ctx context.Context) ConfigOutput

func (ConfigOutput) ToConfigPtrOutput

func (o ConfigOutput) ToConfigPtrOutput() ConfigPtrOutput

func (ConfigOutput) ToConfigPtrOutputWithContext

func (o ConfigOutput) ToConfigPtrOutputWithContext(ctx context.Context) ConfigPtrOutput

type ConfigPtrInput

type ConfigPtrInput interface {
	pulumi.Input

	ToConfigPtrOutput() ConfigPtrOutput
	ToConfigPtrOutputWithContext(ctx context.Context) ConfigPtrOutput
}

type ConfigPtrOutput

type ConfigPtrOutput struct{ *pulumi.OutputState }

func (ConfigPtrOutput) Elem added in v5.21.0

func (o ConfigPtrOutput) Elem() ConfigOutput

func (ConfigPtrOutput) ElementType

func (ConfigPtrOutput) ElementType() reflect.Type

func (ConfigPtrOutput) ToConfigPtrOutput

func (o ConfigPtrOutput) ToConfigPtrOutput() ConfigPtrOutput

func (ConfigPtrOutput) ToConfigPtrOutputWithContext

func (o ConfigPtrOutput) ToConfigPtrOutputWithContext(ctx context.Context) ConfigPtrOutput

type ConfigState

type ConfigState struct {
	// The description to associate with the runtime
	// config.
	Description pulumi.StringPtrInput
	// The name of the runtime config.
	Name pulumi.StringPtrInput
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput
}

func (ConfigState) ElementType

func (ConfigState) ElementType() reflect.Type

type LookupConfigArgs

type LookupConfigArgs struct {
	// The name of the Runtime Configurator configuration.
	Name string `pulumi:"name"`
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getConfig.

type LookupConfigOutputArgs added in v5.21.0

type LookupConfigOutputArgs struct {
	// The name of the Runtime Configurator configuration.
	Name pulumi.StringInput `pulumi:"name"`
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getConfig.

func (LookupConfigOutputArgs) ElementType added in v5.21.0

func (LookupConfigOutputArgs) ElementType() reflect.Type

type LookupConfigResult

type LookupConfigResult struct {
	Description string `pulumi:"description"`
	// The provider-assigned unique ID for this managed resource.
	Id      string  `pulumi:"id"`
	Name    string  `pulumi:"name"`
	Project *string `pulumi:"project"`
}

A collection of values returned by getConfig.

func LookupConfig

func LookupConfig(ctx *pulumi.Context, args *LookupConfigArgs, opts ...pulumi.InvokeOption) (*LookupConfigResult, error)

To get more information about RuntimeConfigs, see:

!> This datasource has been deprecated in the google (GA) provider, and will only be available in the google-beta provider in a future release.

* [API documentation](https://cloud.google.com/deployment-manager/runtime-configurator/reference/rest/v1beta1/projects.configs) * How-to Guides

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.LookupConfig(ctx, &runtimeconfig.LookupConfigArgs{
			Name: "my-service",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupConfigResultOutput added in v5.21.0

type LookupConfigResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getConfig.

func LookupConfigOutput added in v5.21.0

func LookupConfigOutput(ctx *pulumi.Context, args LookupConfigOutputArgs, opts ...pulumi.InvokeOption) LookupConfigResultOutput

func (LookupConfigResultOutput) Description added in v5.21.0

func (LookupConfigResultOutput) ElementType added in v5.21.0

func (LookupConfigResultOutput) ElementType() reflect.Type

func (LookupConfigResultOutput) Id added in v5.21.0

The provider-assigned unique ID for this managed resource.

func (LookupConfigResultOutput) Name added in v5.21.0

func (LookupConfigResultOutput) Project added in v5.21.0

func (LookupConfigResultOutput) ToLookupConfigResultOutput added in v5.21.0

func (o LookupConfigResultOutput) ToLookupConfigResultOutput() LookupConfigResultOutput

func (LookupConfigResultOutput) ToLookupConfigResultOutputWithContext added in v5.21.0

func (o LookupConfigResultOutput) ToLookupConfigResultOutputWithContext(ctx context.Context) LookupConfigResultOutput

type LookupVariableArgs

type LookupVariableArgs struct {
	// The name of the Runtime Configurator configuration.
	Name string `pulumi:"name"`
	// The name of the RuntimeConfig resource containing this variable.
	Parent string `pulumi:"parent"`
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project *string `pulumi:"project"`
}

A collection of arguments for invoking getVariable.

type LookupVariableOutputArgs added in v5.21.0

type LookupVariableOutputArgs struct {
	// The name of the Runtime Configurator configuration.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the RuntimeConfig resource containing this variable.
	Parent pulumi.StringInput `pulumi:"parent"`
	// The project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput `pulumi:"project"`
}

A collection of arguments for invoking getVariable.

func (LookupVariableOutputArgs) ElementType added in v5.21.0

func (LookupVariableOutputArgs) ElementType() reflect.Type

type LookupVariableResult

type LookupVariableResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id         string  `pulumi:"id"`
	Name       string  `pulumi:"name"`
	Parent     string  `pulumi:"parent"`
	Project    *string `pulumi:"project"`
	Text       string  `pulumi:"text"`
	UpdateTime string  `pulumi:"updateTime"`
	Value      string  `pulumi:"value"`
}

A collection of values returned by getVariable.

func LookupVariable

func LookupVariable(ctx *pulumi.Context, args *LookupVariableArgs, opts ...pulumi.InvokeOption) (*LookupVariableResult, error)

To get more information about RuntimeConfigs, see:

* [API documentation](https://cloud.google.com/deployment-manager/runtime-configurator/reference/rest/v1beta1/projects.configs) * How-to Guides

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.LookupVariable(ctx, &runtimeconfig.LookupVariableArgs{
			Name:   "prod-variables/hostname",
			Parent: "my-service",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupVariableResultOutput added in v5.21.0

type LookupVariableResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVariable.

func LookupVariableOutput added in v5.21.0

func LookupVariableOutput(ctx *pulumi.Context, args LookupVariableOutputArgs, opts ...pulumi.InvokeOption) LookupVariableResultOutput

func (LookupVariableResultOutput) ElementType added in v5.21.0

func (LookupVariableResultOutput) ElementType() reflect.Type

func (LookupVariableResultOutput) Id added in v5.21.0

The provider-assigned unique ID for this managed resource.

func (LookupVariableResultOutput) Name added in v5.21.0

func (LookupVariableResultOutput) Parent added in v5.21.0

func (LookupVariableResultOutput) Project added in v5.21.0

func (LookupVariableResultOutput) Text added in v5.21.0

func (LookupVariableResultOutput) ToLookupVariableResultOutput added in v5.21.0

func (o LookupVariableResultOutput) ToLookupVariableResultOutput() LookupVariableResultOutput

func (LookupVariableResultOutput) ToLookupVariableResultOutputWithContext added in v5.21.0

func (o LookupVariableResultOutput) ToLookupVariableResultOutputWithContext(ctx context.Context) LookupVariableResultOutput

func (LookupVariableResultOutput) UpdateTime added in v5.21.0

func (LookupVariableResultOutput) Value added in v5.21.0

type Variable

type Variable struct {
	pulumi.CustomResourceState

	// The name of the variable to manage. Note that variable
	// names can be hierarchical using slashes (e.g. "prod-variables/hostname").
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the RuntimeConfig resource containing this
	// variable.
	Parent pulumi.StringOutput `pulumi:"parent"`
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringOutput `pulumi:"project"`
	// or `value` - (Required) The content to associate with the variable.
	// Exactly one of `text` or `variable` must be specified. If `text` is specified,
	// it must be a valid UTF-8 string and less than 4096 bytes in length. If `value`
	// is specified, it must be base64 encoded and less than 4096 bytes in length.
	Text pulumi.StringPtrOutput `pulumi:"text"`
	// (Computed) The timestamp in RFC3339 UTC "Zulu" format,
	// accurate to nanoseconds, representing when the variable was last updated.
	// Example: "2016-10-09T12:33:37.578138407Z".
	UpdateTime pulumi.StringOutput    `pulumi:"updateTime"`
	Value      pulumi.StringPtrOutput `pulumi:"value"`
}

Manages a RuntimeConfig variable in Google Cloud. For more information, see the [official documentation](https://cloud.google.com/deployment-manager/runtime-configurator/), or the [JSON API](https://cloud.google.com/deployment-manager/runtime-configurator/reference/rest/).

!> This resource has been deprecated in the google (GA) provider, and will only be available in the google-beta provider in a future release.

## Example Usage

Example creating a RuntimeConfig variable.

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.NewConfig(ctx, "my_runtime_config", &runtimeconfig.ConfigArgs{
			Description: pulumi.String("Runtime configuration values for my service"),
		})
		if err != nil {
			return err
		}
		_, err = runtimeconfig.NewVariable(ctx, "environment", &runtimeconfig.VariableArgs{
			Parent: my_runtime_config.Name,
			Text:   pulumi.String("example.com"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

You can also encode binary content using the `value` argument instead. The value must be base64 encoded.

Example of using the `value` argument.

```go package main

import (

"encoding/base64"
"io/ioutil"

"github.com/pulumi/pulumi-gcp/sdk/v5/go/gcp/runtimeconfig"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func filebase64OrPanic(path string) pulumi.StringPtrInput {
	if fileData, err := ioutil.ReadFile(path); err == nil {
		return pulumi.String(base64.StdEncoding.EncodeToString(fileData[:]))
	} else {
		panic(err.Error())
	}
}
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := runtimeconfig.NewConfig(ctx, "my_runtime_config", &runtimeconfig.ConfigArgs{
			Description: pulumi.String("Runtime configuration values for my service"),
		})
		if err != nil {
			return err
		}
		_, err = runtimeconfig.NewVariable(ctx, "my_secret", &runtimeconfig.VariableArgs{
			Parent: my_runtime_config.Name,
			Value:  filebase64OrPanic("my-encrypted-secret.dat"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Runtime Config Variables can be imported using the `name` or full variable name, e.g.

```sh

$ pulumi import gcp:runtimeconfig/variable:Variable myvariable myconfig/myvariable

```

```sh

$ pulumi import gcp:runtimeconfig/variable:Variable myvariable projects/my-gcp-project/configs/myconfig/variables/myvariable

```

When importing using only the name, the provider project must be set.

func GetVariable

func GetVariable(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VariableState, opts ...pulumi.ResourceOption) (*Variable, error)

GetVariable gets an existing Variable 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 NewVariable

func NewVariable(ctx *pulumi.Context,
	name string, args *VariableArgs, opts ...pulumi.ResourceOption) (*Variable, error)

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

func (*Variable) ElementType

func (*Variable) ElementType() reflect.Type

func (*Variable) ToVariableOutput

func (i *Variable) ToVariableOutput() VariableOutput

func (*Variable) ToVariableOutputWithContext

func (i *Variable) ToVariableOutputWithContext(ctx context.Context) VariableOutput

func (*Variable) ToVariablePtrOutput

func (i *Variable) ToVariablePtrOutput() VariablePtrOutput

func (*Variable) ToVariablePtrOutputWithContext

func (i *Variable) ToVariablePtrOutputWithContext(ctx context.Context) VariablePtrOutput

type VariableArgs

type VariableArgs struct {
	// The name of the variable to manage. Note that variable
	// names can be hierarchical using slashes (e.g. "prod-variables/hostname").
	Name pulumi.StringPtrInput
	// The name of the RuntimeConfig resource containing this
	// variable.
	Parent pulumi.StringInput
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// or `value` - (Required) The content to associate with the variable.
	// Exactly one of `text` or `variable` must be specified. If `text` is specified,
	// it must be a valid UTF-8 string and less than 4096 bytes in length. If `value`
	// is specified, it must be base64 encoded and less than 4096 bytes in length.
	Text  pulumi.StringPtrInput
	Value pulumi.StringPtrInput
}

The set of arguments for constructing a Variable resource.

func (VariableArgs) ElementType

func (VariableArgs) ElementType() reflect.Type

type VariableArray

type VariableArray []VariableInput

func (VariableArray) ElementType

func (VariableArray) ElementType() reflect.Type

func (VariableArray) ToVariableArrayOutput

func (i VariableArray) ToVariableArrayOutput() VariableArrayOutput

func (VariableArray) ToVariableArrayOutputWithContext

func (i VariableArray) ToVariableArrayOutputWithContext(ctx context.Context) VariableArrayOutput

type VariableArrayInput

type VariableArrayInput interface {
	pulumi.Input

	ToVariableArrayOutput() VariableArrayOutput
	ToVariableArrayOutputWithContext(context.Context) VariableArrayOutput
}

VariableArrayInput is an input type that accepts VariableArray and VariableArrayOutput values. You can construct a concrete instance of `VariableArrayInput` via:

VariableArray{ VariableArgs{...} }

type VariableArrayOutput

type VariableArrayOutput struct{ *pulumi.OutputState }

func (VariableArrayOutput) ElementType

func (VariableArrayOutput) ElementType() reflect.Type

func (VariableArrayOutput) Index

func (VariableArrayOutput) ToVariableArrayOutput

func (o VariableArrayOutput) ToVariableArrayOutput() VariableArrayOutput

func (VariableArrayOutput) ToVariableArrayOutputWithContext

func (o VariableArrayOutput) ToVariableArrayOutputWithContext(ctx context.Context) VariableArrayOutput

type VariableInput

type VariableInput interface {
	pulumi.Input

	ToVariableOutput() VariableOutput
	ToVariableOutputWithContext(ctx context.Context) VariableOutput
}

type VariableMap

type VariableMap map[string]VariableInput

func (VariableMap) ElementType

func (VariableMap) ElementType() reflect.Type

func (VariableMap) ToVariableMapOutput

func (i VariableMap) ToVariableMapOutput() VariableMapOutput

func (VariableMap) ToVariableMapOutputWithContext

func (i VariableMap) ToVariableMapOutputWithContext(ctx context.Context) VariableMapOutput

type VariableMapInput

type VariableMapInput interface {
	pulumi.Input

	ToVariableMapOutput() VariableMapOutput
	ToVariableMapOutputWithContext(context.Context) VariableMapOutput
}

VariableMapInput is an input type that accepts VariableMap and VariableMapOutput values. You can construct a concrete instance of `VariableMapInput` via:

VariableMap{ "key": VariableArgs{...} }

type VariableMapOutput

type VariableMapOutput struct{ *pulumi.OutputState }

func (VariableMapOutput) ElementType

func (VariableMapOutput) ElementType() reflect.Type

func (VariableMapOutput) MapIndex

func (VariableMapOutput) ToVariableMapOutput

func (o VariableMapOutput) ToVariableMapOutput() VariableMapOutput

func (VariableMapOutput) ToVariableMapOutputWithContext

func (o VariableMapOutput) ToVariableMapOutputWithContext(ctx context.Context) VariableMapOutput

type VariableOutput

type VariableOutput struct{ *pulumi.OutputState }

func (VariableOutput) ElementType

func (VariableOutput) ElementType() reflect.Type

func (VariableOutput) ToVariableOutput

func (o VariableOutput) ToVariableOutput() VariableOutput

func (VariableOutput) ToVariableOutputWithContext

func (o VariableOutput) ToVariableOutputWithContext(ctx context.Context) VariableOutput

func (VariableOutput) ToVariablePtrOutput

func (o VariableOutput) ToVariablePtrOutput() VariablePtrOutput

func (VariableOutput) ToVariablePtrOutputWithContext

func (o VariableOutput) ToVariablePtrOutputWithContext(ctx context.Context) VariablePtrOutput

type VariablePtrInput

type VariablePtrInput interface {
	pulumi.Input

	ToVariablePtrOutput() VariablePtrOutput
	ToVariablePtrOutputWithContext(ctx context.Context) VariablePtrOutput
}

type VariablePtrOutput

type VariablePtrOutput struct{ *pulumi.OutputState }

func (VariablePtrOutput) Elem added in v5.21.0

func (VariablePtrOutput) ElementType

func (VariablePtrOutput) ElementType() reflect.Type

func (VariablePtrOutput) ToVariablePtrOutput

func (o VariablePtrOutput) ToVariablePtrOutput() VariablePtrOutput

func (VariablePtrOutput) ToVariablePtrOutputWithContext

func (o VariablePtrOutput) ToVariablePtrOutputWithContext(ctx context.Context) VariablePtrOutput

type VariableState

type VariableState struct {
	// The name of the variable to manage. Note that variable
	// names can be hierarchical using slashes (e.g. "prod-variables/hostname").
	Name pulumi.StringPtrInput
	// The name of the RuntimeConfig resource containing this
	// variable.
	Parent pulumi.StringPtrInput
	// The ID of the project in which the resource belongs. If it
	// is not provided, the provider project is used.
	Project pulumi.StringPtrInput
	// or `value` - (Required) The content to associate with the variable.
	// Exactly one of `text` or `variable` must be specified. If `text` is specified,
	// it must be a valid UTF-8 string and less than 4096 bytes in length. If `value`
	// is specified, it must be base64 encoded and less than 4096 bytes in length.
	Text pulumi.StringPtrInput
	// (Computed) The timestamp in RFC3339 UTC "Zulu" format,
	// accurate to nanoseconds, representing when the variable was last updated.
	// Example: "2016-10-09T12:33:37.578138407Z".
	UpdateTime pulumi.StringPtrInput
	Value      pulumi.StringPtrInput
}

func (VariableState) ElementType

func (VariableState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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