apigee

package
v6.10.0 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2022 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 EnvGroup

type EnvGroup struct {
	pulumi.CustomResourceState

	// Hostnames of the environment group.
	Hostnames pulumi.StringArrayOutput `pulumi:"hostnames"`
	// The resource ID of the environment group.
	Name pulumi.StringOutput `pulumi:"name"`
	// The Apigee Organization associated with the Apigee environment group,
	// in the format `organizations/{{org_name}}`.
	OrgId pulumi.StringOutput `pulumi:"orgId"`
}

An `Environment group` in Apigee.

To get more information about Envgroup, see:

* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.envgroups/create) * How-to Guides

## Example Usage

## Import

Envgroup can be imported using any of these accepted formats

```sh

$ pulumi import gcp:apigee/envGroup:EnvGroup default {{org_id}}/envgroups/{{name}}

```

```sh

$ pulumi import gcp:apigee/envGroup:EnvGroup default {{org_id}}/{{name}}

```

func GetEnvGroup

func GetEnvGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EnvGroupState, opts ...pulumi.ResourceOption) (*EnvGroup, error)

GetEnvGroup gets an existing EnvGroup 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 NewEnvGroup

func NewEnvGroup(ctx *pulumi.Context,
	name string, args *EnvGroupArgs, opts ...pulumi.ResourceOption) (*EnvGroup, error)

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

func (*EnvGroup) ElementType

func (*EnvGroup) ElementType() reflect.Type

func (*EnvGroup) ToEnvGroupOutput

func (i *EnvGroup) ToEnvGroupOutput() EnvGroupOutput

func (*EnvGroup) ToEnvGroupOutputWithContext

func (i *EnvGroup) ToEnvGroupOutputWithContext(ctx context.Context) EnvGroupOutput

type EnvGroupArgs

type EnvGroupArgs struct {
	// Hostnames of the environment group.
	Hostnames pulumi.StringArrayInput
	// The resource ID of the environment group.
	Name pulumi.StringPtrInput
	// The Apigee Organization associated with the Apigee environment group,
	// in the format `organizations/{{org_name}}`.
	OrgId pulumi.StringInput
}

The set of arguments for constructing a EnvGroup resource.

func (EnvGroupArgs) ElementType

func (EnvGroupArgs) ElementType() reflect.Type

type EnvGroupArray

type EnvGroupArray []EnvGroupInput

func (EnvGroupArray) ElementType

func (EnvGroupArray) ElementType() reflect.Type

func (EnvGroupArray) ToEnvGroupArrayOutput

func (i EnvGroupArray) ToEnvGroupArrayOutput() EnvGroupArrayOutput

func (EnvGroupArray) ToEnvGroupArrayOutputWithContext

func (i EnvGroupArray) ToEnvGroupArrayOutputWithContext(ctx context.Context) EnvGroupArrayOutput

type EnvGroupArrayInput

type EnvGroupArrayInput interface {
	pulumi.Input

	ToEnvGroupArrayOutput() EnvGroupArrayOutput
	ToEnvGroupArrayOutputWithContext(context.Context) EnvGroupArrayOutput
}

EnvGroupArrayInput is an input type that accepts EnvGroupArray and EnvGroupArrayOutput values. You can construct a concrete instance of `EnvGroupArrayInput` via:

EnvGroupArray{ EnvGroupArgs{...} }

type EnvGroupArrayOutput

type EnvGroupArrayOutput struct{ *pulumi.OutputState }

func (EnvGroupArrayOutput) ElementType

func (EnvGroupArrayOutput) ElementType() reflect.Type

func (EnvGroupArrayOutput) Index

func (EnvGroupArrayOutput) ToEnvGroupArrayOutput

func (o EnvGroupArrayOutput) ToEnvGroupArrayOutput() EnvGroupArrayOutput

func (EnvGroupArrayOutput) ToEnvGroupArrayOutputWithContext

func (o EnvGroupArrayOutput) ToEnvGroupArrayOutputWithContext(ctx context.Context) EnvGroupArrayOutput

type EnvGroupAttachment

type EnvGroupAttachment struct {
	pulumi.CustomResourceState

	// The Apigee environment group associated with the Apigee environment,
	// in the format `organizations/{{org_name}}/envgroups/{{envgroup_name}}`.
	EnvgroupId pulumi.StringOutput `pulumi:"envgroupId"`
	// The resource ID of the environment.
	Environment pulumi.StringOutput `pulumi:"environment"`
	// The name of the newly created attachment (output parameter).
	Name pulumi.StringOutput `pulumi:"name"`
}

An `Environment Group attachment` in Apigee.

To get more information about EnvgroupAttachment, see:

* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.envgroups.attachments/create) * How-to Guides

## Example Usage

## Import

EnvgroupAttachment can be imported using any of these accepted formats

```sh

$ pulumi import gcp:apigee/envGroupAttachment:EnvGroupAttachment default {{envgroup_id}}/attachments/{{name}}

```

```sh

$ pulumi import gcp:apigee/envGroupAttachment:EnvGroupAttachment default {{envgroup_id}}/{{name}}

```

func GetEnvGroupAttachment

func GetEnvGroupAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EnvGroupAttachmentState, opts ...pulumi.ResourceOption) (*EnvGroupAttachment, error)

GetEnvGroupAttachment gets an existing EnvGroupAttachment 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 NewEnvGroupAttachment

func NewEnvGroupAttachment(ctx *pulumi.Context,
	name string, args *EnvGroupAttachmentArgs, opts ...pulumi.ResourceOption) (*EnvGroupAttachment, error)

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

func (*EnvGroupAttachment) ElementType

func (*EnvGroupAttachment) ElementType() reflect.Type

func (*EnvGroupAttachment) ToEnvGroupAttachmentOutput

func (i *EnvGroupAttachment) ToEnvGroupAttachmentOutput() EnvGroupAttachmentOutput

func (*EnvGroupAttachment) ToEnvGroupAttachmentOutputWithContext

func (i *EnvGroupAttachment) ToEnvGroupAttachmentOutputWithContext(ctx context.Context) EnvGroupAttachmentOutput

type EnvGroupAttachmentArgs

type EnvGroupAttachmentArgs struct {
	// The Apigee environment group associated with the Apigee environment,
	// in the format `organizations/{{org_name}}/envgroups/{{envgroup_name}}`.
	EnvgroupId pulumi.StringInput
	// The resource ID of the environment.
	Environment pulumi.StringInput
}

The set of arguments for constructing a EnvGroupAttachment resource.

func (EnvGroupAttachmentArgs) ElementType

func (EnvGroupAttachmentArgs) ElementType() reflect.Type

type EnvGroupAttachmentArray

type EnvGroupAttachmentArray []EnvGroupAttachmentInput

func (EnvGroupAttachmentArray) ElementType

func (EnvGroupAttachmentArray) ElementType() reflect.Type

func (EnvGroupAttachmentArray) ToEnvGroupAttachmentArrayOutput

func (i EnvGroupAttachmentArray) ToEnvGroupAttachmentArrayOutput() EnvGroupAttachmentArrayOutput

func (EnvGroupAttachmentArray) ToEnvGroupAttachmentArrayOutputWithContext

func (i EnvGroupAttachmentArray) ToEnvGroupAttachmentArrayOutputWithContext(ctx context.Context) EnvGroupAttachmentArrayOutput

type EnvGroupAttachmentArrayInput

type EnvGroupAttachmentArrayInput interface {
	pulumi.Input

	ToEnvGroupAttachmentArrayOutput() EnvGroupAttachmentArrayOutput
	ToEnvGroupAttachmentArrayOutputWithContext(context.Context) EnvGroupAttachmentArrayOutput
}

EnvGroupAttachmentArrayInput is an input type that accepts EnvGroupAttachmentArray and EnvGroupAttachmentArrayOutput values. You can construct a concrete instance of `EnvGroupAttachmentArrayInput` via:

EnvGroupAttachmentArray{ EnvGroupAttachmentArgs{...} }

type EnvGroupAttachmentArrayOutput

type EnvGroupAttachmentArrayOutput struct{ *pulumi.OutputState }

func (EnvGroupAttachmentArrayOutput) ElementType

func (EnvGroupAttachmentArrayOutput) Index

func (EnvGroupAttachmentArrayOutput) ToEnvGroupAttachmentArrayOutput

func (o EnvGroupAttachmentArrayOutput) ToEnvGroupAttachmentArrayOutput() EnvGroupAttachmentArrayOutput

func (EnvGroupAttachmentArrayOutput) ToEnvGroupAttachmentArrayOutputWithContext

func (o EnvGroupAttachmentArrayOutput) ToEnvGroupAttachmentArrayOutputWithContext(ctx context.Context) EnvGroupAttachmentArrayOutput

type EnvGroupAttachmentInput

type EnvGroupAttachmentInput interface {
	pulumi.Input

	ToEnvGroupAttachmentOutput() EnvGroupAttachmentOutput
	ToEnvGroupAttachmentOutputWithContext(ctx context.Context) EnvGroupAttachmentOutput
}

type EnvGroupAttachmentMap

type EnvGroupAttachmentMap map[string]EnvGroupAttachmentInput

func (EnvGroupAttachmentMap) ElementType

func (EnvGroupAttachmentMap) ElementType() reflect.Type

func (EnvGroupAttachmentMap) ToEnvGroupAttachmentMapOutput

func (i EnvGroupAttachmentMap) ToEnvGroupAttachmentMapOutput() EnvGroupAttachmentMapOutput

func (EnvGroupAttachmentMap) ToEnvGroupAttachmentMapOutputWithContext

func (i EnvGroupAttachmentMap) ToEnvGroupAttachmentMapOutputWithContext(ctx context.Context) EnvGroupAttachmentMapOutput

type EnvGroupAttachmentMapInput

type EnvGroupAttachmentMapInput interface {
	pulumi.Input

	ToEnvGroupAttachmentMapOutput() EnvGroupAttachmentMapOutput
	ToEnvGroupAttachmentMapOutputWithContext(context.Context) EnvGroupAttachmentMapOutput
}

EnvGroupAttachmentMapInput is an input type that accepts EnvGroupAttachmentMap and EnvGroupAttachmentMapOutput values. You can construct a concrete instance of `EnvGroupAttachmentMapInput` via:

EnvGroupAttachmentMap{ "key": EnvGroupAttachmentArgs{...} }

type EnvGroupAttachmentMapOutput

type EnvGroupAttachmentMapOutput struct{ *pulumi.OutputState }

func (EnvGroupAttachmentMapOutput) ElementType

func (EnvGroupAttachmentMapOutput) MapIndex

func (EnvGroupAttachmentMapOutput) ToEnvGroupAttachmentMapOutput

func (o EnvGroupAttachmentMapOutput) ToEnvGroupAttachmentMapOutput() EnvGroupAttachmentMapOutput

func (EnvGroupAttachmentMapOutput) ToEnvGroupAttachmentMapOutputWithContext

func (o EnvGroupAttachmentMapOutput) ToEnvGroupAttachmentMapOutputWithContext(ctx context.Context) EnvGroupAttachmentMapOutput

type EnvGroupAttachmentOutput

type EnvGroupAttachmentOutput struct{ *pulumi.OutputState }

func (EnvGroupAttachmentOutput) ElementType

func (EnvGroupAttachmentOutput) ElementType() reflect.Type

func (EnvGroupAttachmentOutput) ToEnvGroupAttachmentOutput

func (o EnvGroupAttachmentOutput) ToEnvGroupAttachmentOutput() EnvGroupAttachmentOutput

func (EnvGroupAttachmentOutput) ToEnvGroupAttachmentOutputWithContext

func (o EnvGroupAttachmentOutput) ToEnvGroupAttachmentOutputWithContext(ctx context.Context) EnvGroupAttachmentOutput

type EnvGroupAttachmentState

type EnvGroupAttachmentState struct {
	// The Apigee environment group associated with the Apigee environment,
	// in the format `organizations/{{org_name}}/envgroups/{{envgroup_name}}`.
	EnvgroupId pulumi.StringPtrInput
	// The resource ID of the environment.
	Environment pulumi.StringPtrInput
	// The name of the newly created attachment (output parameter).
	Name pulumi.StringPtrInput
}

func (EnvGroupAttachmentState) ElementType

func (EnvGroupAttachmentState) ElementType() reflect.Type

type EnvGroupInput

type EnvGroupInput interface {
	pulumi.Input

	ToEnvGroupOutput() EnvGroupOutput
	ToEnvGroupOutputWithContext(ctx context.Context) EnvGroupOutput
}

type EnvGroupMap

type EnvGroupMap map[string]EnvGroupInput

func (EnvGroupMap) ElementType

func (EnvGroupMap) ElementType() reflect.Type

func (EnvGroupMap) ToEnvGroupMapOutput

func (i EnvGroupMap) ToEnvGroupMapOutput() EnvGroupMapOutput

func (EnvGroupMap) ToEnvGroupMapOutputWithContext

func (i EnvGroupMap) ToEnvGroupMapOutputWithContext(ctx context.Context) EnvGroupMapOutput

type EnvGroupMapInput

type EnvGroupMapInput interface {
	pulumi.Input

	ToEnvGroupMapOutput() EnvGroupMapOutput
	ToEnvGroupMapOutputWithContext(context.Context) EnvGroupMapOutput
}

EnvGroupMapInput is an input type that accepts EnvGroupMap and EnvGroupMapOutput values. You can construct a concrete instance of `EnvGroupMapInput` via:

EnvGroupMap{ "key": EnvGroupArgs{...} }

type EnvGroupMapOutput

type EnvGroupMapOutput struct{ *pulumi.OutputState }

func (EnvGroupMapOutput) ElementType

func (EnvGroupMapOutput) ElementType() reflect.Type

func (EnvGroupMapOutput) MapIndex

func (EnvGroupMapOutput) ToEnvGroupMapOutput

func (o EnvGroupMapOutput) ToEnvGroupMapOutput() EnvGroupMapOutput

func (EnvGroupMapOutput) ToEnvGroupMapOutputWithContext

func (o EnvGroupMapOutput) ToEnvGroupMapOutputWithContext(ctx context.Context) EnvGroupMapOutput

type EnvGroupOutput

type EnvGroupOutput struct{ *pulumi.OutputState }

func (EnvGroupOutput) ElementType

func (EnvGroupOutput) ElementType() reflect.Type

func (EnvGroupOutput) ToEnvGroupOutput

func (o EnvGroupOutput) ToEnvGroupOutput() EnvGroupOutput

func (EnvGroupOutput) ToEnvGroupOutputWithContext

func (o EnvGroupOutput) ToEnvGroupOutputWithContext(ctx context.Context) EnvGroupOutput

type EnvGroupState

type EnvGroupState struct {
	// Hostnames of the environment group.
	Hostnames pulumi.StringArrayInput
	// The resource ID of the environment group.
	Name pulumi.StringPtrInput
	// The Apigee Organization associated with the Apigee environment group,
	// in the format `organizations/{{org_name}}`.
	OrgId pulumi.StringPtrInput
}

func (EnvGroupState) ElementType

func (EnvGroupState) ElementType() reflect.Type

type Environment

type Environment struct {
	pulumi.CustomResourceState

	// Description of the environment.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Display name of the environment.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// The resource ID of the environment.
	Name pulumi.StringOutput `pulumi:"name"`
	// The Apigee Organization associated with the Apigee environment,
	// in the format `organizations/{{org_name}}`.
	OrgId pulumi.StringOutput `pulumi:"orgId"`
}

An `Environment` in Apigee.

To get more information about Environment, see:

* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.environments/create) * How-to Guides

## Example Usage

## Import

Environment can be imported using any of these accepted formats

```sh

$ pulumi import gcp:apigee/environment:Environment default {{org_id}}/environments/{{name}}

```

```sh

$ pulumi import gcp:apigee/environment:Environment default {{org_id}}/{{name}}

```

func GetEnvironment

func GetEnvironment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EnvironmentState, opts ...pulumi.ResourceOption) (*Environment, error)

GetEnvironment gets an existing Environment 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 NewEnvironment

func NewEnvironment(ctx *pulumi.Context,
	name string, args *EnvironmentArgs, opts ...pulumi.ResourceOption) (*Environment, error)

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

func (*Environment) ElementType

func (*Environment) ElementType() reflect.Type

func (*Environment) ToEnvironmentOutput

func (i *Environment) ToEnvironmentOutput() EnvironmentOutput

func (*Environment) ToEnvironmentOutputWithContext

func (i *Environment) ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput

type EnvironmentArgs

type EnvironmentArgs struct {
	// Description of the environment.
	Description pulumi.StringPtrInput
	// Display name of the environment.
	DisplayName pulumi.StringPtrInput
	// The resource ID of the environment.
	Name pulumi.StringPtrInput
	// The Apigee Organization associated with the Apigee environment,
	// in the format `organizations/{{org_name}}`.
	OrgId pulumi.StringInput
}

The set of arguments for constructing a Environment resource.

func (EnvironmentArgs) ElementType

func (EnvironmentArgs) ElementType() reflect.Type

type EnvironmentArray

type EnvironmentArray []EnvironmentInput

func (EnvironmentArray) ElementType

func (EnvironmentArray) ElementType() reflect.Type

func (EnvironmentArray) ToEnvironmentArrayOutput

func (i EnvironmentArray) ToEnvironmentArrayOutput() EnvironmentArrayOutput

func (EnvironmentArray) ToEnvironmentArrayOutputWithContext

func (i EnvironmentArray) ToEnvironmentArrayOutputWithContext(ctx context.Context) EnvironmentArrayOutput

type EnvironmentArrayInput

type EnvironmentArrayInput interface {
	pulumi.Input

	ToEnvironmentArrayOutput() EnvironmentArrayOutput
	ToEnvironmentArrayOutputWithContext(context.Context) EnvironmentArrayOutput
}

EnvironmentArrayInput is an input type that accepts EnvironmentArray and EnvironmentArrayOutput values. You can construct a concrete instance of `EnvironmentArrayInput` via:

EnvironmentArray{ EnvironmentArgs{...} }

type EnvironmentArrayOutput

type EnvironmentArrayOutput struct{ *pulumi.OutputState }

func (EnvironmentArrayOutput) ElementType

func (EnvironmentArrayOutput) ElementType() reflect.Type

func (EnvironmentArrayOutput) Index

func (EnvironmentArrayOutput) ToEnvironmentArrayOutput

func (o EnvironmentArrayOutput) ToEnvironmentArrayOutput() EnvironmentArrayOutput

func (EnvironmentArrayOutput) ToEnvironmentArrayOutputWithContext

func (o EnvironmentArrayOutput) ToEnvironmentArrayOutputWithContext(ctx context.Context) EnvironmentArrayOutput

type EnvironmentIamBinding added in v6.5.0

type EnvironmentIamBinding struct {
	pulumi.CustomResourceState

	Condition EnvironmentIamBindingConditionPtrOutput `pulumi:"condition"`
	// Used to find the parent resource to bind the IAM policy to
	EnvId pulumi.StringOutput `pulumi:"envId"`
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringOutput      `pulumi:"etag"`
	Members pulumi.StringArrayOutput `pulumi:"members"`
	OrgId   pulumi.StringOutput      `pulumi:"orgId"`
	// The role that should be applied. Only one
	// `apigee.EnvironmentIamBinding` 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 Apigee Environment. Each of these resources serves a different use case:

* `apigee.EnvironmentIamPolicy`: Authoritative. Sets the IAM policy for the environment and replaces any existing policy already attached. * `apigee.EnvironmentIamBinding`: 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 environment are preserved. * `apigee.EnvironmentIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the environment are preserved.

> **Note:** `apigee.EnvironmentIamPolicy` **cannot** be used in conjunction with `apigee.EnvironmentIamBinding` and `apigee.EnvironmentIamMember` or they will fight over what your policy should be.

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

## google\_apigee\_environment\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = apigee.NewEnvironmentIamPolicy(ctx, "policy", &apigee.EnvironmentIamPolicyArgs{
			OrgId:      pulumi.Any(google_apigee_environment.Apigee_environment.Org_id),
			EnvId:      pulumi.Any(google_apigee_environment.Apigee_environment.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_apigee\_environment\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigee.NewEnvironmentIamBinding(ctx, "binding", &apigee.EnvironmentIamBindingArgs{
			OrgId: pulumi.Any(google_apigee_environment.Apigee_environment.Org_id),
			EnvId: pulumi.Any(google_apigee_environment.Apigee_environment.Name),
			Role:  pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_apigee\_environment\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigee.NewEnvironmentIamMember(ctx, "member", &apigee.EnvironmentIamMemberArgs{
			OrgId:  pulumi.Any(google_apigee_environment.Apigee_environment.Org_id),
			EnvId:  pulumi.Any(google_apigee_environment.Apigee_environment.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* {{org_id}}/environments/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Apigee environment 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:apigee/environmentIamBinding:EnvironmentIamBinding editor "{{org_id}}/environments/{{environment}} 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:apigee/environmentIamBinding:EnvironmentIamBinding editor "{{org_id}}/environments/{{environment}} roles/viewer"

```

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

```sh

$ pulumi import gcp:apigee/environmentIamBinding:EnvironmentIamBinding editor {{org_id}}/environments/{{environment}}

```

-> **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 GetEnvironmentIamBinding added in v6.5.0

func GetEnvironmentIamBinding(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EnvironmentIamBindingState, opts ...pulumi.ResourceOption) (*EnvironmentIamBinding, error)

GetEnvironmentIamBinding gets an existing EnvironmentIamBinding 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 NewEnvironmentIamBinding added in v6.5.0

func NewEnvironmentIamBinding(ctx *pulumi.Context,
	name string, args *EnvironmentIamBindingArgs, opts ...pulumi.ResourceOption) (*EnvironmentIamBinding, error)

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

func (*EnvironmentIamBinding) ElementType added in v6.5.0

func (*EnvironmentIamBinding) ElementType() reflect.Type

func (*EnvironmentIamBinding) ToEnvironmentIamBindingOutput added in v6.5.0

func (i *EnvironmentIamBinding) ToEnvironmentIamBindingOutput() EnvironmentIamBindingOutput

func (*EnvironmentIamBinding) ToEnvironmentIamBindingOutputWithContext added in v6.5.0

func (i *EnvironmentIamBinding) ToEnvironmentIamBindingOutputWithContext(ctx context.Context) EnvironmentIamBindingOutput

type EnvironmentIamBindingArgs added in v6.5.0

type EnvironmentIamBindingArgs struct {
	Condition EnvironmentIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	EnvId   pulumi.StringInput
	Members pulumi.StringArrayInput
	OrgId   pulumi.StringInput
	// The role that should be applied. Only one
	// `apigee.EnvironmentIamBinding` 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 EnvironmentIamBinding resource.

func (EnvironmentIamBindingArgs) ElementType added in v6.5.0

func (EnvironmentIamBindingArgs) ElementType() reflect.Type

type EnvironmentIamBindingArray added in v6.5.0

type EnvironmentIamBindingArray []EnvironmentIamBindingInput

func (EnvironmentIamBindingArray) ElementType added in v6.5.0

func (EnvironmentIamBindingArray) ElementType() reflect.Type

func (EnvironmentIamBindingArray) ToEnvironmentIamBindingArrayOutput added in v6.5.0

func (i EnvironmentIamBindingArray) ToEnvironmentIamBindingArrayOutput() EnvironmentIamBindingArrayOutput

func (EnvironmentIamBindingArray) ToEnvironmentIamBindingArrayOutputWithContext added in v6.5.0

func (i EnvironmentIamBindingArray) ToEnvironmentIamBindingArrayOutputWithContext(ctx context.Context) EnvironmentIamBindingArrayOutput

type EnvironmentIamBindingArrayInput added in v6.5.0

type EnvironmentIamBindingArrayInput interface {
	pulumi.Input

	ToEnvironmentIamBindingArrayOutput() EnvironmentIamBindingArrayOutput
	ToEnvironmentIamBindingArrayOutputWithContext(context.Context) EnvironmentIamBindingArrayOutput
}

EnvironmentIamBindingArrayInput is an input type that accepts EnvironmentIamBindingArray and EnvironmentIamBindingArrayOutput values. You can construct a concrete instance of `EnvironmentIamBindingArrayInput` via:

EnvironmentIamBindingArray{ EnvironmentIamBindingArgs{...} }

type EnvironmentIamBindingArrayOutput added in v6.5.0

type EnvironmentIamBindingArrayOutput struct{ *pulumi.OutputState }

func (EnvironmentIamBindingArrayOutput) ElementType added in v6.5.0

func (EnvironmentIamBindingArrayOutput) Index added in v6.5.0

func (EnvironmentIamBindingArrayOutput) ToEnvironmentIamBindingArrayOutput added in v6.5.0

func (o EnvironmentIamBindingArrayOutput) ToEnvironmentIamBindingArrayOutput() EnvironmentIamBindingArrayOutput

func (EnvironmentIamBindingArrayOutput) ToEnvironmentIamBindingArrayOutputWithContext added in v6.5.0

func (o EnvironmentIamBindingArrayOutput) ToEnvironmentIamBindingArrayOutputWithContext(ctx context.Context) EnvironmentIamBindingArrayOutput

type EnvironmentIamBindingCondition added in v6.5.0

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

type EnvironmentIamBindingConditionArgs added in v6.5.0

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

func (EnvironmentIamBindingConditionArgs) ElementType added in v6.5.0

func (EnvironmentIamBindingConditionArgs) ToEnvironmentIamBindingConditionOutput added in v6.5.0

func (i EnvironmentIamBindingConditionArgs) ToEnvironmentIamBindingConditionOutput() EnvironmentIamBindingConditionOutput

func (EnvironmentIamBindingConditionArgs) ToEnvironmentIamBindingConditionOutputWithContext added in v6.5.0

func (i EnvironmentIamBindingConditionArgs) ToEnvironmentIamBindingConditionOutputWithContext(ctx context.Context) EnvironmentIamBindingConditionOutput

func (EnvironmentIamBindingConditionArgs) ToEnvironmentIamBindingConditionPtrOutput added in v6.5.0

func (i EnvironmentIamBindingConditionArgs) ToEnvironmentIamBindingConditionPtrOutput() EnvironmentIamBindingConditionPtrOutput

func (EnvironmentIamBindingConditionArgs) ToEnvironmentIamBindingConditionPtrOutputWithContext added in v6.5.0

func (i EnvironmentIamBindingConditionArgs) ToEnvironmentIamBindingConditionPtrOutputWithContext(ctx context.Context) EnvironmentIamBindingConditionPtrOutput

type EnvironmentIamBindingConditionInput added in v6.5.0

type EnvironmentIamBindingConditionInput interface {
	pulumi.Input

	ToEnvironmentIamBindingConditionOutput() EnvironmentIamBindingConditionOutput
	ToEnvironmentIamBindingConditionOutputWithContext(context.Context) EnvironmentIamBindingConditionOutput
}

EnvironmentIamBindingConditionInput is an input type that accepts EnvironmentIamBindingConditionArgs and EnvironmentIamBindingConditionOutput values. You can construct a concrete instance of `EnvironmentIamBindingConditionInput` via:

EnvironmentIamBindingConditionArgs{...}

type EnvironmentIamBindingConditionOutput added in v6.5.0

type EnvironmentIamBindingConditionOutput struct{ *pulumi.OutputState }

func (EnvironmentIamBindingConditionOutput) Description added in v6.5.0

func (EnvironmentIamBindingConditionOutput) ElementType added in v6.5.0

func (EnvironmentIamBindingConditionOutput) Expression added in v6.5.0

func (EnvironmentIamBindingConditionOutput) Title added in v6.5.0

func (EnvironmentIamBindingConditionOutput) ToEnvironmentIamBindingConditionOutput added in v6.5.0

func (o EnvironmentIamBindingConditionOutput) ToEnvironmentIamBindingConditionOutput() EnvironmentIamBindingConditionOutput

func (EnvironmentIamBindingConditionOutput) ToEnvironmentIamBindingConditionOutputWithContext added in v6.5.0

func (o EnvironmentIamBindingConditionOutput) ToEnvironmentIamBindingConditionOutputWithContext(ctx context.Context) EnvironmentIamBindingConditionOutput

func (EnvironmentIamBindingConditionOutput) ToEnvironmentIamBindingConditionPtrOutput added in v6.5.0

func (o EnvironmentIamBindingConditionOutput) ToEnvironmentIamBindingConditionPtrOutput() EnvironmentIamBindingConditionPtrOutput

func (EnvironmentIamBindingConditionOutput) ToEnvironmentIamBindingConditionPtrOutputWithContext added in v6.5.0

func (o EnvironmentIamBindingConditionOutput) ToEnvironmentIamBindingConditionPtrOutputWithContext(ctx context.Context) EnvironmentIamBindingConditionPtrOutput

type EnvironmentIamBindingConditionPtrInput added in v6.5.0

type EnvironmentIamBindingConditionPtrInput interface {
	pulumi.Input

	ToEnvironmentIamBindingConditionPtrOutput() EnvironmentIamBindingConditionPtrOutput
	ToEnvironmentIamBindingConditionPtrOutputWithContext(context.Context) EnvironmentIamBindingConditionPtrOutput
}

EnvironmentIamBindingConditionPtrInput is an input type that accepts EnvironmentIamBindingConditionArgs, EnvironmentIamBindingConditionPtr and EnvironmentIamBindingConditionPtrOutput values. You can construct a concrete instance of `EnvironmentIamBindingConditionPtrInput` via:

        EnvironmentIamBindingConditionArgs{...}

or:

        nil

type EnvironmentIamBindingConditionPtrOutput added in v6.5.0

type EnvironmentIamBindingConditionPtrOutput struct{ *pulumi.OutputState }

func (EnvironmentIamBindingConditionPtrOutput) Description added in v6.5.0

func (EnvironmentIamBindingConditionPtrOutput) Elem added in v6.5.0

func (EnvironmentIamBindingConditionPtrOutput) ElementType added in v6.5.0

func (EnvironmentIamBindingConditionPtrOutput) Expression added in v6.5.0

func (EnvironmentIamBindingConditionPtrOutput) Title added in v6.5.0

func (EnvironmentIamBindingConditionPtrOutput) ToEnvironmentIamBindingConditionPtrOutput added in v6.5.0

func (o EnvironmentIamBindingConditionPtrOutput) ToEnvironmentIamBindingConditionPtrOutput() EnvironmentIamBindingConditionPtrOutput

func (EnvironmentIamBindingConditionPtrOutput) ToEnvironmentIamBindingConditionPtrOutputWithContext added in v6.5.0

func (o EnvironmentIamBindingConditionPtrOutput) ToEnvironmentIamBindingConditionPtrOutputWithContext(ctx context.Context) EnvironmentIamBindingConditionPtrOutput

type EnvironmentIamBindingInput added in v6.5.0

type EnvironmentIamBindingInput interface {
	pulumi.Input

	ToEnvironmentIamBindingOutput() EnvironmentIamBindingOutput
	ToEnvironmentIamBindingOutputWithContext(ctx context.Context) EnvironmentIamBindingOutput
}

type EnvironmentIamBindingMap added in v6.5.0

type EnvironmentIamBindingMap map[string]EnvironmentIamBindingInput

func (EnvironmentIamBindingMap) ElementType added in v6.5.0

func (EnvironmentIamBindingMap) ElementType() reflect.Type

func (EnvironmentIamBindingMap) ToEnvironmentIamBindingMapOutput added in v6.5.0

func (i EnvironmentIamBindingMap) ToEnvironmentIamBindingMapOutput() EnvironmentIamBindingMapOutput

func (EnvironmentIamBindingMap) ToEnvironmentIamBindingMapOutputWithContext added in v6.5.0

func (i EnvironmentIamBindingMap) ToEnvironmentIamBindingMapOutputWithContext(ctx context.Context) EnvironmentIamBindingMapOutput

type EnvironmentIamBindingMapInput added in v6.5.0

type EnvironmentIamBindingMapInput interface {
	pulumi.Input

	ToEnvironmentIamBindingMapOutput() EnvironmentIamBindingMapOutput
	ToEnvironmentIamBindingMapOutputWithContext(context.Context) EnvironmentIamBindingMapOutput
}

EnvironmentIamBindingMapInput is an input type that accepts EnvironmentIamBindingMap and EnvironmentIamBindingMapOutput values. You can construct a concrete instance of `EnvironmentIamBindingMapInput` via:

EnvironmentIamBindingMap{ "key": EnvironmentIamBindingArgs{...} }

type EnvironmentIamBindingMapOutput added in v6.5.0

type EnvironmentIamBindingMapOutput struct{ *pulumi.OutputState }

func (EnvironmentIamBindingMapOutput) ElementType added in v6.5.0

func (EnvironmentIamBindingMapOutput) MapIndex added in v6.5.0

func (EnvironmentIamBindingMapOutput) ToEnvironmentIamBindingMapOutput added in v6.5.0

func (o EnvironmentIamBindingMapOutput) ToEnvironmentIamBindingMapOutput() EnvironmentIamBindingMapOutput

func (EnvironmentIamBindingMapOutput) ToEnvironmentIamBindingMapOutputWithContext added in v6.5.0

func (o EnvironmentIamBindingMapOutput) ToEnvironmentIamBindingMapOutputWithContext(ctx context.Context) EnvironmentIamBindingMapOutput

type EnvironmentIamBindingOutput added in v6.5.0

type EnvironmentIamBindingOutput struct{ *pulumi.OutputState }

func (EnvironmentIamBindingOutput) ElementType added in v6.5.0

func (EnvironmentIamBindingOutput) ToEnvironmentIamBindingOutput added in v6.5.0

func (o EnvironmentIamBindingOutput) ToEnvironmentIamBindingOutput() EnvironmentIamBindingOutput

func (EnvironmentIamBindingOutput) ToEnvironmentIamBindingOutputWithContext added in v6.5.0

func (o EnvironmentIamBindingOutput) ToEnvironmentIamBindingOutputWithContext(ctx context.Context) EnvironmentIamBindingOutput

type EnvironmentIamBindingState added in v6.5.0

type EnvironmentIamBindingState struct {
	Condition EnvironmentIamBindingConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	EnvId pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag    pulumi.StringPtrInput
	Members pulumi.StringArrayInput
	OrgId   pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `apigee.EnvironmentIamBinding` 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 (EnvironmentIamBindingState) ElementType added in v6.5.0

func (EnvironmentIamBindingState) ElementType() reflect.Type

type EnvironmentIamMember added in v6.5.0

type EnvironmentIamMember struct {
	pulumi.CustomResourceState

	Condition EnvironmentIamMemberConditionPtrOutput `pulumi:"condition"`
	// Used to find the parent resource to bind the IAM policy to
	EnvId pulumi.StringOutput `pulumi:"envId"`
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringOutput `pulumi:"etag"`
	Member pulumi.StringOutput `pulumi:"member"`
	OrgId  pulumi.StringOutput `pulumi:"orgId"`
	// The role that should be applied. Only one
	// `apigee.EnvironmentIamBinding` 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 Apigee Environment. Each of these resources serves a different use case:

* `apigee.EnvironmentIamPolicy`: Authoritative. Sets the IAM policy for the environment and replaces any existing policy already attached. * `apigee.EnvironmentIamBinding`: 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 environment are preserved. * `apigee.EnvironmentIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the environment are preserved.

> **Note:** `apigee.EnvironmentIamPolicy` **cannot** be used in conjunction with `apigee.EnvironmentIamBinding` and `apigee.EnvironmentIamMember` or they will fight over what your policy should be.

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

## google\_apigee\_environment\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = apigee.NewEnvironmentIamPolicy(ctx, "policy", &apigee.EnvironmentIamPolicyArgs{
			OrgId:      pulumi.Any(google_apigee_environment.Apigee_environment.Org_id),
			EnvId:      pulumi.Any(google_apigee_environment.Apigee_environment.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_apigee\_environment\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigee.NewEnvironmentIamBinding(ctx, "binding", &apigee.EnvironmentIamBindingArgs{
			OrgId: pulumi.Any(google_apigee_environment.Apigee_environment.Org_id),
			EnvId: pulumi.Any(google_apigee_environment.Apigee_environment.Name),
			Role:  pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_apigee\_environment\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigee.NewEnvironmentIamMember(ctx, "member", &apigee.EnvironmentIamMemberArgs{
			OrgId:  pulumi.Any(google_apigee_environment.Apigee_environment.Org_id),
			EnvId:  pulumi.Any(google_apigee_environment.Apigee_environment.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* {{org_id}}/environments/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Apigee environment 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:apigee/environmentIamMember:EnvironmentIamMember editor "{{org_id}}/environments/{{environment}} 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:apigee/environmentIamMember:EnvironmentIamMember editor "{{org_id}}/environments/{{environment}} roles/viewer"

```

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

```sh

$ pulumi import gcp:apigee/environmentIamMember:EnvironmentIamMember editor {{org_id}}/environments/{{environment}}

```

-> **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 GetEnvironmentIamMember added in v6.5.0

func GetEnvironmentIamMember(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EnvironmentIamMemberState, opts ...pulumi.ResourceOption) (*EnvironmentIamMember, error)

GetEnvironmentIamMember gets an existing EnvironmentIamMember 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 NewEnvironmentIamMember added in v6.5.0

func NewEnvironmentIamMember(ctx *pulumi.Context,
	name string, args *EnvironmentIamMemberArgs, opts ...pulumi.ResourceOption) (*EnvironmentIamMember, error)

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

func (*EnvironmentIamMember) ElementType added in v6.5.0

func (*EnvironmentIamMember) ElementType() reflect.Type

func (*EnvironmentIamMember) ToEnvironmentIamMemberOutput added in v6.5.0

func (i *EnvironmentIamMember) ToEnvironmentIamMemberOutput() EnvironmentIamMemberOutput

func (*EnvironmentIamMember) ToEnvironmentIamMemberOutputWithContext added in v6.5.0

func (i *EnvironmentIamMember) ToEnvironmentIamMemberOutputWithContext(ctx context.Context) EnvironmentIamMemberOutput

type EnvironmentIamMemberArgs added in v6.5.0

type EnvironmentIamMemberArgs struct {
	Condition EnvironmentIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	EnvId  pulumi.StringInput
	Member pulumi.StringInput
	OrgId  pulumi.StringInput
	// The role that should be applied. Only one
	// `apigee.EnvironmentIamBinding` 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 EnvironmentIamMember resource.

func (EnvironmentIamMemberArgs) ElementType added in v6.5.0

func (EnvironmentIamMemberArgs) ElementType() reflect.Type

type EnvironmentIamMemberArray added in v6.5.0

type EnvironmentIamMemberArray []EnvironmentIamMemberInput

func (EnvironmentIamMemberArray) ElementType added in v6.5.0

func (EnvironmentIamMemberArray) ElementType() reflect.Type

func (EnvironmentIamMemberArray) ToEnvironmentIamMemberArrayOutput added in v6.5.0

func (i EnvironmentIamMemberArray) ToEnvironmentIamMemberArrayOutput() EnvironmentIamMemberArrayOutput

func (EnvironmentIamMemberArray) ToEnvironmentIamMemberArrayOutputWithContext added in v6.5.0

func (i EnvironmentIamMemberArray) ToEnvironmentIamMemberArrayOutputWithContext(ctx context.Context) EnvironmentIamMemberArrayOutput

type EnvironmentIamMemberArrayInput added in v6.5.0

type EnvironmentIamMemberArrayInput interface {
	pulumi.Input

	ToEnvironmentIamMemberArrayOutput() EnvironmentIamMemberArrayOutput
	ToEnvironmentIamMemberArrayOutputWithContext(context.Context) EnvironmentIamMemberArrayOutput
}

EnvironmentIamMemberArrayInput is an input type that accepts EnvironmentIamMemberArray and EnvironmentIamMemberArrayOutput values. You can construct a concrete instance of `EnvironmentIamMemberArrayInput` via:

EnvironmentIamMemberArray{ EnvironmentIamMemberArgs{...} }

type EnvironmentIamMemberArrayOutput added in v6.5.0

type EnvironmentIamMemberArrayOutput struct{ *pulumi.OutputState }

func (EnvironmentIamMemberArrayOutput) ElementType added in v6.5.0

func (EnvironmentIamMemberArrayOutput) Index added in v6.5.0

func (EnvironmentIamMemberArrayOutput) ToEnvironmentIamMemberArrayOutput added in v6.5.0

func (o EnvironmentIamMemberArrayOutput) ToEnvironmentIamMemberArrayOutput() EnvironmentIamMemberArrayOutput

func (EnvironmentIamMemberArrayOutput) ToEnvironmentIamMemberArrayOutputWithContext added in v6.5.0

func (o EnvironmentIamMemberArrayOutput) ToEnvironmentIamMemberArrayOutputWithContext(ctx context.Context) EnvironmentIamMemberArrayOutput

type EnvironmentIamMemberCondition added in v6.5.0

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

type EnvironmentIamMemberConditionArgs added in v6.5.0

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

func (EnvironmentIamMemberConditionArgs) ElementType added in v6.5.0

func (EnvironmentIamMemberConditionArgs) ToEnvironmentIamMemberConditionOutput added in v6.5.0

func (i EnvironmentIamMemberConditionArgs) ToEnvironmentIamMemberConditionOutput() EnvironmentIamMemberConditionOutput

func (EnvironmentIamMemberConditionArgs) ToEnvironmentIamMemberConditionOutputWithContext added in v6.5.0

func (i EnvironmentIamMemberConditionArgs) ToEnvironmentIamMemberConditionOutputWithContext(ctx context.Context) EnvironmentIamMemberConditionOutput

func (EnvironmentIamMemberConditionArgs) ToEnvironmentIamMemberConditionPtrOutput added in v6.5.0

func (i EnvironmentIamMemberConditionArgs) ToEnvironmentIamMemberConditionPtrOutput() EnvironmentIamMemberConditionPtrOutput

func (EnvironmentIamMemberConditionArgs) ToEnvironmentIamMemberConditionPtrOutputWithContext added in v6.5.0

func (i EnvironmentIamMemberConditionArgs) ToEnvironmentIamMemberConditionPtrOutputWithContext(ctx context.Context) EnvironmentIamMemberConditionPtrOutput

type EnvironmentIamMemberConditionInput added in v6.5.0

type EnvironmentIamMemberConditionInput interface {
	pulumi.Input

	ToEnvironmentIamMemberConditionOutput() EnvironmentIamMemberConditionOutput
	ToEnvironmentIamMemberConditionOutputWithContext(context.Context) EnvironmentIamMemberConditionOutput
}

EnvironmentIamMemberConditionInput is an input type that accepts EnvironmentIamMemberConditionArgs and EnvironmentIamMemberConditionOutput values. You can construct a concrete instance of `EnvironmentIamMemberConditionInput` via:

EnvironmentIamMemberConditionArgs{...}

type EnvironmentIamMemberConditionOutput added in v6.5.0

type EnvironmentIamMemberConditionOutput struct{ *pulumi.OutputState }

func (EnvironmentIamMemberConditionOutput) Description added in v6.5.0

func (EnvironmentIamMemberConditionOutput) ElementType added in v6.5.0

func (EnvironmentIamMemberConditionOutput) Expression added in v6.5.0

func (EnvironmentIamMemberConditionOutput) Title added in v6.5.0

func (EnvironmentIamMemberConditionOutput) ToEnvironmentIamMemberConditionOutput added in v6.5.0

func (o EnvironmentIamMemberConditionOutput) ToEnvironmentIamMemberConditionOutput() EnvironmentIamMemberConditionOutput

func (EnvironmentIamMemberConditionOutput) ToEnvironmentIamMemberConditionOutputWithContext added in v6.5.0

func (o EnvironmentIamMemberConditionOutput) ToEnvironmentIamMemberConditionOutputWithContext(ctx context.Context) EnvironmentIamMemberConditionOutput

func (EnvironmentIamMemberConditionOutput) ToEnvironmentIamMemberConditionPtrOutput added in v6.5.0

func (o EnvironmentIamMemberConditionOutput) ToEnvironmentIamMemberConditionPtrOutput() EnvironmentIamMemberConditionPtrOutput

func (EnvironmentIamMemberConditionOutput) ToEnvironmentIamMemberConditionPtrOutputWithContext added in v6.5.0

func (o EnvironmentIamMemberConditionOutput) ToEnvironmentIamMemberConditionPtrOutputWithContext(ctx context.Context) EnvironmentIamMemberConditionPtrOutput

type EnvironmentIamMemberConditionPtrInput added in v6.5.0

type EnvironmentIamMemberConditionPtrInput interface {
	pulumi.Input

	ToEnvironmentIamMemberConditionPtrOutput() EnvironmentIamMemberConditionPtrOutput
	ToEnvironmentIamMemberConditionPtrOutputWithContext(context.Context) EnvironmentIamMemberConditionPtrOutput
}

EnvironmentIamMemberConditionPtrInput is an input type that accepts EnvironmentIamMemberConditionArgs, EnvironmentIamMemberConditionPtr and EnvironmentIamMemberConditionPtrOutput values. You can construct a concrete instance of `EnvironmentIamMemberConditionPtrInput` via:

        EnvironmentIamMemberConditionArgs{...}

or:

        nil

type EnvironmentIamMemberConditionPtrOutput added in v6.5.0

type EnvironmentIamMemberConditionPtrOutput struct{ *pulumi.OutputState }

func (EnvironmentIamMemberConditionPtrOutput) Description added in v6.5.0

func (EnvironmentIamMemberConditionPtrOutput) Elem added in v6.5.0

func (EnvironmentIamMemberConditionPtrOutput) ElementType added in v6.5.0

func (EnvironmentIamMemberConditionPtrOutput) Expression added in v6.5.0

func (EnvironmentIamMemberConditionPtrOutput) Title added in v6.5.0

func (EnvironmentIamMemberConditionPtrOutput) ToEnvironmentIamMemberConditionPtrOutput added in v6.5.0

func (o EnvironmentIamMemberConditionPtrOutput) ToEnvironmentIamMemberConditionPtrOutput() EnvironmentIamMemberConditionPtrOutput

func (EnvironmentIamMemberConditionPtrOutput) ToEnvironmentIamMemberConditionPtrOutputWithContext added in v6.5.0

func (o EnvironmentIamMemberConditionPtrOutput) ToEnvironmentIamMemberConditionPtrOutputWithContext(ctx context.Context) EnvironmentIamMemberConditionPtrOutput

type EnvironmentIamMemberInput added in v6.5.0

type EnvironmentIamMemberInput interface {
	pulumi.Input

	ToEnvironmentIamMemberOutput() EnvironmentIamMemberOutput
	ToEnvironmentIamMemberOutputWithContext(ctx context.Context) EnvironmentIamMemberOutput
}

type EnvironmentIamMemberMap added in v6.5.0

type EnvironmentIamMemberMap map[string]EnvironmentIamMemberInput

func (EnvironmentIamMemberMap) ElementType added in v6.5.0

func (EnvironmentIamMemberMap) ElementType() reflect.Type

func (EnvironmentIamMemberMap) ToEnvironmentIamMemberMapOutput added in v6.5.0

func (i EnvironmentIamMemberMap) ToEnvironmentIamMemberMapOutput() EnvironmentIamMemberMapOutput

func (EnvironmentIamMemberMap) ToEnvironmentIamMemberMapOutputWithContext added in v6.5.0

func (i EnvironmentIamMemberMap) ToEnvironmentIamMemberMapOutputWithContext(ctx context.Context) EnvironmentIamMemberMapOutput

type EnvironmentIamMemberMapInput added in v6.5.0

type EnvironmentIamMemberMapInput interface {
	pulumi.Input

	ToEnvironmentIamMemberMapOutput() EnvironmentIamMemberMapOutput
	ToEnvironmentIamMemberMapOutputWithContext(context.Context) EnvironmentIamMemberMapOutput
}

EnvironmentIamMemberMapInput is an input type that accepts EnvironmentIamMemberMap and EnvironmentIamMemberMapOutput values. You can construct a concrete instance of `EnvironmentIamMemberMapInput` via:

EnvironmentIamMemberMap{ "key": EnvironmentIamMemberArgs{...} }

type EnvironmentIamMemberMapOutput added in v6.5.0

type EnvironmentIamMemberMapOutput struct{ *pulumi.OutputState }

func (EnvironmentIamMemberMapOutput) ElementType added in v6.5.0

func (EnvironmentIamMemberMapOutput) MapIndex added in v6.5.0

func (EnvironmentIamMemberMapOutput) ToEnvironmentIamMemberMapOutput added in v6.5.0

func (o EnvironmentIamMemberMapOutput) ToEnvironmentIamMemberMapOutput() EnvironmentIamMemberMapOutput

func (EnvironmentIamMemberMapOutput) ToEnvironmentIamMemberMapOutputWithContext added in v6.5.0

func (o EnvironmentIamMemberMapOutput) ToEnvironmentIamMemberMapOutputWithContext(ctx context.Context) EnvironmentIamMemberMapOutput

type EnvironmentIamMemberOutput added in v6.5.0

type EnvironmentIamMemberOutput struct{ *pulumi.OutputState }

func (EnvironmentIamMemberOutput) ElementType added in v6.5.0

func (EnvironmentIamMemberOutput) ElementType() reflect.Type

func (EnvironmentIamMemberOutput) ToEnvironmentIamMemberOutput added in v6.5.0

func (o EnvironmentIamMemberOutput) ToEnvironmentIamMemberOutput() EnvironmentIamMemberOutput

func (EnvironmentIamMemberOutput) ToEnvironmentIamMemberOutputWithContext added in v6.5.0

func (o EnvironmentIamMemberOutput) ToEnvironmentIamMemberOutputWithContext(ctx context.Context) EnvironmentIamMemberOutput

type EnvironmentIamMemberState added in v6.5.0

type EnvironmentIamMemberState struct {
	Condition EnvironmentIamMemberConditionPtrInput
	// Used to find the parent resource to bind the IAM policy to
	EnvId pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag   pulumi.StringPtrInput
	Member pulumi.StringPtrInput
	OrgId  pulumi.StringPtrInput
	// The role that should be applied. Only one
	// `apigee.EnvironmentIamBinding` 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 (EnvironmentIamMemberState) ElementType added in v6.5.0

func (EnvironmentIamMemberState) ElementType() reflect.Type

type EnvironmentIamPolicy added in v6.5.0

type EnvironmentIamPolicy struct {
	pulumi.CustomResourceState

	// Used to find the parent resource to bind the IAM policy to
	EnvId pulumi.StringOutput `pulumi:"envId"`
	// (Computed) The etag of the IAM policy.
	Etag  pulumi.StringOutput `pulumi:"etag"`
	OrgId pulumi.StringOutput `pulumi:"orgId"`
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringOutput `pulumi:"policyData"`
}

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

* `apigee.EnvironmentIamPolicy`: Authoritative. Sets the IAM policy for the environment and replaces any existing policy already attached. * `apigee.EnvironmentIamBinding`: 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 environment are preserved. * `apigee.EnvironmentIamMember`: Non-authoritative. Updates the IAM policy to grant a role to a new member. Other members for the role for the environment are preserved.

> **Note:** `apigee.EnvironmentIamPolicy` **cannot** be used in conjunction with `apigee.EnvironmentIamBinding` and `apigee.EnvironmentIamMember` or they will fight over what your policy should be.

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

## google\_apigee\_environment\_iam\_policy

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		admin, err := organizations.LookupIAMPolicy(ctx, &organizations.LookupIAMPolicyArgs{
			Bindings: []organizations.GetIAMPolicyBinding{
				organizations.GetIAMPolicyBinding{
					Role: "roles/viewer",
					Members: []string{
						"user:jane@example.com",
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		_, err = apigee.NewEnvironmentIamPolicy(ctx, "policy", &apigee.EnvironmentIamPolicyArgs{
			OrgId:      pulumi.Any(google_apigee_environment.Apigee_environment.Org_id),
			EnvId:      pulumi.Any(google_apigee_environment.Apigee_environment.Name),
			PolicyData: pulumi.String(admin.PolicyData),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_apigee\_environment\_iam\_binding

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigee.NewEnvironmentIamBinding(ctx, "binding", &apigee.EnvironmentIamBindingArgs{
			OrgId: pulumi.Any(google_apigee_environment.Apigee_environment.Org_id),
			EnvId: pulumi.Any(google_apigee_environment.Apigee_environment.Name),
			Role:  pulumi.String("roles/viewer"),
			Members: pulumi.StringArray{
				pulumi.String("user:jane@example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## google\_apigee\_environment\_iam\_member

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := apigee.NewEnvironmentIamMember(ctx, "member", &apigee.EnvironmentIamMemberArgs{
			OrgId:  pulumi.Any(google_apigee_environment.Apigee_environment.Org_id),
			EnvId:  pulumi.Any(google_apigee_environment.Apigee_environment.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* {{org_id}}/environments/{{name}} * {{name}} Any variables not passed in the import command will be taken from the provider configuration. Apigee environment 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:apigee/environmentIamPolicy:EnvironmentIamPolicy editor "{{org_id}}/environments/{{environment}} 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:apigee/environmentIamPolicy:EnvironmentIamPolicy editor "{{org_id}}/environments/{{environment}} roles/viewer"

```

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

```sh

$ pulumi import gcp:apigee/environmentIamPolicy:EnvironmentIamPolicy editor {{org_id}}/environments/{{environment}}

```

-> **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 GetEnvironmentIamPolicy added in v6.5.0

func GetEnvironmentIamPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *EnvironmentIamPolicyState, opts ...pulumi.ResourceOption) (*EnvironmentIamPolicy, error)

GetEnvironmentIamPolicy gets an existing EnvironmentIamPolicy 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 NewEnvironmentIamPolicy added in v6.5.0

func NewEnvironmentIamPolicy(ctx *pulumi.Context,
	name string, args *EnvironmentIamPolicyArgs, opts ...pulumi.ResourceOption) (*EnvironmentIamPolicy, error)

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

func (*EnvironmentIamPolicy) ElementType added in v6.5.0

func (*EnvironmentIamPolicy) ElementType() reflect.Type

func (*EnvironmentIamPolicy) ToEnvironmentIamPolicyOutput added in v6.5.0

func (i *EnvironmentIamPolicy) ToEnvironmentIamPolicyOutput() EnvironmentIamPolicyOutput

func (*EnvironmentIamPolicy) ToEnvironmentIamPolicyOutputWithContext added in v6.5.0

func (i *EnvironmentIamPolicy) ToEnvironmentIamPolicyOutputWithContext(ctx context.Context) EnvironmentIamPolicyOutput

type EnvironmentIamPolicyArgs added in v6.5.0

type EnvironmentIamPolicyArgs struct {
	// Used to find the parent resource to bind the IAM policy to
	EnvId pulumi.StringInput
	OrgId pulumi.StringInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringInput
}

The set of arguments for constructing a EnvironmentIamPolicy resource.

func (EnvironmentIamPolicyArgs) ElementType added in v6.5.0

func (EnvironmentIamPolicyArgs) ElementType() reflect.Type

type EnvironmentIamPolicyArray added in v6.5.0

type EnvironmentIamPolicyArray []EnvironmentIamPolicyInput

func (EnvironmentIamPolicyArray) ElementType added in v6.5.0

func (EnvironmentIamPolicyArray) ElementType() reflect.Type

func (EnvironmentIamPolicyArray) ToEnvironmentIamPolicyArrayOutput added in v6.5.0

func (i EnvironmentIamPolicyArray) ToEnvironmentIamPolicyArrayOutput() EnvironmentIamPolicyArrayOutput

func (EnvironmentIamPolicyArray) ToEnvironmentIamPolicyArrayOutputWithContext added in v6.5.0

func (i EnvironmentIamPolicyArray) ToEnvironmentIamPolicyArrayOutputWithContext(ctx context.Context) EnvironmentIamPolicyArrayOutput

type EnvironmentIamPolicyArrayInput added in v6.5.0

type EnvironmentIamPolicyArrayInput interface {
	pulumi.Input

	ToEnvironmentIamPolicyArrayOutput() EnvironmentIamPolicyArrayOutput
	ToEnvironmentIamPolicyArrayOutputWithContext(context.Context) EnvironmentIamPolicyArrayOutput
}

EnvironmentIamPolicyArrayInput is an input type that accepts EnvironmentIamPolicyArray and EnvironmentIamPolicyArrayOutput values. You can construct a concrete instance of `EnvironmentIamPolicyArrayInput` via:

EnvironmentIamPolicyArray{ EnvironmentIamPolicyArgs{...} }

type EnvironmentIamPolicyArrayOutput added in v6.5.0

type EnvironmentIamPolicyArrayOutput struct{ *pulumi.OutputState }

func (EnvironmentIamPolicyArrayOutput) ElementType added in v6.5.0

func (EnvironmentIamPolicyArrayOutput) Index added in v6.5.0

func (EnvironmentIamPolicyArrayOutput) ToEnvironmentIamPolicyArrayOutput added in v6.5.0

func (o EnvironmentIamPolicyArrayOutput) ToEnvironmentIamPolicyArrayOutput() EnvironmentIamPolicyArrayOutput

func (EnvironmentIamPolicyArrayOutput) ToEnvironmentIamPolicyArrayOutputWithContext added in v6.5.0

func (o EnvironmentIamPolicyArrayOutput) ToEnvironmentIamPolicyArrayOutputWithContext(ctx context.Context) EnvironmentIamPolicyArrayOutput

type EnvironmentIamPolicyInput added in v6.5.0

type EnvironmentIamPolicyInput interface {
	pulumi.Input

	ToEnvironmentIamPolicyOutput() EnvironmentIamPolicyOutput
	ToEnvironmentIamPolicyOutputWithContext(ctx context.Context) EnvironmentIamPolicyOutput
}

type EnvironmentIamPolicyMap added in v6.5.0

type EnvironmentIamPolicyMap map[string]EnvironmentIamPolicyInput

func (EnvironmentIamPolicyMap) ElementType added in v6.5.0

func (EnvironmentIamPolicyMap) ElementType() reflect.Type

func (EnvironmentIamPolicyMap) ToEnvironmentIamPolicyMapOutput added in v6.5.0

func (i EnvironmentIamPolicyMap) ToEnvironmentIamPolicyMapOutput() EnvironmentIamPolicyMapOutput

func (EnvironmentIamPolicyMap) ToEnvironmentIamPolicyMapOutputWithContext added in v6.5.0

func (i EnvironmentIamPolicyMap) ToEnvironmentIamPolicyMapOutputWithContext(ctx context.Context) EnvironmentIamPolicyMapOutput

type EnvironmentIamPolicyMapInput added in v6.5.0

type EnvironmentIamPolicyMapInput interface {
	pulumi.Input

	ToEnvironmentIamPolicyMapOutput() EnvironmentIamPolicyMapOutput
	ToEnvironmentIamPolicyMapOutputWithContext(context.Context) EnvironmentIamPolicyMapOutput
}

EnvironmentIamPolicyMapInput is an input type that accepts EnvironmentIamPolicyMap and EnvironmentIamPolicyMapOutput values. You can construct a concrete instance of `EnvironmentIamPolicyMapInput` via:

EnvironmentIamPolicyMap{ "key": EnvironmentIamPolicyArgs{...} }

type EnvironmentIamPolicyMapOutput added in v6.5.0

type EnvironmentIamPolicyMapOutput struct{ *pulumi.OutputState }

func (EnvironmentIamPolicyMapOutput) ElementType added in v6.5.0

func (EnvironmentIamPolicyMapOutput) MapIndex added in v6.5.0

func (EnvironmentIamPolicyMapOutput) ToEnvironmentIamPolicyMapOutput added in v6.5.0

func (o EnvironmentIamPolicyMapOutput) ToEnvironmentIamPolicyMapOutput() EnvironmentIamPolicyMapOutput

func (EnvironmentIamPolicyMapOutput) ToEnvironmentIamPolicyMapOutputWithContext added in v6.5.0

func (o EnvironmentIamPolicyMapOutput) ToEnvironmentIamPolicyMapOutputWithContext(ctx context.Context) EnvironmentIamPolicyMapOutput

type EnvironmentIamPolicyOutput added in v6.5.0

type EnvironmentIamPolicyOutput struct{ *pulumi.OutputState }

func (EnvironmentIamPolicyOutput) ElementType added in v6.5.0

func (EnvironmentIamPolicyOutput) ElementType() reflect.Type

func (EnvironmentIamPolicyOutput) ToEnvironmentIamPolicyOutput added in v6.5.0

func (o EnvironmentIamPolicyOutput) ToEnvironmentIamPolicyOutput() EnvironmentIamPolicyOutput

func (EnvironmentIamPolicyOutput) ToEnvironmentIamPolicyOutputWithContext added in v6.5.0

func (o EnvironmentIamPolicyOutput) ToEnvironmentIamPolicyOutputWithContext(ctx context.Context) EnvironmentIamPolicyOutput

type EnvironmentIamPolicyState added in v6.5.0

type EnvironmentIamPolicyState struct {
	// Used to find the parent resource to bind the IAM policy to
	EnvId pulumi.StringPtrInput
	// (Computed) The etag of the IAM policy.
	Etag  pulumi.StringPtrInput
	OrgId pulumi.StringPtrInput
	// The policy data generated by
	// a `organizations.getIAMPolicy` data source.
	PolicyData pulumi.StringPtrInput
}

func (EnvironmentIamPolicyState) ElementType added in v6.5.0

func (EnvironmentIamPolicyState) ElementType() reflect.Type

type EnvironmentInput

type EnvironmentInput interface {
	pulumi.Input

	ToEnvironmentOutput() EnvironmentOutput
	ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput
}

type EnvironmentMap

type EnvironmentMap map[string]EnvironmentInput

func (EnvironmentMap) ElementType

func (EnvironmentMap) ElementType() reflect.Type

func (EnvironmentMap) ToEnvironmentMapOutput

func (i EnvironmentMap) ToEnvironmentMapOutput() EnvironmentMapOutput

func (EnvironmentMap) ToEnvironmentMapOutputWithContext

func (i EnvironmentMap) ToEnvironmentMapOutputWithContext(ctx context.Context) EnvironmentMapOutput

type EnvironmentMapInput

type EnvironmentMapInput interface {
	pulumi.Input

	ToEnvironmentMapOutput() EnvironmentMapOutput
	ToEnvironmentMapOutputWithContext(context.Context) EnvironmentMapOutput
}

EnvironmentMapInput is an input type that accepts EnvironmentMap and EnvironmentMapOutput values. You can construct a concrete instance of `EnvironmentMapInput` via:

EnvironmentMap{ "key": EnvironmentArgs{...} }

type EnvironmentMapOutput

type EnvironmentMapOutput struct{ *pulumi.OutputState }

func (EnvironmentMapOutput) ElementType

func (EnvironmentMapOutput) ElementType() reflect.Type

func (EnvironmentMapOutput) MapIndex

func (EnvironmentMapOutput) ToEnvironmentMapOutput

func (o EnvironmentMapOutput) ToEnvironmentMapOutput() EnvironmentMapOutput

func (EnvironmentMapOutput) ToEnvironmentMapOutputWithContext

func (o EnvironmentMapOutput) ToEnvironmentMapOutputWithContext(ctx context.Context) EnvironmentMapOutput

type EnvironmentOutput

type EnvironmentOutput struct{ *pulumi.OutputState }

func (EnvironmentOutput) ElementType

func (EnvironmentOutput) ElementType() reflect.Type

func (EnvironmentOutput) ToEnvironmentOutput

func (o EnvironmentOutput) ToEnvironmentOutput() EnvironmentOutput

func (EnvironmentOutput) ToEnvironmentOutputWithContext

func (o EnvironmentOutput) ToEnvironmentOutputWithContext(ctx context.Context) EnvironmentOutput

type EnvironmentState

type EnvironmentState struct {
	// Description of the environment.
	Description pulumi.StringPtrInput
	// Display name of the environment.
	DisplayName pulumi.StringPtrInput
	// The resource ID of the environment.
	Name pulumi.StringPtrInput
	// The Apigee Organization associated with the Apigee environment,
	// in the format `organizations/{{org_name}}`.
	OrgId pulumi.StringPtrInput
}

func (EnvironmentState) ElementType

func (EnvironmentState) ElementType() reflect.Type

type Instance

type Instance struct {
	pulumi.CustomResourceState

	// Description of the instance.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only.
	// Use the following format: `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)`
	DiskEncryptionKeyName pulumi.StringPtrOutput `pulumi:"diskEncryptionKeyName"`
	// Display name of the instance.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// Output only. Hostname or IP address of the exposed Apigee endpoint used by clients to connect to the service.
	Host pulumi.StringOutput `pulumi:"host"`
	// IP range represents the customer-provided CIDR block of length 22 that will be used for
	// the Apigee instance creation. This optional range, if provided, should be freely
	// available as part of larger named range the customer has allocated to the Service
	// Networking peering. If this is not provided, Apigee will automatically request for any
	// available /22 CIDR block from Service Networking. The customer should use this CIDR block
	// for configuring their firewall needs to allow traffic from Apigee.
	// Input format: "a.b.c.d/22"
	IpRange pulumi.StringPtrOutput `pulumi:"ipRange"`
	// Compute Engine location where the instance resides. For trial organization
	// subscriptions, the location must be a Compute Engine zone. For paid organization
	// subscriptions, it should correspond to a Compute Engine region.
	Location pulumi.StringOutput `pulumi:"location"`
	// Resource ID of the instance.
	Name pulumi.StringOutput `pulumi:"name"`
	// The Apigee Organization associated with the Apigee instance,
	// in the format `organizations/{{org_name}}`.
	OrgId pulumi.StringOutput `pulumi:"orgId"`
	// The size of the CIDR block range that will be reserved by the instance. For valid values,
	// see [CidrRange](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.instances#CidrRange) on the documentation.
	PeeringCidrRange pulumi.StringOutput `pulumi:"peeringCidrRange"`
	// Output only. Port number of the exposed Apigee endpoint.
	Port pulumi.StringOutput `pulumi:"port"`
}

An `Instance` is the runtime dataplane in Apigee.

To get more information about Instance, see:

* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.instances/create) * How-to Guides

## Example Usage

## Import

Instance can be imported using any of these accepted formats

```sh

$ pulumi import gcp:apigee/instance:Instance default {{org_id}}/instances/{{name}}

```

```sh

$ pulumi import gcp:apigee/instance:Instance default {{org_id}}/{{name}}

```

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 {
	// Description of the instance.
	Description pulumi.StringPtrInput
	// Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only.
	// Use the following format: `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)`
	DiskEncryptionKeyName pulumi.StringPtrInput
	// Display name of the instance.
	DisplayName pulumi.StringPtrInput
	// IP range represents the customer-provided CIDR block of length 22 that will be used for
	// the Apigee instance creation. This optional range, if provided, should be freely
	// available as part of larger named range the customer has allocated to the Service
	// Networking peering. If this is not provided, Apigee will automatically request for any
	// available /22 CIDR block from Service Networking. The customer should use this CIDR block
	// for configuring their firewall needs to allow traffic from Apigee.
	// Input format: "a.b.c.d/22"
	IpRange pulumi.StringPtrInput
	// Compute Engine location where the instance resides. For trial organization
	// subscriptions, the location must be a Compute Engine zone. For paid organization
	// subscriptions, it should correspond to a Compute Engine region.
	Location pulumi.StringInput
	// Resource ID of the instance.
	Name pulumi.StringPtrInput
	// The Apigee Organization associated with the Apigee instance,
	// in the format `organizations/{{org_name}}`.
	OrgId pulumi.StringInput
	// The size of the CIDR block range that will be reserved by the instance. For valid values,
	// see [CidrRange](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.instances#CidrRange) on the documentation.
	PeeringCidrRange pulumi.StringPtrInput
}

The set of arguments for constructing a Instance resource.

func (InstanceArgs) ElementType

func (InstanceArgs) ElementType() reflect.Type

type InstanceArray

type InstanceArray []InstanceInput

func (InstanceArray) ElementType

func (InstanceArray) ElementType() reflect.Type

func (InstanceArray) ToInstanceArrayOutput

func (i InstanceArray) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArray) ToInstanceArrayOutputWithContext

func (i InstanceArray) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceArrayInput

type InstanceArrayInput interface {
	pulumi.Input

	ToInstanceArrayOutput() InstanceArrayOutput
	ToInstanceArrayOutputWithContext(context.Context) InstanceArrayOutput
}

InstanceArrayInput is an input type that accepts InstanceArray and InstanceArrayOutput values. You can construct a concrete instance of `InstanceArrayInput` via:

InstanceArray{ InstanceArgs{...} }

type InstanceArrayOutput

type InstanceArrayOutput struct{ *pulumi.OutputState }

func (InstanceArrayOutput) ElementType

func (InstanceArrayOutput) ElementType() reflect.Type

func (InstanceArrayOutput) Index

func (InstanceArrayOutput) ToInstanceArrayOutput

func (o InstanceArrayOutput) ToInstanceArrayOutput() InstanceArrayOutput

func (InstanceArrayOutput) ToInstanceArrayOutputWithContext

func (o InstanceArrayOutput) ToInstanceArrayOutputWithContext(ctx context.Context) InstanceArrayOutput

type InstanceAttachment

type InstanceAttachment struct {
	pulumi.CustomResourceState

	// The resource ID of the environment.
	Environment pulumi.StringOutput `pulumi:"environment"`
	// The Apigee instance associated with the Apigee environment,
	// in the format `organisations/{{org_name}}/instances/{{instance_name}}`.
	InstanceId pulumi.StringOutput `pulumi:"instanceId"`
	// The name of the newly created attachment (output parameter).
	Name pulumi.StringOutput `pulumi:"name"`
}

An `Instance attachment` in Apigee.

To get more information about InstanceAttachment, see:

* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.instances.attachments/create) * How-to Guides

## Example Usage

## Import

InstanceAttachment can be imported using any of these accepted formats

```sh

$ pulumi import gcp:apigee/instanceAttachment:InstanceAttachment default {{instance_id}}/attachments/{{name}}

```

```sh

$ pulumi import gcp:apigee/instanceAttachment:InstanceAttachment default {{instance_id}}/{{name}}

```

func GetInstanceAttachment

func GetInstanceAttachment(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *InstanceAttachmentState, opts ...pulumi.ResourceOption) (*InstanceAttachment, error)

GetInstanceAttachment gets an existing InstanceAttachment 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 NewInstanceAttachment

func NewInstanceAttachment(ctx *pulumi.Context,
	name string, args *InstanceAttachmentArgs, opts ...pulumi.ResourceOption) (*InstanceAttachment, error)

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

func (*InstanceAttachment) ElementType

func (*InstanceAttachment) ElementType() reflect.Type

func (*InstanceAttachment) ToInstanceAttachmentOutput

func (i *InstanceAttachment) ToInstanceAttachmentOutput() InstanceAttachmentOutput

func (*InstanceAttachment) ToInstanceAttachmentOutputWithContext

func (i *InstanceAttachment) ToInstanceAttachmentOutputWithContext(ctx context.Context) InstanceAttachmentOutput

type InstanceAttachmentArgs

type InstanceAttachmentArgs struct {
	// The resource ID of the environment.
	Environment pulumi.StringInput
	// The Apigee instance associated with the Apigee environment,
	// in the format `organisations/{{org_name}}/instances/{{instance_name}}`.
	InstanceId pulumi.StringInput
}

The set of arguments for constructing a InstanceAttachment resource.

func (InstanceAttachmentArgs) ElementType

func (InstanceAttachmentArgs) ElementType() reflect.Type

type InstanceAttachmentArray

type InstanceAttachmentArray []InstanceAttachmentInput

func (InstanceAttachmentArray) ElementType

func (InstanceAttachmentArray) ElementType() reflect.Type

func (InstanceAttachmentArray) ToInstanceAttachmentArrayOutput

func (i InstanceAttachmentArray) ToInstanceAttachmentArrayOutput() InstanceAttachmentArrayOutput

func (InstanceAttachmentArray) ToInstanceAttachmentArrayOutputWithContext

func (i InstanceAttachmentArray) ToInstanceAttachmentArrayOutputWithContext(ctx context.Context) InstanceAttachmentArrayOutput

type InstanceAttachmentArrayInput

type InstanceAttachmentArrayInput interface {
	pulumi.Input

	ToInstanceAttachmentArrayOutput() InstanceAttachmentArrayOutput
	ToInstanceAttachmentArrayOutputWithContext(context.Context) InstanceAttachmentArrayOutput
}

InstanceAttachmentArrayInput is an input type that accepts InstanceAttachmentArray and InstanceAttachmentArrayOutput values. You can construct a concrete instance of `InstanceAttachmentArrayInput` via:

InstanceAttachmentArray{ InstanceAttachmentArgs{...} }

type InstanceAttachmentArrayOutput

type InstanceAttachmentArrayOutput struct{ *pulumi.OutputState }

func (InstanceAttachmentArrayOutput) ElementType

func (InstanceAttachmentArrayOutput) Index

func (InstanceAttachmentArrayOutput) ToInstanceAttachmentArrayOutput

func (o InstanceAttachmentArrayOutput) ToInstanceAttachmentArrayOutput() InstanceAttachmentArrayOutput

func (InstanceAttachmentArrayOutput) ToInstanceAttachmentArrayOutputWithContext

func (o InstanceAttachmentArrayOutput) ToInstanceAttachmentArrayOutputWithContext(ctx context.Context) InstanceAttachmentArrayOutput

type InstanceAttachmentInput

type InstanceAttachmentInput interface {
	pulumi.Input

	ToInstanceAttachmentOutput() InstanceAttachmentOutput
	ToInstanceAttachmentOutputWithContext(ctx context.Context) InstanceAttachmentOutput
}

type InstanceAttachmentMap

type InstanceAttachmentMap map[string]InstanceAttachmentInput

func (InstanceAttachmentMap) ElementType

func (InstanceAttachmentMap) ElementType() reflect.Type

func (InstanceAttachmentMap) ToInstanceAttachmentMapOutput

func (i InstanceAttachmentMap) ToInstanceAttachmentMapOutput() InstanceAttachmentMapOutput

func (InstanceAttachmentMap) ToInstanceAttachmentMapOutputWithContext

func (i InstanceAttachmentMap) ToInstanceAttachmentMapOutputWithContext(ctx context.Context) InstanceAttachmentMapOutput

type InstanceAttachmentMapInput

type InstanceAttachmentMapInput interface {
	pulumi.Input

	ToInstanceAttachmentMapOutput() InstanceAttachmentMapOutput
	ToInstanceAttachmentMapOutputWithContext(context.Context) InstanceAttachmentMapOutput
}

InstanceAttachmentMapInput is an input type that accepts InstanceAttachmentMap and InstanceAttachmentMapOutput values. You can construct a concrete instance of `InstanceAttachmentMapInput` via:

InstanceAttachmentMap{ "key": InstanceAttachmentArgs{...} }

type InstanceAttachmentMapOutput

type InstanceAttachmentMapOutput struct{ *pulumi.OutputState }

func (InstanceAttachmentMapOutput) ElementType

func (InstanceAttachmentMapOutput) MapIndex

func (InstanceAttachmentMapOutput) ToInstanceAttachmentMapOutput

func (o InstanceAttachmentMapOutput) ToInstanceAttachmentMapOutput() InstanceAttachmentMapOutput

func (InstanceAttachmentMapOutput) ToInstanceAttachmentMapOutputWithContext

func (o InstanceAttachmentMapOutput) ToInstanceAttachmentMapOutputWithContext(ctx context.Context) InstanceAttachmentMapOutput

type InstanceAttachmentOutput

type InstanceAttachmentOutput struct{ *pulumi.OutputState }

func (InstanceAttachmentOutput) ElementType

func (InstanceAttachmentOutput) ElementType() reflect.Type

func (InstanceAttachmentOutput) ToInstanceAttachmentOutput

func (o InstanceAttachmentOutput) ToInstanceAttachmentOutput() InstanceAttachmentOutput

func (InstanceAttachmentOutput) ToInstanceAttachmentOutputWithContext

func (o InstanceAttachmentOutput) ToInstanceAttachmentOutputWithContext(ctx context.Context) InstanceAttachmentOutput

type InstanceAttachmentState

type InstanceAttachmentState struct {
	// The resource ID of the environment.
	Environment pulumi.StringPtrInput
	// The Apigee instance associated with the Apigee environment,
	// in the format `organisations/{{org_name}}/instances/{{instance_name}}`.
	InstanceId pulumi.StringPtrInput
	// The name of the newly created attachment (output parameter).
	Name pulumi.StringPtrInput
}

func (InstanceAttachmentState) ElementType

func (InstanceAttachmentState) ElementType() reflect.Type

type InstanceInput

type InstanceInput interface {
	pulumi.Input

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

type InstanceMap

type InstanceMap map[string]InstanceInput

func (InstanceMap) ElementType

func (InstanceMap) ElementType() reflect.Type

func (InstanceMap) ToInstanceMapOutput

func (i InstanceMap) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMap) ToInstanceMapOutputWithContext

func (i InstanceMap) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceMapInput

type InstanceMapInput interface {
	pulumi.Input

	ToInstanceMapOutput() InstanceMapOutput
	ToInstanceMapOutputWithContext(context.Context) InstanceMapOutput
}

InstanceMapInput is an input type that accepts InstanceMap and InstanceMapOutput values. You can construct a concrete instance of `InstanceMapInput` via:

InstanceMap{ "key": InstanceArgs{...} }

type InstanceMapOutput

type InstanceMapOutput struct{ *pulumi.OutputState }

func (InstanceMapOutput) ElementType

func (InstanceMapOutput) ElementType() reflect.Type

func (InstanceMapOutput) MapIndex

func (InstanceMapOutput) ToInstanceMapOutput

func (o InstanceMapOutput) ToInstanceMapOutput() InstanceMapOutput

func (InstanceMapOutput) ToInstanceMapOutputWithContext

func (o InstanceMapOutput) ToInstanceMapOutputWithContext(ctx context.Context) InstanceMapOutput

type InstanceOutput

type InstanceOutput struct{ *pulumi.OutputState }

func (InstanceOutput) ElementType

func (InstanceOutput) ElementType() reflect.Type

func (InstanceOutput) ToInstanceOutput

func (o InstanceOutput) ToInstanceOutput() InstanceOutput

func (InstanceOutput) ToInstanceOutputWithContext

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

type InstanceState

type InstanceState struct {
	// Description of the instance.
	Description pulumi.StringPtrInput
	// Customer Managed Encryption Key (CMEK) used for disk and volume encryption. Required for Apigee paid subscriptions only.
	// Use the following format: `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)`
	DiskEncryptionKeyName pulumi.StringPtrInput
	// Display name of the instance.
	DisplayName pulumi.StringPtrInput
	// Output only. Hostname or IP address of the exposed Apigee endpoint used by clients to connect to the service.
	Host pulumi.StringPtrInput
	// IP range represents the customer-provided CIDR block of length 22 that will be used for
	// the Apigee instance creation. This optional range, if provided, should be freely
	// available as part of larger named range the customer has allocated to the Service
	// Networking peering. If this is not provided, Apigee will automatically request for any
	// available /22 CIDR block from Service Networking. The customer should use this CIDR block
	// for configuring their firewall needs to allow traffic from Apigee.
	// Input format: "a.b.c.d/22"
	IpRange pulumi.StringPtrInput
	// Compute Engine location where the instance resides. For trial organization
	// subscriptions, the location must be a Compute Engine zone. For paid organization
	// subscriptions, it should correspond to a Compute Engine region.
	Location pulumi.StringPtrInput
	// Resource ID of the instance.
	Name pulumi.StringPtrInput
	// The Apigee Organization associated with the Apigee instance,
	// in the format `organizations/{{org_name}}`.
	OrgId pulumi.StringPtrInput
	// The size of the CIDR block range that will be reserved by the instance. For valid values,
	// see [CidrRange](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.instances#CidrRange) on the documentation.
	PeeringCidrRange pulumi.StringPtrInput
	// Output only. Port number of the exposed Apigee endpoint.
	Port pulumi.StringPtrInput
}

func (InstanceState) ElementType

func (InstanceState) ElementType() reflect.Type

type Organization

type Organization struct {
	pulumi.CustomResourceState

	// Primary GCP region for analytics data storage. For valid values, see [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org).
	AnalyticsRegion pulumi.StringPtrOutput `pulumi:"analyticsRegion"`
	// Compute Engine network used for Service Networking to be peered with Apigee runtime instances.
	// See [Getting started with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started).
	// Valid only when `RuntimeType` is set to CLOUD. The value can be updated only when there are no runtime instances. For example: "default".
	AuthorizedNetwork pulumi.StringPtrOutput `pulumi:"authorizedNetwork"`
	// Output only. Base64-encoded public certificate for the root CA of the Apigee organization. Valid only when 'RuntimeType'
	// is CLOUD. A base64-encoded string.
	CaCertificate pulumi.StringOutput `pulumi:"caCertificate"`
	// Description of the Apigee organization.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The display name of the Apigee organization.
	DisplayName pulumi.StringPtrOutput `pulumi:"displayName"`
	// Output only. Name of the Apigee organization.
	Name pulumi.StringOutput `pulumi:"name"`
	// The project ID associated with the Apigee organization.
	ProjectId pulumi.StringOutput `pulumi:"projectId"`
	// Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances.
	// Update is not allowed after the organization is created.
	// If not specified, a Google-Managed encryption key will be used.
	// Valid only when `RuntimeType` is CLOUD. For example: `projects/foo/locations/us/keyRings/bar/cryptoKeys/baz`.
	RuntimeDatabaseEncryptionKeyName pulumi.StringPtrOutput `pulumi:"runtimeDatabaseEncryptionKeyName"`
	// Runtime type of the Apigee organization based on the Apigee subscription purchased.
	// Default value is `CLOUD`.
	// Possible values are `CLOUD` and `HYBRID`.
	RuntimeType pulumi.StringPtrOutput `pulumi:"runtimeType"`
	// Output only. Subscription type of the Apigee organization. Valid values include trial (free, limited, and for evaluation
	// purposes only) or paid (full subscription has been purchased).
	SubscriptionType pulumi.StringOutput `pulumi:"subscriptionType"`
}

An `Organization` is the top-level container in Apigee.

To get more information about Organization, see:

* [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations) * How-to Guides

## Example Usage ### Apigee Organization Cloud Basic

```go package main

import (

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/apigee"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/servicenetworking"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := organizations.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		apigeeNetwork, err := compute.NewNetwork(ctx, "apigeeNetwork", nil)
		if err != nil {
			return err
		}
		apigeeRange, err := compute.NewGlobalAddress(ctx, "apigeeRange", &compute.GlobalAddressArgs{
			Purpose:      pulumi.String("VPC_PEERING"),
			AddressType:  pulumi.String("INTERNAL"),
			PrefixLength: pulumi.Int(16),
			Network:      apigeeNetwork.ID(),
		})
		if err != nil {
			return err
		}
		apigeeVpcConnection, err := servicenetworking.NewConnection(ctx, "apigeeVpcConnection", &servicenetworking.ConnectionArgs{
			Network: apigeeNetwork.ID(),
			Service: pulumi.String("servicenetworking.googleapis.com"),
			ReservedPeeringRanges: pulumi.StringArray{
				apigeeRange.Name,
			},
		})
		if err != nil {
			return err
		}
		_, err = apigee.NewOrganization(ctx, "org", &apigee.OrganizationArgs{
			AnalyticsRegion:   pulumi.String("us-central1"),
			ProjectId:         pulumi.String(current.Project),
			AuthorizedNetwork: apigeeNetwork.ID(),
		}, pulumi.DependsOn([]pulumi.Resource{
			apigeeVpcConnection,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

``` ### Apigee Organization Cloud Full

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/apigee"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/kms"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/organizations"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/projects"
"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/servicenetworking"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := organizations.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		apigeeNetwork, err := compute.NewNetwork(ctx, "apigeeNetwork", nil)
		if err != nil {
			return err
		}
		apigeeRange, err := compute.NewGlobalAddress(ctx, "apigeeRange", &compute.GlobalAddressArgs{
			Purpose:      pulumi.String("VPC_PEERING"),
			AddressType:  pulumi.String("INTERNAL"),
			PrefixLength: pulumi.Int(16),
			Network:      apigeeNetwork.ID(),
		})
		if err != nil {
			return err
		}
		apigeeVpcConnection, err := servicenetworking.NewConnection(ctx, "apigeeVpcConnection", &servicenetworking.ConnectionArgs{
			Network: apigeeNetwork.ID(),
			Service: pulumi.String("servicenetworking.googleapis.com"),
			ReservedPeeringRanges: pulumi.StringArray{
				apigeeRange.Name,
			},
		})
		if err != nil {
			return err
		}
		apigeeKeyring, err := kms.NewKeyRing(ctx, "apigeeKeyring", &kms.KeyRingArgs{
			Location: pulumi.String("us-central1"),
		})
		if err != nil {
			return err
		}
		apigeeKey, err := kms.NewCryptoKey(ctx, "apigeeKey", &kms.CryptoKeyArgs{
			KeyRing: apigeeKeyring.ID(),
		})
		if err != nil {
			return err
		}
		apigeeSa, err := projects.NewServiceIdentity(ctx, "apigeeSa", &projects.ServiceIdentityArgs{
			Project: pulumi.Any(google_project.Project.Project_id),
			Service: pulumi.Any(google_project_service.Apigee.Service),
		}, pulumi.Provider(google_beta))
		if err != nil {
			return err
		}
		apigeeSaKeyuser, err := kms.NewCryptoKeyIAMBinding(ctx, "apigeeSaKeyuser", &kms.CryptoKeyIAMBindingArgs{
			CryptoKeyId: apigeeKey.ID(),
			Role:        pulumi.String("roles/cloudkms.cryptoKeyEncrypterDecrypter"),
			Members: pulumi.StringArray{
				apigeeSa.Email.ApplyT(func(email string) (string, error) {
					return fmt.Sprintf("%v%v", "serviceAccount:", email), nil
				}).(pulumi.StringOutput),
			},
		})
		if err != nil {
			return err
		}
		_, err = apigee.NewOrganization(ctx, "org", &apigee.OrganizationArgs{
			AnalyticsRegion:                  pulumi.String("us-central1"),
			DisplayName:                      pulumi.String("apigee-org"),
			Description:                      pulumi.String("Auto-provisioned Apigee Org."),
			ProjectId:                        pulumi.String(current.Project),
			AuthorizedNetwork:                apigeeNetwork.ID(),
			RuntimeDatabaseEncryptionKeyName: apigeeKey.ID(),
		}, pulumi.DependsOn([]pulumi.Resource{
			apigeeVpcConnection,
			apigeeSaKeyuser,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Organization can be imported using any of these accepted formats

```sh

$ pulumi import gcp:apigee/organization:Organization default organizations/{{name}}

```

```sh

$ pulumi import gcp:apigee/organization:Organization default {{name}}

```

func GetOrganization

func GetOrganization(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *OrganizationState, opts ...pulumi.ResourceOption) (*Organization, error)

GetOrganization gets an existing Organization 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 NewOrganization

func NewOrganization(ctx *pulumi.Context,
	name string, args *OrganizationArgs, opts ...pulumi.ResourceOption) (*Organization, error)

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

func (*Organization) ElementType

func (*Organization) ElementType() reflect.Type

func (*Organization) ToOrganizationOutput

func (i *Organization) ToOrganizationOutput() OrganizationOutput

func (*Organization) ToOrganizationOutputWithContext

func (i *Organization) ToOrganizationOutputWithContext(ctx context.Context) OrganizationOutput

type OrganizationArgs

type OrganizationArgs struct {
	// Primary GCP region for analytics data storage. For valid values, see [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org).
	AnalyticsRegion pulumi.StringPtrInput
	// Compute Engine network used for Service Networking to be peered with Apigee runtime instances.
	// See [Getting started with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started).
	// Valid only when `RuntimeType` is set to CLOUD. The value can be updated only when there are no runtime instances. For example: "default".
	AuthorizedNetwork pulumi.StringPtrInput
	// Description of the Apigee organization.
	Description pulumi.StringPtrInput
	// The display name of the Apigee organization.
	DisplayName pulumi.StringPtrInput
	// The project ID associated with the Apigee organization.
	ProjectId pulumi.StringInput
	// Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances.
	// Update is not allowed after the organization is created.
	// If not specified, a Google-Managed encryption key will be used.
	// Valid only when `RuntimeType` is CLOUD. For example: `projects/foo/locations/us/keyRings/bar/cryptoKeys/baz`.
	RuntimeDatabaseEncryptionKeyName pulumi.StringPtrInput
	// Runtime type of the Apigee organization based on the Apigee subscription purchased.
	// Default value is `CLOUD`.
	// Possible values are `CLOUD` and `HYBRID`.
	RuntimeType pulumi.StringPtrInput
}

The set of arguments for constructing a Organization resource.

func (OrganizationArgs) ElementType

func (OrganizationArgs) ElementType() reflect.Type

type OrganizationArray

type OrganizationArray []OrganizationInput

func (OrganizationArray) ElementType

func (OrganizationArray) ElementType() reflect.Type

func (OrganizationArray) ToOrganizationArrayOutput

func (i OrganizationArray) ToOrganizationArrayOutput() OrganizationArrayOutput

func (OrganizationArray) ToOrganizationArrayOutputWithContext

func (i OrganizationArray) ToOrganizationArrayOutputWithContext(ctx context.Context) OrganizationArrayOutput

type OrganizationArrayInput

type OrganizationArrayInput interface {
	pulumi.Input

	ToOrganizationArrayOutput() OrganizationArrayOutput
	ToOrganizationArrayOutputWithContext(context.Context) OrganizationArrayOutput
}

OrganizationArrayInput is an input type that accepts OrganizationArray and OrganizationArrayOutput values. You can construct a concrete instance of `OrganizationArrayInput` via:

OrganizationArray{ OrganizationArgs{...} }

type OrganizationArrayOutput

type OrganizationArrayOutput struct{ *pulumi.OutputState }

func (OrganizationArrayOutput) ElementType

func (OrganizationArrayOutput) ElementType() reflect.Type

func (OrganizationArrayOutput) Index

func (OrganizationArrayOutput) ToOrganizationArrayOutput

func (o OrganizationArrayOutput) ToOrganizationArrayOutput() OrganizationArrayOutput

func (OrganizationArrayOutput) ToOrganizationArrayOutputWithContext

func (o OrganizationArrayOutput) ToOrganizationArrayOutputWithContext(ctx context.Context) OrganizationArrayOutput

type OrganizationInput

type OrganizationInput interface {
	pulumi.Input

	ToOrganizationOutput() OrganizationOutput
	ToOrganizationOutputWithContext(ctx context.Context) OrganizationOutput
}

type OrganizationMap

type OrganizationMap map[string]OrganizationInput

func (OrganizationMap) ElementType

func (OrganizationMap) ElementType() reflect.Type

func (OrganizationMap) ToOrganizationMapOutput

func (i OrganizationMap) ToOrganizationMapOutput() OrganizationMapOutput

func (OrganizationMap) ToOrganizationMapOutputWithContext

func (i OrganizationMap) ToOrganizationMapOutputWithContext(ctx context.Context) OrganizationMapOutput

type OrganizationMapInput

type OrganizationMapInput interface {
	pulumi.Input

	ToOrganizationMapOutput() OrganizationMapOutput
	ToOrganizationMapOutputWithContext(context.Context) OrganizationMapOutput
}

OrganizationMapInput is an input type that accepts OrganizationMap and OrganizationMapOutput values. You can construct a concrete instance of `OrganizationMapInput` via:

OrganizationMap{ "key": OrganizationArgs{...} }

type OrganizationMapOutput

type OrganizationMapOutput struct{ *pulumi.OutputState }

func (OrganizationMapOutput) ElementType

func (OrganizationMapOutput) ElementType() reflect.Type

func (OrganizationMapOutput) MapIndex

func (OrganizationMapOutput) ToOrganizationMapOutput

func (o OrganizationMapOutput) ToOrganizationMapOutput() OrganizationMapOutput

func (OrganizationMapOutput) ToOrganizationMapOutputWithContext

func (o OrganizationMapOutput) ToOrganizationMapOutputWithContext(ctx context.Context) OrganizationMapOutput

type OrganizationOutput

type OrganizationOutput struct{ *pulumi.OutputState }

func (OrganizationOutput) ElementType

func (OrganizationOutput) ElementType() reflect.Type

func (OrganizationOutput) ToOrganizationOutput

func (o OrganizationOutput) ToOrganizationOutput() OrganizationOutput

func (OrganizationOutput) ToOrganizationOutputWithContext

func (o OrganizationOutput) ToOrganizationOutputWithContext(ctx context.Context) OrganizationOutput

type OrganizationState

type OrganizationState struct {
	// Primary GCP region for analytics data storage. For valid values, see [Create an Apigee organization](https://cloud.google.com/apigee/docs/api-platform/get-started/create-org).
	AnalyticsRegion pulumi.StringPtrInput
	// Compute Engine network used for Service Networking to be peered with Apigee runtime instances.
	// See [Getting started with the Service Networking API](https://cloud.google.com/service-infrastructure/docs/service-networking/getting-started).
	// Valid only when `RuntimeType` is set to CLOUD. The value can be updated only when there are no runtime instances. For example: "default".
	AuthorizedNetwork pulumi.StringPtrInput
	// Output only. Base64-encoded public certificate for the root CA of the Apigee organization. Valid only when 'RuntimeType'
	// is CLOUD. A base64-encoded string.
	CaCertificate pulumi.StringPtrInput
	// Description of the Apigee organization.
	Description pulumi.StringPtrInput
	// The display name of the Apigee organization.
	DisplayName pulumi.StringPtrInput
	// Output only. Name of the Apigee organization.
	Name pulumi.StringPtrInput
	// The project ID associated with the Apigee organization.
	ProjectId pulumi.StringPtrInput
	// Cloud KMS key name used for encrypting the data that is stored and replicated across runtime instances.
	// Update is not allowed after the organization is created.
	// If not specified, a Google-Managed encryption key will be used.
	// Valid only when `RuntimeType` is CLOUD. For example: `projects/foo/locations/us/keyRings/bar/cryptoKeys/baz`.
	RuntimeDatabaseEncryptionKeyName pulumi.StringPtrInput
	// Runtime type of the Apigee organization based on the Apigee subscription purchased.
	// Default value is `CLOUD`.
	// Possible values are `CLOUD` and `HYBRID`.
	RuntimeType pulumi.StringPtrInput
	// Output only. Subscription type of the Apigee organization. Valid values include trial (free, limited, and for evaluation
	// purposes only) or paid (full subscription has been purchased).
	SubscriptionType pulumi.StringPtrInput
}

func (OrganizationState) ElementType

func (OrganizationState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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